별칭에 대한 액세스 제어 - AWS Key Management Service

별칭에 대한 액세스 제어

별칭을 만들거나 변경하면 별칭 및 연결된 KMS 키에 영향을 줍니다. 따라서 별칭을 관리하는 보안 주체는 별칭과 영향을 받는 모든 KMS 키에 대해 별칭 작업을 호출할 수 있는 권한이 있어야 합니다. 키 정책, IAM 정책권한 부여를 사용해 이러한 권한을 제공할 수 있습니다.

참고

보안 주체에 태그와 별칭을 관리할 수 있는 권한을 부여할 때는 주의해야 합니다. 태그나 별칭을 변경하면 고객 관리형 키의 권한을 허용하거나 거부할 수 있습니다. 자세한 내용은 AWS KMS의 ABAC별칭을 사용하여 KMS 키에 대한 액세스 제어 단원을 참조하세요.

모든 AWS KMS 작업에 대한 액세스 제어와 관련된 자세한 내용은 권한 참조 단원을 참조하세요.

별칭을 만들고 관리할 수 있는 권한은 다음과 같습니다.

kms:CreateAlias

별칭을 만들려면 보안 주체는 별칭과 연결된 KMS 키 모두에 대해 다음 권한이 필요합니다.

  • 별칭에 대한 kms:CreateAlias. 별칭을 생성할 수 있는 보안 주체에 연결된 IAM 정책에서 이 권한을 제공합니다.

    다음 예제 정책 설명은 Resource 요소의 특정 별칭을 지정합니다. 그러나 여러 별칭 ARN을 나열하거나 ‘test*’와 같은 별칭 패턴을 지정할 수 있습니다. 보안 주체가 계정 및 리전에서 별칭을 생성할 수 있도록 Resource의 값을 "*"로 지정할 수도 있습니다. 별칭 생성 권한은 계정 및 리전의 모든 리소스에 대한 kms:Create* 권한에도 포함될 수 있습니다.

    { "Sid": "IAMPolicyForAnAlias", "Effect": "Allow", "Action": [ "kms:CreateAlias", "kms:UpdateAlias", "kms:DeleteAlias" ], "Resource": "arn:aws:kms:us-west-2:111122223333:alias/test-key" }
  • KMS 키에 대한 kms:CreateAlias. 이 권한은 키 정책 또는 키 정책에서 위임된 IAM 정책에서 제공되어야 합니다.

    { "Sid": "Key policy for 1234abcd-12ab-34cd-56ef-1234567890ab", "Effect": "Allow", "Principal": {"AWS": "arn:aws:iam::111122223333:user/KMSAdminUser"}, "Action": [ "kms:CreateAlias", "kms:DescribeKey" ], "Resource": "*" }

조건 키를 사용하여 별칭과 연결할 수 있는 KMS 키를 제한할 수 있습니다. 예를 들어 kms:KeySpec 조건 키를 사용하여 보안 주체가 비대칭 KMS 키에 대해서만 별칭을 생성하도록 할 수 있습니다. KMS 키 리소스에 대한 kms:CreateAlias 권한을 제한하는 데 사용할 수 있는 조건 키의 전체 목록은 AWS KMS 권한 단원을 참조하세요.

kms:ListAliases

계정 및 리전의 별칭을 나열하려면 보안 주체에게 kms:ListAliases IAM 정책에서 권한이 있어야 합니다. 이 정책은 특정 KMS 키 또는 별칭 리소스와 관련이 없기 때문에 정책의 리소스 요소 값은 "*"여야 합니다.

예를 들어 다음 IAM 정책문은 보안 주체에게 계정 및 리전의 모든 KMS 키와 별칭을 나열할 수 있는 권한을 부여합니다.

