다른 계정의 사용자가 CMK - AWS Key Management Service

문서의 영문과 번역 사이에 충돌이 있는 경우에는 영문 버전을 따릅니다. 번역 버전은 기계 번역을 사용하여 제공합니다.

다른 계정의 사용자가 CMK

다음을 허용할 수 있습니다. IAM 사용자 또는 역할을 하나로 AWS 계정을 사용하여 고객 마스터 키 (CMK) 다른 AWS 계정. 이 권한을 추가할 수 있습니다. CMK 또는 기존 CMK.

주의

보안 주체에게 귀하의 CMKs. 가능한 경우, 최소 권한 원칙. 사용자에게 CMKs 필요한 작업만 필요합니다.

또한 익숙하지 않은 CMK, 특히 CMK 다른 계정. 악의적인 사용자는 CMK 를 참조하십시오.

정책을 사용하여 계정의 리소스를 보호하는 방법에 대한 자세한 내용은 다음을 참조하십시오. 모범 사례 IAM 정책.

사용 권한을 부여하려면 CMK 두 가지 다른 유형의 정책을 사용해야 합니다.

  • 주요 정책 에 대해 CMK 외부 계정(또는 외부 계정의 사용자 및 역할)을 사용할 수 있는 권한을 부여해야 합니다. CMK. 핵심 정책은 CMK.

  • IAM 정책 는 주요 정책 권한을 사용자 및 역할에 위임해야 합니다. 이러한 정책은 외부 계정에 설정되며 해당 계정의 사용자 및 역할에 권한을 부여합니다.

주요 정책은 할 수 있음 액세스 권한이 있는 CMK. 더 IAM 정책에 따라 할 수 있음 액세스 권한이 있는 CMK. 키 정책과 IAM 정책은 그대로는 충분하지 않으며, 둘 다 변경해야 합니다.

키 정책을 편집하려면 AWS Management 콘솔의 Policy View(정책 보기)를 사용하거나 CreateKey 또는 PutKeyPolicy 작업을 사용할 수 있습니다. 을 만들 때 키 정책을 설정하는 데 도움이 필요한 경우 CMK, 참조 만들기 CMKs 다른 계정이 사용할 수 있는.

IAM 정책 편집에 대한 도움말은 AWS KMS에서 IAM 정책 사용 단원을 참조하십시오.

주요 정책과 IAM 함께 작동하여 CMK 다른 계정에 있는 경우, 예 2 사용자는 사용 권한이 있는 경우 CMK 다른 AWS 계정.

결과적인 교차 계정을 볼 수 있습니다. AWS KMS 운영 CMK 내 AWS CloudTrail 로그. 다음을 사용하는 작업 CMKs 다른 계정의 경우 발신자 계정과 CMK 소유자 계정 모두에 기록됩니다.

단계 1. 로컬 계정에 주요 정책 선언문 추가

주요 정책 CMK 은(는) 누가 CMK 를 수행할 수 있는 작업입니다. 핵심 정책은 항상 CMK. IAM 정책과 달리, 키 정책은 리소스를 지정하지 않습니다. 리소스는 CMK 핵심 정책 와 연결된.

외부 계정 사용 권한을 부여하려면 CMK, 외부 계정을 지정하는 주요 정책에 문을 추가합니다. 키 정책의 Principal 요소에 외부 계정의 Amazon 리소스 이름(ARN)을 입력합니다.

키 정책에서 외부 계정을 지정하면 외부 계정의 IAM 관리자는 IAM 정책을 사용하여 해당 권한을 외부 계정의 사용자 및 역할에게 위임할 수 있습니다. 또한 키 정책에 지정된 작업 중 어떤 작업을 사용자 및 역할이 수행할 수 있는지도 결정할 수 있습니다.

예를 들어, 계정 444455556666에 대칭형 CMK 111122223333 계좌에서 이렇게 하려면 다음 예와 같은 정책문을 CMK 111122223333 계좌에서 이 정책문은 외부 계정인 444455556666에게 CMK 대칭형의 암호화 작업 CMKs.

