AWS 전역 조건 키 - AWS Key Management Service

AWS 전역 조건 키

AWS는 액세스 제어를 위해 IAM을 사용하는 모든 AWS 서비스에 대한 정책 조건 키 집합인 전역 조건 키를 정의합니다. AWS KMS는 모든 전역 조건 키를 지원합니다. AWS KMS 키 정책 및 IAM 정책에서 사용할 수 있습니다.

예를 들어 요청의 보안 주체가 조건 키 값에 Amazon 리소스 이름(ARN)으로 표시되는 경우에만 aws:PrincipalArn 전역 조건 키를 사용하여 AWS KMS key(KMS 키)에 대한 액세스를 허용할 수 있습니다. AWS KMS에서 속성 기반 액세스 제어(ABAC)를 지원하려면 IAM 정책에서 aws:ResourceTag/tag-key 전역 조건 키를 사용하여 특정 태그가 있는 KMS 키에 대한 액세스를 허용할 수 있습니다.

위탁자가 AWS 서비스 위탁자인 정책에서 AWS 서비스가 혼동된 대리자로 사용되는 것을 방지하기 위해 aws:SourceArn 또는 aws:SourceAccount 전역 조건 키를 사용할 수 있습니다. 자세한 내용은 aws:SourceArn 또는 aws:SourceAccount 조건 키 사용 섹션을 참조하세요.

사용 가능한 요청 유형을 포함하여 AWS 전역 조건 키에 대한 자세한 내용은 IAM 사용 설명서AWS 전역 조건 컨텍스트 키를 참조하세요. IAM 정책에서 전역 조건 키를 사용하는 예는 IAM 사용 설명서요청에 대한 액세스 제어태그 키 제어를 참조하세요.

다음 주제에서는 IP 주소 및 VPC 엔드포인트를 기반으로 조건 키를 사용하기 위한 특별한 지침을 제공합니다.

AWS KMS 권한으로 정책에서 IP 주소 조건 사용

AWS KMS를 사용하여 통합 AWS 서비스에서 데이터를 보호할 수 있습니다. 그러나 AWS KMS에 대한 액세스를 허용하거나 거부하는 동일한 정책문에서 IP 주소 조건 연산자 또는 aws:SourceIp 조건 키를 지정할 때는 주의해야 합니다 예를 들어 AWS: 소스 IP를 바탕으로 AWS에 대한 액세스 거부의 정책은 AWS 작업을 지정된 IP 범위의 요청으로 제한합니다.

다음 시나리오를 고려하십시오.

  1. AWS: 소스 IP를 바탕으로 AWS에 대한 액세스 거부에 표시된 정책과 같은 정책을 IAM ID에 연결합니다. aws:SourceIp 조건 키의 값을 사용자 회사의 IP 주소 범위로 설정합니다. 이 IAM ID에게는 Amazon EBS, Amazon EC2 및 AWS KMS 사용을 허용하는 다른 정책이 연결되어 있습니다.

  2. ID가 암호화된 EBS 볼륨을 EC2 인스턴스에 연결하려고 합니다. 사용자가 모든 관련 서비스를 이용할 권한을 가지고 있음에도 인증 오류로 인해 이 작업은 실패합니다.

볼륨의 암호화된 데이터 키를 해독하라는 AWS KMS에 대한 요청이 Amazon EC2 인프라와 연결된 IP 주소에서 이루어지기 때문에 2단계는 실패합니다. 요청이 성공하려면 원래 사용자의 IP 주소에서 이루어져야 합니다. 1단계의 정책은 지정된 IP 주소 이외에서 이루어진 모든 요청을 명시적으로 거부하기 때문에, EBS 볼륨의 암호화된 데이터 키를 해독할 수 있는 권한이 Amazon EC2에 부여되지 않습니다.

