适用于 VPC 对等连接的 Identity and Access Management - Amazon Virtual Private Cloud
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

适用于 VPC 对等连接的 Identity and Access Management

默认情况下, 用户无法创建或修改 VPC 对等连接。要授予对 VPC 对等连接资源的访问权限,请将 IAM policy 附加到角等 IAM 身份。

有关 Amazon VPC 操作以及每个操作支持的资源和条件键的列表,请参阅《服务授权参考》中的 Amazon EC2 的操作、资源和条件键

示例:创建 VPC 对等连接

以下策略授予用户权限以使用标记有 Purpose=Peering 的 VPC 来创建 VPC 对等连接请求。第一条语句对 VPC 资源应用条件键 (ec2:ResourceTag)。请注意,CreateVpcPeeringConnection 操作的 VPC 资源始终为请求者 VPC。

第二条语句授予用户权限以创建 VPC 对等连接资源,因此使用 * 通配符代替特定资源 ID。

{ "Version": "2012-10-17", "Statement":[ { "Effect":"Allow", "Action": "ec2:CreateVpcPeeringConnection", "Resource": "arn:aws:ec2:region:account-id:vpc/*", "Condition": { "StringEquals": { "ec2:ResourceTag/Purpose": "Peering" } } }, { "Effect": "Allow", "Action": "ec2:CreateVpcPeeringConnection", "Resource": "arn:aws:ec2:region:account-id:vpc-peering-connection/*" } ] }

以下策略授予特定 Amazon 账户中的用户权限,以使用指定区域中的任何 VPC 创建 VPC 对等连接,但是仅当接受对等连接的 VPC 是特定账户中的特定 VPC 时。

{ "Version": "2012-10-17", "Statement": [ { "Effect":"Allow", "Action": "ec2:CreateVpcPeeringConnection", "Resource": "arn:aws:ec2:region:account-id-1:vpc/*" }, { "Effect": "Allow", "Action": "ec2:CreateVpcPeeringConnection", "Resource": "arn:aws:ec2:region:account-id-1:vpc-peering-connection/*", "Condition": { "ArnEquals": { "ec2:AccepterVpc": "arn:aws:ec2:region:account-id-2:vpc/vpc-id" } } } ] }

示例:接受 VPC 对等连接

以下策略授予用户权限,以接受来自特定 Amazon 账户的 VPC 对等连接请求。这样有助于防止用户接受来自未知账户的 VPC 对等连接请求。语句使用 ec2:RequesterVpc 条件键强制实施此策略。

{ "Version": "2012-10-17", "Statement":[ { "Effect":"Allow", "Action": "ec2:AcceptVpcPeeringConnection", "Resource": "arn:aws:ec2:region:account-id-1:vpc-peering-connection/*", "Condition": { "ArnEquals": { "ec2:RequesterVpc": "arn:aws:ec2:region:account-id-2:vpc/*" } } } ] }

以下策略授予用户权限,以便在仅当 VPC 具有标签 Purpose=Peering 时才接受 VPC 对等请求。

{ "Version": "2012-10-17", "Statement":[ { "Effect": "Allow", "Action": "ec2:AcceptVpcPeeringConnection", "Resource": "arn:aws:ec2:region:account-id:vpc/*", "Condition": { "StringEquals": { "ec2:ResourceTag/Purpose": "Peering" } } } ] }

示例:删除 VPC 对等连接

以下策略授予特定账户中的用户权限以删除任何 VPC 对等连接,使用指定 VPC (处于同一账户中)的连接除外。该策略同时指定 ec2:AccepterVpcec2:RequesterVpc 条件密钥,因为 VPC 可能是原始 VPC 对等连接请求中的请求者 VPC 或对等方 VPC。

{ "Version": "2012-10-17", "Statement": [ { "Effect":"Allow", "Action": "ec2:DeleteVpcPeeringConnection", "Resource": "arn:aws:ec2:region:account-id:vpc-peering-connection/*", "Condition": { "ArnNotEquals": { "ec2:AccepterVpc": "arn:aws:ec2:region:account-id:vpc/vpc-id", "ec2:RequesterVpc": "arn:aws:ec2:region:account-id:vpc/vpc-id" } } } ] }

示例:在特定账户中工作

以下策略授予用户权限以在特定账户中处理 VPC 对等连接。用户可以查看、创建、接受、拒绝和删除 VPC 对等连接,前提是他们都处于相同的 Amazon 账户中。

第一条语句授予用户权限以查看所有 VPC 对等连接。在这种情况下,Resource 元素需要 * 通配符,因为此 API 操作 (DescribeVpcPeeringConnections) 当前不支持资源级权限。

第二条语句授予用户权限以创建 VPC 对等连接,并访问特定账户中的所有 VPC 以便执行此操作。

第三条语句使用 * 通配符作为 Action 元素的一部分,以便为所有 VPC 对等连接操作授予权限。条件密钥确保只能对与属于账户的 VPC 建立的 VPC 对等连接执行操作。例如,如果接受者或请求者 VPC 属于不同账户,则用户无法删除 VPC 对等连接。用户无法与属于不同账户的 VPC 建立 VPC 对等连接。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "ec2:DescribeVpcPeeringConnections", "Resource": "*" }, { "Effect": "Allow", "Action": ["ec2:CreateVpcPeeringConnection","ec2:AcceptVpcPeeringConnection"], "Resource": "arn:aws:ec2:*:account-id:vpc/*" }, { "Effect": "Allow", "Action": "ec2:*VpcPeeringConnection", "Resource": "arn:aws:ec2:*:account-id:vpc-peering-connection/*", "Condition": { "ArnEquals": { "ec2:AccepterVpc": "arn:aws:ec2:*:account-id:vpc/*", "ec2:RequesterVpc": "arn:aws:ec2:*:account-id:vpc/*" } } } ] }

示例:使用控制台管理 VPC 对等连接

要在 Amazon VPC 控制台中查看 VPC 对等连接,用户必须拥有使用 ec2:DescribeVpcPeeringConnections 操作的权限。要使用创建对等连接页面,用户必须拥有使用 ec2:DescribeVpcs 操作的权限。这可授予其权限以查看和选择 VPC。您可以将资源级权限应用于所有 ec2:*PeeringConnection 权限 (ec2:DescribeVpcPeeringConnections 除外)。

以下策略授予用户权限以查看 VPC 对等连接,并使用 Create VPC Peering Connection(创建 VPC 对等连接)对话框创建仅使用特定请求者 VPC 的 VPC 对等连接。如果用户尝试创建使用不同请求者 VPC 的 VPC 对等连接,则请求会失败。

{ "Version": "2012-10-17", "Statement": [ { "Effect":"Allow", "Action": [ "ec2:DescribeVpcPeeringConnections", "ec2:DescribeVpcs" ], "Resource": "*" }, { "Effect":"Allow", "Action": "ec2:CreateVpcPeeringConnection", "Resource": [ "arn:aws:ec2:*:*:vpc/vpc-id", "arn:aws:ec2:*:*:vpc-peering-connection/*" ] } ] }