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

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

默认情况下,IAM 用户无法创建或修改 VPC 对等连接。要允许访问 VPC 对等连接资源,您需要创建 IAM 策略并将其附加到:

  • IAM 用户或

  • IAM 用户所属的组。

以下是用于处理 VPC 对等连接的示例 IAM 策略。

有关 Amazon VPC 操作以及每个操作支持的资源和条件键的列表,请参阅 IAM 用户指南 中的 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:vpc/*", "Condition": { "StringEquals": { "ec2:ResourceTag/Purpose": "Peering" } } }, { "Effect": "Allow", "Action": "ec2:CreateVpcPeeringConnection", "Resource": "arn:aws:ec2:region:account:vpc-peering-connection/*" } ] }

以下策略允许Amazon账户 333333333333 中的用户使用 us-east-1 区域中的任何 VPC 创建 VPC 对等连接,但是仅当接受对等连接的 VPC 是特定账户 (777788889999) 中的特定 VPC (vpc-11223344556677889) 时。

{ "Version": "2012-10-17", "Statement": [{ "Effect":"Allow", "Action": "ec2:CreateVpcPeeringConnection", "Resource": "arn:aws:ec2:us-east-1:333333333333:vpc/*" }, { "Effect": "Allow", "Action": "ec2:CreateVpcPeeringConnection", "Resource": "arn:aws:ec2:region:333333333333:vpc-peering-connection/*", "Condition": { "ArnEquals": { "ec2:AccepterVpc": "arn:aws:ec2:region:777788889999:vpc/vpc-11223344556677889" } } } ] }

接受 VPC 对等连接

以下策略仅允许用户接受来自Amazon账户 444455556666 的 VPC 对等连接请求。这样有助于防止用户接受来自未知账户的 VPC 对等连接请求。第一条语句使用 ec2:RequesterVpc 条件键强制实施此策略。

该策略还向用户授予仅当 VPC 具有标签 Purpose=Peering 时才接受 VPC 对等请求的权限。

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

删除 VPC 对等连接

以下策略允许账户 444455556666 中的用户删除任何 VPC 对等连接,但使用指定的 VPC vpc-11223344556677889(处于相同账户中)的连接除外。该策略同时指定 ec2:AccepterVpcec2:RequesterVpc 条件密钥,因为 VPC 可能是原始 VPC 对等连接请求中的请求者 VPC 或对等方 VPC。

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

在特定账户中工作

以下策略允许用户完全在特定账户中处理 VPC 对等连接。用户可以查看、创建、接受、拒绝和删除 VPC 对等连接,前提是它们都处于Amazon账户 333333333333 中。

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

第二条语句允许用户创建 VPC 对等连接,并允许访问账户 333333333333 中的所有 VPC 以便执行此操作。

第三条语句使用 * 通配符作为 Action 元素的一部分,以便允许执行所有 VPC 对等连接操作。条件键确保只能对与属于账户 333333333333 的 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:*:333333333333:vpc/*" }, { "Effect": "Allow", "Action": "ec2:*VpcPeeringConnection", "Resource": "arn:aws:ec2:*:333333333333:vpc-peering-connection/*", "Condition": { "ArnEquals": { "ec2:AccepterVpc": "arn:aws:ec2:*:333333333333:vpc/*", "ec2:RequesterVpc": "arn:aws:ec2:*:333333333333:vpc/*" } } } ] }

在控制台中管理 VPC 对等连接

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

以下策略允许用户查看 VPC 对等连接,以及使用创建 VPC 对等连接对话框创建仅使用特定请求者 VPC (vpc-11223344556677889) 的 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-11223344556677889", "arn:aws:ec2:*:*:vpc-peering-connection/*" ] } ] }