{ "Sid": "Allow an external account to use this CMK", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::444455556666:root" ] }, "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:DescribeKey" ], "Resource": "*" }

외부 계정에게 권한을 부여하는 대신, 키 정책에서 특정 외부 사용자 및 역할을 지정할 수 있습니다. 그러나 이러한 사용자 및 역할은 CMK 까지 IAM 외부 계정의 관리자가 적절한 IAM 정책을 ID에 적용합니다. IAM 정책은 키 정책에 지정된 외부 사용자 및 역할의 일부 또는 전부에게 권한을 부여할 수 있습니다. 그리고 이 정책은 키 정책에 지정된 작업의 일부 또는 전부를 허용할 수 있습니다.

키 정책에서 자격 증명을 지정하면 외부 계정의 IAM 관리자가 제공할 수 있는 권한이 제한됩니다. 하지만 이렇게 하면 두 계정의 정책 관리가 더 복잡해집니다. 예를 들어, 사용자 또는 역할을 추가해야 한다고 가정합니다. 해당 ID를 을 소유한 계정의 주요 정책에 추가해야 합니다. CMK 그리고 IAM 정책들을 볼 수 있습니다.

키 정책에서 특정 외부 사용자 또는 역할을 지정하려면 Principal 요소에 외부 계정의 사용자 또는 역할의 Amazon 리소스 이름(ARN)을 입력합니다.

예를 들어, 다음 예제의 주요 정책 문은 ExampleRole 및 예제계정 444455556666의 사용자가 CMK 111122223333 계좌에서 이 핵심 정책문은 외부 계정인 444455556666에게 CMK 대칭형의 암호화 작업 CMKs.

{ "Sid": "Allow an external account to use this CMK", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::444455556666:role/ExampleRole", "arn:aws:iam::444455556666:user/ExampleUser" ] }, "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:DescribeKey" ], "Resource": "*" }
참고

허가를 허용하는 주요 정책문에 주체를 별표(*)로 설정하지 않습니다. 별표는 다른 정책문에서 명백하게 거부한 경우를 제외하고 모든 AWS 계정 내 모든 자격 증명에게 CMK를 사용할 수 있도록 허가합니다. 다른 AWS 계정의 사용자는 본인의 계정에서 CMK를 사용할 수 있는 해당 IAM 허가만 있으면 됩니다.

또한 외부 계정에게 어떤 권한을 부여할지도 결정해야 합니다. 에 대한 권한 목록은 CMKs, 참조 AWS KMS API 권한: 조치 및 리소스 참조.

외부 계정 사용 권한을 부여할 수 있습니다. CMK 에서 암호화 작업 그리고 CMK 및 AWS 통합되는 서비스를 AWS KMS. 이렇게 하려면 AWS Management 콘솔의 Key Users(키 사용자) 섹션을 사용합니다. 자세한 내용은 만들기 CMKs 다른 계정이 사용할 수 있는 단원을 참조하십시오.

키 정책에서 기타 권한을 지정하려면 키 정책 문서를 편집합니다. 예를 들어, 사용자에게 암호 해독 권한을 부여하고 암호화 권한을 부여하거나 CMK 사용하지 마십시오. 키 정책 문서를 편집하려면 AWS Management 콘솔의 Policy View(정책 보기)를 사용하거나 CreateKey 또는 PutKeyPolicy 작업을 사용할 수 있습니다.

단계 2. 추가 IAM 외부 계정의 정책

을 소유한 계정의 주요 정책 CMK 은(는) 유효한 권한 범위를 설정합니다. 그러나 외부 계정의 사용자 및 역할은 CMK 부착할 때까지 IAM 권한을 위임하거나 권한 부여를 사용하여 액세스 권한을 CMK. IAM 정책은 외부 계정에서 설정됩니다.

키 정책이 외부 계정에게 권한을 부여하는 경우 계정의 어떠한 사용자 또는 역할에든 IAM 정책을 연결할 수 있습니다. 키 정책이 지정된 사용자 또는 역할에게 권한을 부여하는 경우 IAM 정책은 지정된 사용자 및 역할의 일부 또는 전부에게만 해당 권한을 부여할 수 있습니다. 만약 IAM 정책에서 제공하는 CMK 다른 외부 사용자 또는 역할에 대한 액세스는 적용되지 않습니다.

키 정책은 IAM 정책의 작업도 제한합니다. IAM 정책은 키 정책에 지정된 작업의 일부 또는 전부를 위임할 수 있습니다. IAM 정책이 키 정책에 지정되지 않은 작업을 나열하는 경우 해당 권한은 효과가 없습니다.

다음 예제는 IAM 정책에서는 주체가 CMK 계정 내 111122223333 암호화 작업용 이 권한을 444455556666 계정의 사용자 및 역할에게 부여하려면 444455556666 계정의 사용자 또는 역할에 정책을 연결합니다.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "Allow Use Of CMK In Account 111122223333", "Effect": "Allow", "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:DescribeKey" ], "Resource": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" } ] }

이 정책에 대한 다음 세부 정보를 참고하십시오.

  • 키 정책과 달리, IAM 정책 문에는 Principal 요소가 포함되지 않습니다. IAM 정책에서 보안 주체는 정책이 연결되는 자격 증명입니다.

  • Resource 요소 IAM 정책을 통해 CMK 프린서펄이 을 사용할 수 있습니다. 를 지정하려면 CMK, 추가 키 ARN 을(를) Resource 요소.

  • 두 개 이상을 지정할 수 있습니다. CMK 에서 Resource 요소. 하지만 구체적으로 명시하지 않으면 CMKs 에서 Resource 의도치 않게 더 많은 CMKs 을(를) 사용할 수 없습니다.

  • 외부 사용자가 CMK 및 AWS 통합되는 서비스를 AWS KMS, 주요 정책 또는 IAM 정책. 자세한 내용은 외부 CMKs 및 AWS 서비스 단원을 참조하십시오.

IAM 정책 작업에 대한 자세한 내용은 IAM 정책 사용 단원을 참조하십시오.

만들기 CMKs 다른 계정이 사용할 수 있는

사용 시 키 생성 작업 생성 CMK, 이(가) Policy 매개 변수를 사용하여 주요 정책 외부 계정 또는 외부 사용자 및 역할을 부여하여 CMK. 사용자 및 역할이 키 정책에서 지정되더라도, 이러한 권한을 위임하는 외부 계정의 IAM 정책도 계정의 사용자 및 역할에 추가해야 합니다. 언제든지 PutKeyPolicy 작업을 사용하여 키 정책을 변경할 수 있습니다.

사용자가 CMK 에서 AWS Management 콘솔, 핵심 정책도 작성합니다. 에서 ID를 선택할 때 주요 관리자주요 사용자 섹션, AWS KMS 해당 ID에 대한 정책 설명을 CMK의 주요 정책.

또한 Key Users(키 사용자) 섹션을 사용하여 외부 계정을 키 사용자로 추가할 수도 있습니다.


                의 키 정책에 외부 계정을 추가하는 콘솔 요소 CMK.

외부 계정의 계정 ID를 입력하면 AWS KMS는 두 개의 문을 키 정책에 추가합니다. 이 작업은 키 정책에만 영향을 미칩니다. 외부 계정의 사용자 및 역할은 CMK 부착할 때까지 IAM 정책 이 권한의 일부 또는 전부를 제공합니다.

첫 번째 정책문은 외부 계정에 CMK 암호화 작업.

{ "Sid": "Allow use of the key", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::444455556666:root" }, "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:DescribeKey" ], "Resource": "*" }

두 번째 정책문은 외부 계정이 CMK, 그러나 요청이 AWS 통합되는 서비스를 AWS KMS. 이러한 권한은 AWS 서비스(예: 사용자 데이터를 암호화하여 CMK.

이러한 권한은 CMKs 사용자 데이터를 암호화하여 AWS 서비스(예: Amazon WorkMail. 이러한 서비스는 일반적으로 사용 권한을 얻기 위해 보조금을 사용합니다. CMK 사용자 을(를) 대신합니다. 자세한 내용은 외부 CMKs 및 AWS 서비스 단원을 참조하십시오.

{ "Sid": "Allow attachment of persistent resources", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::444455556666:root" }, "Action": [ "kms:CreateGrant", "kms:ListGrants", "kms:RevokeGrant" ], "Resource": "*", "Condition": { "Bool": { "kms:GrantIsForAWSResource": "true" } } }

이러한 권한이 필요에 맞지 않으면 콘솔의 policy view(정책 보기)에서 또는 PutKeyPolicy 작업을 사용하여 권한을 편집할 수 있습니다. 외부 계정에게 권한을 부여하는 대신, 특정 외부 사용자 및 역할을 지정할 수 있습니다. 정책이 지정하는 작업을 변경할 수 있습니다. 그리고 글로벌 및 AWS KMS 정책 조건을 사용하여 권한을 세부적으로 지정할 수 있습니다.

외부 CMKs 및 AWS 서비스

다른 계정의 사용자에게 을(를) 사용할 수 있는 권한을 부여할 수 있습니다. CMK 통합 서비스를 통해 AWS KMS. 예를 들어, 외부 계정의 사용자는 CMK ~까지 객체 암호화 Amazon S3 버킷 또는 저장 중인 비밀을 암호화합니다. AWS Secrets Manager.

키 정책은 외부 사용자 또는 외부 사용자의 계정 사용 권한을 부여해야 합니다. CMK. 추가로, 사용자에게 AWS 서비스를 사용할 수 있는 권한을 부여하는 IAM 정책을 자격 증명에 연결해야 합니다.

또한 특정 서비스에서 사용자는 키 정책에 있는 추가 권한이 필요할 수 있습니다. 예를 들어, CMK. 또는 특정 IAM 정책이 필요할 수 있습니다. 세부 정보는 해당 서비스에 대한 설명서를 참조하십시오.

마지막으로, CMKs 표시 AWS Management 콘솔 통합 서비스에는 CMKs 외부 계정. 사용자 또는 역할이 해당 키를 사용할 권한을 가지고 있는 경우에도 마찬가지입니다. 외부 계정을 사용하려면 CMK, 사용자는 CMK. 세부 정보는 해당 서비스의 콘솔 설명서를 참조하십시오.