태그를 사용하여 CMK에 대한 액세스 제어 - AWS Key Management Service

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

태그를 사용하여 CMK에 대한 액세스 제어

에 대한 액세스를 제어할 수 있습니다.AWS KMSCMK의 태그를 기반으로 하는 고객 마스터 키 (CMK) 예를 들어 보안 주체가 특정 태그를 가진 CMK만 활성화 및 비활성화할 수 있도록 허용하는 IAM 정책을 작성할 수 있습니다. 또는 CMK에 특정 태그가 없는 경우 IAM 정책을 사용하여 보안 주체가 암호화 작업에서 CMK를 사용하지 못하도록 할 수 있습니다.

이 기능은AWS KMS에 대한 지원속성 기반 액세스 제어(ABAC). 태그를 사용하여 액세스 제어에 대한 자세한 내용은AWS리소스에 대한 자세한 내용은용 ABAC란 무엇입니까?AWS?에 대한 액세스 제어AWS리소스 태그를 사용한 리소스 태그IAM 사용 설명서. ABAC와 관련된 액세스 문제를 해결하는 방법에 대한 자세한 내용은용 ABAC 문제 해결AWS KMS.

참고

태그와 별칭 변경이 CMK 인증에 영향을 미치려면 최대 5분이 걸릴 수 있습니다. 최근 변경 사항은 권한 부여에 영향을 미치기 전에 API 작업에 표시될 수 있습니다.

AWS KMS의 사용을 지원합니다.AWS:ResourceTag/tag-key 전역 조건 컨텍스트 키를 사용하여 CMK의 태그를 기반으로 CMK에 대한 액세스를 제어할 수 있습니다. 여러 CMK가 동일한 태그를 가질 수 있으므로 이 기능을 사용하면 선택한 CMK 집합에 사용 권한을 적용할 수 있습니다. 태그를 변경하여 세트의 CMK를 쉽게 변경할 수도 있습니다.

InAWS KMS,aws:ResourceTag/tag-key조건 키는 IAM 정책에서만 지원됩니다. 동일한 태그를 사용하여 여러 CMK에 대한 액세스를 제어할 수 있도록 설계되었습니다. 하나의 CMK에만 적용되는 주요 정책에서는 지원되지 않습니다. 또한 자원 조건은 기존 자원을 사용하는 작업에만 적용됩니다. 따라서 를 사용할 수 없습니다.aws:ResourceTag/tag-key와 같은 작업에 대한 액세스를 제어CreateKey,ListKeys또는ListAliases.

태그를 사용하여 액세스를 제어하면 사용 권한을 단순하고 확장 가능하며 유연하게 관리할 수 있습니다. 그러나 제대로 설계되고 관리되지 않으면 실수로 CMK에 대한 액세스를 허용하거나 거부할 수 있습니다. 태그를 사용하여 액세스를 제어하는 경우 다음 방법을 고려하십시오.

  • 태그를 사용하여최소 권한 부여. IAM 보안 주체에게 사용하거나 관리해야 하는 CMK에 필요한 권한만 부여합니다. 예를 들어 태그를 사용하여 프로젝트에 사용되는 CMK에 레이블을 지정합니다. 그런 다음 프로젝트 팀에 프로젝트 태그와 함께 CMK만 사용할 수 있는 권한을 부여합니다.

  • 교장에게 제공하는 것에 대해 조심하십시오kms:TagResourcekms:UntagResource권한을 부여하여 태그를 추가, 편집, 삭제할 수 있습니다. 태그를 사용하여 CMK에 대한 액세스를 제어하는 경우 태그를 변경하면 보안 주체에 사용 권한이 없는 CMK를 사용할 수 있는 권한이 부여될 수 있습니다. 또한 다른 보안 주체가 작업을 수행하는 데 필요한 CMK에 대한 액세스를 거부할 수 있습니다. 키 정책을 변경하거나 권한 부여를 생성할 권한이 없는 주요 관리자는 태그 관리 권한이 있는 경우 CMK에 대한 액세스를 제어할 수 있습니다.

    가능할 때마다 정책 조건 (예:aws:RequestTag/tag-key또는aws:TagKeysto보안 주체의 태그 지정 사용 권한 제한를 특정 CMK의 특정 태그 또는 태그 패턴에 추가합니다.

  • 에서 보안 주체를 검토하십시오. AWS 계정 에서 현재 태그 지정 및 태그 해제 권한을 가지고 있으며 필요한 경우 조정할 수 있습니다. 예를 들어, 콘솔키 관리자에 대한 기본 키 정책includeskms:TagResourcekms:UntagResource해당 CMK에 대한 권한을 부여하십시오. IAM 정책은 모든 CMK에 대한 태그 지정 및 태그 해제 권한을 허용할 수 있습니다. 예를 들어AWS 키 관리서비스파워유저관리형 정책을 통해 보안 주체가 모든 CMK의 태그에 태그를 지정하고 태그를 해제하고 나열할 수 있습니다.

  • 태그에 따라 달라지는 정책을 설정하기 전에 AWS 계정 . 정책을 포함하려는 태그에만 적용해야 합니다. 사용CloudTrail 로그CloudWatch 경보를 클릭하여 CMK에 대한 액세스에 영향을 줄 수 있는 변경 사항에 태그를 지정하라는 경고를 표시합니다.

  • 태그 기반 정책 조건은 패턴 일치를 사용하며 태그의 특정 인스턴스에 연결되지 않습니다. 태그 기반 조건 키를 사용하는 정책은 패턴과 일치하는 모든 새 태그와 기존 태그에 영향을 줍니다. 정책 조건과 일치하는 태그를 삭제했다가 다시 만들면 이전 태그와 마찬가지로 조건이 새 태그에 적용됩니다.

예를 들어 다음 IAM 정책을 고려해 보십시오. 그것은 주체가 호출 할 수 있습니다GenerateDataKeyWithoutPlaintext암호화 해제에서 아시아 태평양 (싱가포르) 리전에 있는 CMK에 대해서만 작업을 수행합니다."Project"="Alpha"태그입니다. 이 정책을 예제 Alpha 프로젝트의 역할에 연결할 수 있습니다.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "IAMPolicyWithResourceTag", "Effect": "Allow", "Action": [ "kms:GenerateDataKeyWithoutPlaintext", "kms:Decrypt" ], "Resource": "arn:aws:kms:ap-southeast-1:111122223333:key/*", "Condition": { "StringEquals": { "aws:ResourceTag/Project": "Alpha" } } } ] }

다음 예제 IAM 정책은 보안 주체가 특정 암호화 작업에 대해 계정의 모든 CMK를 사용할 수 있도록 허용합니다. 그러나 그것은 주체가AWS KMS와 함께 CMK에 대한 작업"Type"="Reserved"태그 또는"Type"태그입니다.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "IAMAllowCryptographicOperations", "Effect": "Allow", "Action": [ "kms:Encrypt", "kms:GenerateDataKey*", "kms:Decrypt", "kms:ReEncrypt*" ], "Resource": "arn:aws:kms:*:111122223333:key/*" }, { "Sid": "IAMDenyOnTag", "Effect": "Deny", "Action": "kms:*", "Resource": "arn:aws:kms:*:111122223333:key/*", "Condition": { "StringEquals": { "aws:ResourceTag/Type": "Reserved" } } }, { "Sid": "IAMDenyNoTag", "Effect": "Deny", "Action": "kms:*", "Resource": "arn:aws:kms:*:111122223333:key/*", "Condition": { "Null": { "aws:ResourceTag/Type": "true" } } } ] }