{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": [ "kms:ListKeys", "kms:ListAliases" ], "Resource": "*" } }

kms:UpdateAlias

별칭과 연결된 KMS 키를 변경하려면 보안 주체에 별칭, 현재 KMS 키에 대한 권한 요소 및 새 KMS 키에 대한 권한 요소가 필요합니다.

예를 들어 test-key 별칭을 키 ID가 1234abcd-12ab-34cd-56ef-1234567890ab인 KMS 키에서 키 ID가 0987dcba-09fe-87dc-65ba-ab0987654321인 KMS 키로 변경하려고 한다고 가정합니다. 이 경우 이 섹션의 예제와 비슷한 정책문을 포함합니다.

  • 별칭에 대한 kms:UpdateAlias. 보안 주체에 연결된 IAM 정책에서 이 권한을 제공합니다. 다음 IAM 정책은 특정 별칭을 지정합니다. 그러나 여러 별칭 ARN을 나열하거나 별칭 패턴(예: "test*")을 지정할 수 있습니다. 보안 주체가 계정 및 리전에서 별칭을 업데이트할 수 있도록 Resource의 값을 "*"로 지정할 수도 있습니다.

    { "Sid": "IAMPolicyForAnAlias", "Effect": "Allow", "Action": [ "kms:UpdateAlias", "kms:ListAliases", "kms:ListKeys" ], "Resource": "arn:aws:kms:us-west-2:111122223333:alias/test-key" }
  • 현재 별칭과 연결된 KMS 키에 대한 kms:UpdateAlias. 이 권한은 키 정책 또는 키 정책에서 위임된 IAM 정책에서 제공되어야 합니다.

    { "Sid": "Key policy for 1234abcd-12ab-34cd-56ef-1234567890ab", "Effect": "Allow", "Principal": {"AWS": "arn:aws:iam::111122223333:user/KMSAdminUser"}, "Action": [ "kms:UpdateAlias", "kms:DescribeKey" ], "Resource": "*" }
  • 작업으로 별칭에 연결 하는 KMS 키에 대한 kms:UpdateAlias. 이 권한은 키 정책 또는 키 정책에서 위임된 IAM 정책에서 제공되어야 합니다.

    { "Sid": "Key policy for 0987dcba-09fe-87dc-65ba-ab0987654321", "Effect": "Allow", "Principal": {"AWS": "arn:aws:iam::111122223333:user/KMSAdminUser"}, "Action": [ "kms:UpdateAlias", "kms:DescribeKey" ], "Resource": "*" }

조건 키를 사용하여 UpdateAlias 작업에서 KMS 키 중 하나 또는 둘 다를 제한할 수 있습니다. 예를 들어, kms:ResourceAliases 조건 키를 사용하여 대상 KMS 키에 이미 특정 별칭이 있는 경우에만 보안 주체가 별칭을 업데이트하도록 할 수 있습니다. KMS 키 리소스에 대한 kms:UpdateAlias 권한을 제한하는 데 사용할 수 있는 조건 키의 전체 목록은 AWS KMS 권한 단원을 참조하세요.

kms:DeleteAlias

별칭을 삭제하려면 보안 주체는 별칭과 연결된 KMS 키에 대해 권한이 필요합니다.

보안 주체에 리소스를 삭제할 수 있는 권한을 부여할 때는 항상 주의해야 합니다. 그러나 별칭을 삭제해도 연결된 KMS 키에 영향을 미치지 않습니다. 별칭을 사용하는 애플리케이션에서 오류가 발생할 수 있지만 실수로 별칭을 삭제하면 다시 만들 수 있습니다.

  • 별칭에 대한 kms:DeleteAlias. 별칭을 삭제할 수 있는 보안 주체에 연결된 IAM 정책에서 이 권한을 제공합니다.

    다음 예제 정책 설명은 Resource 요소의 별칭을 지정합니다. 그러나 여러 별칭 ARN을 나열하거나 별칭 패턴(예: "test*")을 지정할 수 있습니다. 또한 보안 주체가 계정 및 리전에서 별칭을 삭제할 수 있도록 Resource"*" 값을 지정할 수도 있습니다.

    { "Sid": "IAMPolicyForAnAlias", "Effect": "Allow", "Action": [ "kms:CreateAlias", "kms:UpdateAlias", "kms:DeleteAlias" ], "Resource": "arn:aws:kms:us-west-2:111122223333:alias/test-key" }
  • 연결된 KMS 키에 대한 kms:DeleteAlias. 이 권한은 키 정책 또는 키 정책에서 위임된 IAM 정책에서 제공되어야 합니다.

    { "Sid": "Key policy for 1234abcd-12ab-34cd-56ef-1234567890ab", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:user/KMSAdminUser" }, "Action": [ "kms:CreateAlias", "kms:UpdateAlias", "kms:DeleteAlias", "kms:DescribeKey" ], "Resource": "*" }

별칭 권한 제한

리소스가 KMS 키인 경우 조건 키를 사용하여 별칭 권한을 제한할 수 있습니다. 예를 들어, 다음 IAM 정책은 특정 계정 및 리전의 KMS 키에 대한 별칭 작업을 허용합니다. 그러나 kms:KeyOrigin 조건 키를 사용하여 AWS KMS의 키 자료가 있는 KMS 키에 대한 권한을 추가로 제한합니다.

KMS 키 리소스에 대한 별칭 권한을 제한하는 데 사용할 수 있는 조건 키의 전체 목록은 AWS KMS 권한 단원을 참조하세요.

{ "Sid": "IAMPolicyKeyPermissions", "Effect": "Allow", "Resource": "arn:aws:kms:us-west-2:111122223333:key/*", "Action": [ "kms:CreateAlias", "kms:UpdateAlias", "kms:DeleteAlias" ], "Condition": { "StringEquals": { "kms:KeyOrigin": "AWS_KMS" } } }

리소스가 별칭인 정책문에는 조건 키를 사용할 수 없습니다. 보안 주체가 관리할 수 있는 별칭을 제한하려면 별칭에 대한 액세스를 제어하는 ​​IAM 정책문의 Resource 요소 값을 사용합니다. 예를 들어 다음 정책 설명은 별칭이 Restricted로 시작하지 않는 한 보안 주체가 AWS 계정 및 리전에서 별칭을 생성, 업데이트 또는 삭제할 수 있도록 허용합니다.

{ "Sid": "IAMPolicyForAnAliasAllow", "Effect": "Allow", "Action": [ "kms:CreateAlias", "kms:UpdateAlias", "kms:DeleteAlias" ], "Resource": "arn:aws:kms:us-west-2:111122223333:alias/*" }, { "Sid": "IAMPolicyForAnAliasDeny", "Effect": "Deny", "Action": [ "kms:CreateAlias", "kms:UpdateAlias", "kms:DeleteAlias" ], "Resource": "arn:aws:kms:us-west-2:111122223333:alias/Restricted*" }