Transit Gateway Network Manager 的身份和访问管理 - Amazon Virtual Private Cloud
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

Transit Gateway Network Manager 的身份和访问管理

AWS Identity and Access Management (IAM) 是一个 AWS 服务,可以帮助管理员安全地控制对 AWS 资源的访问。IAM 管理员控制谁可以通过身份验证(已登录)和授权(具有权限)以使用 Transit Gateway Network Manager (Network Manager) 资源。IAM 是一个可以免费使用的 AWS 服务。利用 IAM 的功能,可在不共享您的安全凭证的情况下允许其他用户、服务和应用程序完全使用或受限使用您的 AWS 资源。

默认情况下,IAM 用户没有创建、查看或修改 AWS 资源的权限。要允许 IAM 用户访问资源(例如全球网络)并执行任务,您必须:

  • 创建授予 IAM 用户使用所需特定资源和 API 操作的权限的 IAM 策略

  • 将策略附加到 IAM 用户或 IAM 用户所属的组

在将策略附加到一个用户或一组用户时,它会授权或拒绝用户对指定资源执行指定任务。

Network Manager 如何使用 IAM

通过使用 IAM 基于身份的策略,您可以指定允许或拒绝的操作和资源,以及指定允许或拒绝操作的条件。Network Manager 支持特定的操作、资源和条件键。有关完整列表,请参阅 IAM 用户指南 中的 Network Manager 的操作、资源和条件键

要了解在 JSON 策略中使用的所有元素,请参阅 IAM 用户指南 中的 IAM JSON 策略元素参考

操作

Network Manager 中的策略操作在此操作之前使用以下前缀:networkmanager:。例如,要授予某人使用 CreateGlobalNetwork API 操作创建全球网络的权限,您应将 networkmanager:CreateGlobalNetwork 操作纳入其策略中。

有关 Network Manager 操作的列表,请参阅 Network Manager API 参考

资源

Resource 元素指定要向其应用操作的对象。语句必须包含 Resource 或 NotResource 元素。您可使用 ARN 来指定资源,或使用通配符 (*) 以指明该语句适用于所有资源。

全球网络资源具有以下 ARN。

arn:${Partition}:networkmanager::${Account}:global-network/${GlobalNetworkId}

例如,要在语句中指定 global-network-1122334455aabbccd 全局网络,请使用以下 ARN。

"Resource": "arn:aws:networkmanager::123456789012:global-network/global-network-1122334455aabbccd"

有关 ARN 的格式的更多信息,请参阅 Amazon 资源名称 (ARN) 和 AWS 服务命名空间

条件键

Condition 元素(或 Condition )中,可以指定语句生效的条件。Condition 元素是可选的。您可以构建使用条件运算符(例如,等于或小于)的条件表达式,以使策略中的条件与请求中的值相匹配。

如果在语句中指定多个 Condition 元素,或者在单个 Condition 元素中指定多个键,则 AWS 使用逻辑 AND 运算计算它们的值。如果为单个条件键指定多个值,则 AWS 使用逻辑 OR 运算计算条件的值。在授予语句的权限之前必须满足所有的条件。

在指定条件时,您也可以使用占位符变量。例如,只有在使用 IAM 用户名标记 IAM 用户时,您才能为其授予访问资源的权限。有关更多信息,请参阅 IAM 用户指南 中的 IAM 策略元素:变量和标签

您可以将标签附加到 Network Manager 资源,也可以将请求中的标签传递给 Network Manager。要基于标签控制访问,您需要使用 aws:ResourceTag/key-nameaws:RequestTag/key-nameaws:TagKeys 条件键在策略的条件元素中提供标签信息。

要查看所有 AWS 全局条件键,请参阅 IAM 用户指南 中的 AWS 全局条件上下文键

Network Manager 还支持以下条件键:

  • networkmanager:tgwArn — 控制可在全球网络中注册或取消注册哪些中转网关。

  • networkmanager:cgwArn — 控制哪些客户网关可与全球网络中的设备和链路关联或取消关联。

管理 Transit Gateway Network Manager 的策略示例

以下是用于使用 Network Manager 的示例 IAM 策略。

管理员访问权限

以下 IAM 策略授予对 Amazon EC2、Network Manager、AWS Direct Connect 和 CloudWatch API 的完全访问权限。这使管理员能够创建和管理中转网关及其挂载(例如 VPC 和 AWS Direct Connect 网关)、创建和管理 Network Manager 资源以及使用 CloudWatch 指标和事件监控全球网络。此策略还授予用户创建任何所需的服务相关角色的权限。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "ec2:*", "Resource": "*" }, { "Effect": "Allow", "Action": "networkmanager:*", "Resource": "*" }, { "Effect": "Allow", "Action": "cloudwatch:*", "Resource": "*" }, { "Effect": "Allow", "Action": "events:*", "Resource": "*" }, { "Effect": "Allow", "Action": "directconnect:*", "Resource": "*" }, { "Effect": "Allow", "Action": "iam:CreateServiceLinkedRole", "Resource": "arn:aws:iam::*:role/aws-service-role/*" } ] }

只读访问权限

以下 IAM 策略授予对 Amazon EC2、Network Manager、AWS Direct Connect、CloudWatch 和 CloudWatch Events API 的只读访问权限。这使用户能够使用 Network Manager 控制台查看和监控全球网络及其关联资源,以及查看资源的指标和事件。用户无法创建或修改任何资源。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ec2:Get*", "ec2:Describe*" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "networkmanager:Get*", "networkmanager:Describe*" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "cloudwatch:List*", "cloudwatch:Get*", "cloudwatch:Describe*" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "logs:Describe*", "logs:Get*", "logs:List*", "logs:StartQuery", "logs:StopQuery", "logs:TestMetricFilter", "logs:FilterLogEvents" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "events:List*", "events:TestEventPattern", "events:Describe*" ], "Resource": "*" }, { "Effect": "Allow", "Action": "directconnect:Describe*", "Resource": "*" } ] }

控制对中转网关和客户网关的使用

以下 IAM 策略允许用户使用 Network Manager 资源,但明确拒绝他们执行以下操作的权限:

  • 在全球网络中注册或取消注册特定中转网关 (tgw-aabbccdd112233445)。

  • 在全球网络中关联或取消关联特定客户网关 (cgw-11223344556677abc)。

该策略使用 networkmanager:tgwArnnetworkmanager:cgwArn 条件键强制执行这些条件。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "networkmanager:*" ], "Resource": [ "*" ] }, { "Effect": "Deny", "Action": [ "networkmanager:RegisterTransitGateway", "networkmanager:DeregisterTransitGateway" ], "Resource": [ "*" ], "Condition": { "StringEquals": { "networkmanager:tgwArn": "arn:aws:ec2:<region>:<account-id>:transit-gateway/tgw-aabbccdd112233445" } } }, { "Effect": "Deny", "Action": [ "networkmanager:AssociateCustomerGateway", "networkmanager:DisassociateCustomerGateway" ], "Resource": [ "*" ], "Condition": { "StringEquals": { "networkmanager:cgwArn": "arn:aws:ec2:<region>:<account-id>:customer-gateway/cgw-11223344556677abc" } } } ] }