또한 요청이 Amazon VPC 엔드포인트에서 이루어지는 경우 aws:SourceIP 조건 키는 유효하지 않습니다. AWS KMS VPC 엔드포인트를 포함해 VPC 엔드포인트로 요청을 제한하려면 aws:SourceVpce 또는 aws:SourceVpc 조건 키를 사용합니다. 자세한 정보는 Amazon VPC 사용 설명서VPC 엔드포인트 - 엔드포인트 사용 제어를 참조하세요.

AWS KMS 권한으로 정책에서 VPC 엔드포인트 조건 사용

AWS KMS는 Amazon Virtual Private Cloud(Amazon VPC) 엔드포인트를 지원하며, 이 엔드포인트는 AWS PrivateLink에 의해 구동됩니다. 요청이 VPC에서 오거나 VPC 엔드포인트를 사용할 때 키 정책 및 IAM 정책에서 다음 전역 조건 키를 사용하여 AWS KMS 리소스에 대한 액세스를 제어할 수 있습니다. 자세한 내용은 VPC 엔드포인트를 사용하여 AWS KMS 리소스에 대한 액세스 제어 섹션을 참조하세요.

  • aws:SourceVpc는 지정된 VPC의 요청으로 액세스를 제한합니다.

  • aws:SourceVpce는 지정된 VPC 엔드포인트의 요청으로 액세스를 제한합니다.

이러한 조건 키를 사용하여 KMS 키에 대한 액세스를 제어하는 ​​경우 사용자를 대신하여 AWS KMS를 사용하는 AWS 서비스에 대한 액세스를 실수로 거부할 수 있습니다.

IP 주소 조건 키 예제와 같은 상황을 피하도록 주의하십시오. KMS 키에 대한 요청을 VPC 또는 VPC 엔드포인트로 제한하면 Amazon S3 또는 Amazon EBS, 등의 통합 서비스에서 AWS KMS 호출에 실패할 수 있습니다. 원본 요청이 궁극적으로 VPC 또는 VPC 엔드포인트에서 시작된 경우에도 이러한 상황이 발생할 수 있습니다.

IAM 및 AWS KMS 키 정책에서 IPv6 주소 사용

IPv6를 통해 AWS KMS에 액세스하기 전에, IP 주소 제한을 포함한 모든 키 정책 및 IAM 정책이 IPv6 주소 범위를 포함하도록 업데이트되어 있는지 확인하세요. IP 기반 정책이 IPv6 주소를 처리하도록 업데이트되지 않은 경우, 클라이언트가 IPv6을 사용할 때 액세스 권한을 잘못 잃거나 얻을 수 있습니다. KMS 액세스 제어에 대한 일반적인 지침은 KMS 키 액세스 및 권한 페이지를 참조하세요. KMS 및 듀얼 스택 지원에 대해 알아보려면 듀얼 스택 엔드포인트 지원 페이지를 참조하세요.

중요

이러한 문은 어떤 작업도 허용하지 않습니다. 이러한 문은 특정 작업을 허용하는 다른 문과 함께 사용하세요.

다음 문은 192.0.2.*의 IPv4 주소 범위에서 발생한 요청에 대해 모든 KMS 권한에 대한 액세스를 명시적으로 거부합니다. 이 범위 밖의 IP 주소는 KMS 권한이 명시적으로 거부되지 않습니다. 모든 IPv6 주소는 거부 범위 밖에 있으므로, 이 문은 IPv6 주소에 대해 KMS 권한을 명시적으로 거부하지 않습니다.

{ "Sid": "DenyKMSPermissions", "Effect": "Deny", "Action": [ "kms:*" ], "Resource": "*", "Condition": { "NotIpAddress": { "aws:SourceIp": [ "192.0.2.0/24" ] } } }

다음 예제와 같이 IPv4(Condition) 및 IPv6(192.0.2.0/24) 주소 범위를 모두 거부하도록 2001:db8:1234::/32 요소를 수정할 수 있습니다.

{ "Sid": "DenyKMSPermissions", "Effect": "Deny", "Action": [ "kms:*" ], "Resource": "*", "Condition": { "NotIpAddress": { "aws:SourceIp": [ "192.0.2.0/24", "2001:db8:1234::/32" ] } } }