VPC 피어링에 대한 자격 증명 및 액세스 관리 - Amazon Virtual Private Cloud

VPC 피어링에 대한 자격 증명 및 액세스 관리

기본적으로, 사용자는 VPC 피어링 연결을 생성하거나 수정할 수 없습니다. VPC 피어링 리소스에 대한 액세스 권한을 부여하려면 IAM 정책을 IAM 아이덴티티(예: 역할)에 연결하세요.

Amazon VPC 작업 목록과 각 작업에 대해 지원되는 리소스 및 조건 키는 Service Authorization Reference(서비스 승인 참조)의 Actions, resources, and condition keys for Amazon EC2(Amazon EC2에 사용되는 작업, 리소스 및 조건 키)를 참조하세요.

예시: VPC 피어링 연결 생성

다음과 같은 정책을 통해 Purpose=Peering으로 태그가 지정된 VPC를 사용하여 VPC 피어링 연결 요청을 생성하는 권한이 사용자에게 부여됩니다. 첫 번째 설명문은 조건 키(ec2:ResourceTag)를 VPC 리소스에 적용합니다. 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/*" } ] }

다음과 같은 정책을 통해 지정된 리전의 VPC를 사용하여 VPC 피어링 연결을 생성하는 권한이 지정된 AWS 계정의 사용자에게 부여되지만, 피어링 연결을 수락하는 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 피어링 연결 수락

다음과 같은 정책을 통해 특정 AWS 계정의 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 피어링 연결을 삭제하는 권한이 지정된 권한의 사용자에게 부여됩니다. VPC가 원래 VPC 피어링 연결 요청에서 요청자 VPC 또는 피어 VPC였을 수 있으므로, 이 정책에서는 ec2:AccepterVpcec2:RequesterVpc 조건 키를 모두 지정합니다.

{ "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 피어링 연결이 모두 동일한 AWS 계정 내에 있는 경우, 사용자는 VPC 피어링 연결 보기, 생성, 허용, 거부 및 삭제를 수행할 수 있습니다.

첫 번째 명령문을 통해 모든 VPC 피어링 연결을 보는 권한이 사용자에게 부여됩니다. 이 API 작업(DescribeVpcPeeringConnections)은 현재 리소스 수준 권한을 지원하지 않으므로, 이 경우에는 Resource 요소에 * 와일드카드가 필요합니다.

두 번째 명령문을 통해 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:DescribeVpcPeeringConnections를 제외한 모든 ec2:*PeeringConnection 작업에 리소스 수준 권한을 적용할 수 있습니다.

다음과 같은 정책을 통해 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/*" ] } ] }