AWS 조직의 모든 계정이 내 계정의 AWS KMS 키를 사용하도록 허용하려면 어떻게 해야 합니까?

최종 업데이트 날짜: 2021년 8월 5일

AWS Key Management Service(AWS KMS) 키 액세스를 AWS 조직에 속한 보안 주체로만 제한하고 싶습니다.

간략한 설명

aws:PrincipalOrgID 글로벌 조건 키는 AWS KMS의 리소스 기반 정책에서 보안 주체 요소와 함께 사용할 수 있습니다. 조직의 모든 AWS 계정 ID를 나열하는 대신 조건 요소에 조직 ID를 지정할 수 있습니다.

해결 방법

AWS 조직의 모든 계정이 AWS 글로벌 조건 컨텍스트 키 aws:PrincipalOrgID를 사용하여 AWS KMS 작업을 수행하도록 허용하는 AWS KMS 키 정책을 생성합니다.

중요: AWS Identity and Access Management(IAM) 정책으로 최소 권한을 부여하는 것이 모범 사례입니다.

명령문의 조건 요소에 AWS 조직 ID를 지정하여 조직 내 계정의 보안 주체만 AWS KMS 키에 액세스할 수 있도록 합니다. 조직 ID를 가져오려면 다음 단계를 따르세요.

  1. AWS Organizations 콘솔을 엽니다.
  2. 설정을 선택합니다.
  3. 조직 세부 정보에서 조직 ID를 복사합니다.

다음 AWS KMS 키 정책 설명에는 ID가 o-xxxxxxxxxxx인 AWS 조직에 속한 모든 AWS 계정의 자격 증명이 KMS 키를 사용할 수 있도록 허용합니다.

{
  "Sid": "Allow use of the KMS key for organization",
  "Effect": "Allow",
  "Principal": {
    "AWS": "*"
  },
  "Action": [
    "kms:Decrypt",
    "kms:DescribeKey",
    "kms:Encrypt",
    "kms:ReEncrypt*",
    "kms:GetKeyPolicy"
  ],
  "Resource": "*",
  "Condition": {
    "StringEquals": {
      "aws:PrincipalOrgID": "o-xxxxxxxxxxx"
    }
  }
}

참고: aws:PrincipalOrgID 글로벌 조건 컨텍스트 키는 AWS 서비스 보안 주체에 대한 액세스 제한에 사용할 수 없습니다. API 호출을 호출하는 AWS 서비스는 AWS 조직에 속하지 않은 내부 AWS 계정에서 이루어집니다.