기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
별칭을 사용하여 KMS 키에 대한 액세스 제어
KMS 키와 연결된 별칭을 기반으로 KMS 키에 대한 액세스를 제어할 수 있습니다. 이렇게 하려면 kms:RequestAlias 및 kms:ResourceAliases 조건 키를 사용합니다. 이 기능은 속성 기반 액세스 제어() AWS KMS 지원의 일부입니다ABAC.
kms:RequestAlias
조건 키는 요청의 별칭을 기반으로 KMS 키에 대한 액세스를 허용하거나 거부합니다. kms:ResourceAliases
조건 키는 KMS 키와 연결된 별칭을 기반으로 KMS 키에 대한 액세스를 허용하거나 거부합니다.
이러한 기능을 사용하면 정책 문 resource
요소의 별칭을 사용하여 KMS 키를 식별할 수 없습니다. 별칭이 resource
요소의 값인 경우 정책은 별칭 리소스에 적용되며, 별칭 리소스와 연결될 수 있는 KMS 키에는 적용되지 않습니다.
참고
태그 및 별칭 변경 사항이 KMS 키 권한 부여에 영향을 미치는 데 최대 5분이 걸릴 수 있습니다. 최근 변경 사항이 권한 부여에 영향을 미치기 전에 API 작업에 표시될 수 있습니다.
별칭을 사용하여 KMS 키에 대한 액세스를 제어하는 경우 다음을 고려하세요.
-
최소 권한 액세스를 강화하는 최고의 방식을 별칭을 사용하는 것입니다. 보안 IAM 주체에게 사용 또는 관리해야 하는 KMS 키에만 필요한 권한만 부여합니다. 예를 들어 별칭을 사용하여 프로젝트에 사용되는 KMS 키를 식별합니다. 그런 다음 프로젝트 팀에 프로젝트 별칭에 KMS 키만 사용할 수 있는 권한을 부여합니다.
-
보안 주체에게 별칭을 추가, 편집 및 삭제할 수 있는
kms:CreateAlias
,kms:UpdateAlias
또는kms:DeleteAlias
권한을 부여할 때는 주의해야 합니다. 별칭을 사용하여 KMS 키에 대한 액세스를 제어하는 경우 별칭을 변경하면 보안 주체에게 사용할 권한이 없는 KMS 키를 사용할 수 있는 권한을 부여할 수 있습니다. 또한 다른 보안 주체가 작업을 수행하는 데 필요한 KMS 키에 대한 액세스를 거부할 수도 있습니다. -
현재 별칭을 관리하고 필요한 경우 권한을 조정할 수 있는 권한이 AWS 계정 있는 의 보안 주체를 검토합니다. 키 정책을 변경하거나 권한을 생성할 권한이 없는 키 관리자는 별칭을 관리할 권한이 있는 경우 KMS 키에 대한 액세스를 제어할 수 있습니다.
예를 들어, 키 관리자에 대한 콘솔 기본 키 정책에는
kms:CreateAlias
,kms:DeleteAlias
및kms:UpdateAlias
권한이 포함됩니다. IAM 정책은 의 모든 KMS 키에 대한 별칭 권한을 부여할 수 있습니다 AWS 계정. 예를 들어 AWSKeyManagementServicePowerUser관리형 정책은 보안 주체가 모든 KMS 키에 대한 별칭을 생성, 삭제 및 나열할 수 있지만 업데이트하지는 않습니다. -
별칭에 의존하는 정책을 설정하기 전에 의 KMS 키에서 별칭을 검토합니다 AWS 계정. 포함하려는 별칭에만 정책을 적용해야 합니다. CloudTrail 로그와 CloudWatch 경보를 사용하여 KMS 키에 대한 액세스에 영향을 미칠 수 있는 별칭 변경 사항을 알립니다. 또한 ListAliases 응답에는 각 별칭의 생성 날짜와 마지막 업데이트 날짜가 포함됩니다.
-
별칭 정책 조건은 패턴 일치를 사용하며 별칭의 특정 인스턴스에 연결되어 있지 않습니다. 별칭 기반 조건 키를 사용하는 정책은 패턴과 일치하는 모든 새 별칭과 기존 별칭에 영향을 줍니다. 정책 조건과 일치하는 별칭을 삭제했다가 다시 만들면 이전 별칭과 마찬가지로 새 별칭에도 조건이 적용됩니다.
kms:RequestAlias
조건 키는 작업 요청에 명시적으로 지정된 별칭에 따라 달라집니다. kms:ResourceAliases
조건 키는 요청에 표시되지 않더라도 KMS 키와 연결된 별칭에 따라 달라집니다.
km:RequestAlias
요청에서 KMS 키를 식별하는 별칭을 기반으로 KMS 키에 대한 액세스를 허용하거나 거부합니다. 키 정책 또는 정책에서 kms:RequestAlias 조건 키를 사용할 수 IAM 있습니다. 별칭을 사용하여 요청의 KMS 키, 즉 암호화 작업 , 및 를 식별하는 작업에 적용됩니다DescribeKeyGetPublicKey. CreateAlias 또는 와 같은 별칭 작업에는 유효하지 않습니다DeleteAlias.
조건 키에서 별칭 이름 또는 별칭 이름 패턴을 지정합니다. 별칭은 지정할 수 ARN없습니다.
예를 들어 다음 키 정책 문을 사용하면 보안 주체가 KMS 키에 지정된 작업을 사용할 수 있습니다. 권한은 요청이 가 포함된 별칭alpha
을 사용하여 KMS 키를 식별하는 경우에만 유효합니다.
{ "Sid": "Key policy using a request alias condition", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/alpha-developer" }, "Action": [ "kms:Decrypt", "kms:GenerateDataKey*", "kms:DescribeKey" ], "Resource": "*", "Condition": { "StringLike": { "kms:RequestAlias": "alias/*alpha*" } } }
권한이 부여된 보안 주체의 다음 예제 요청은 조건을 충족합니다. 그러나 키 ID , 키 ARN또는 다른 별칭을 사용한 요청은 이러한 값이 동일한 KMS 키를 식별하더라도 조건을 충족하지 않습니다.
$
aws kms describe-key --key-id "arn:aws:kms:us-west-2:111122223333:alias/project-alpha"
km:ResourceAliases
요청에 별칭이 사용되지 않더라도 KMS 키와 연결된 별칭을 기반으로 KMS 키에 대한 액세스를 허용하거나 거부합니다. kms:ResourceAliases 조건 키를 사용하면 와 같은 별칭 또는 별칭 패턴을 지정할 수 alias/test*
있으므로 IAM 정책에서 사용하여 동일한 리전의 여러 KMS 키에 대한 액세스를 제어할 수 있습니다. 키를 사용하는 모든 AWS KMS 작업에 유효합니다KMS.
예를 들어 다음 IAM 정책은 보안 주체가 두 의 KMS 키에 대해 지정된 작업을 호출하도록 허용합니다 AWS 계정. 그러나 권한은 로 시작하는 별칭과 연결된 KMS 키에만 적용됩니다restricted
.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AliasBasedIAMPolicy", "Effect": "Allow", "Action": [ "kms:Decrypt", "kms:GenerateDataKey*", "kms:DescribeKey" ], "Resource": [ "arn:aws:kms:*:111122223333:key/*", "arn:aws:kms:*:444455556666:key/*" ], "Condition": { "ForAnyValue:StringLike": { "kms:ResourceAliases": "alias/restricted*" } } } ] }
kms:ResourceAliases
조건은 조건은 요청이 아니라 리소스의 조건입니다. 따라서 별칭을 지정하지 않은 요청은 여전히 조건을 충족할 수 있습니다.
일치하는 별칭을 지정하는 다음 예제 요청은 조건을 충족합니다.
$
aws kms enable-key-rotation --key-id "alias/restricted-project"
그러나 다음 예제 요청은 요청에 별칭을 사용하지 restricted
않더라도 지정된 KMS 키에 로 시작하는 별칭이 있는 경우 조건을 충족합니다.
$
aws kms enable-key-rotation --key-id "1234abcd-12ab-34cd-56ef-1234567890ab"