조직과 OU가 KMS 키를 사용하도록 허용하기
조직과 OU가 KMS 키를 사용하도록 허용하기
암호화된 스냅샷으로 백업되는 AMI를 공유하려면, 그 스냅샷을 암호화하는 데 사용한 KMS 키를 조직(organization)이나 조직 단위(OU, organizational unit)가 사용하도록 허용해야 해요. 권한을 허용하지 않으면 공유 AMI로 만든 인스턴스가 스냅샷을 복호화하지 못해 원활히 동작하지 않을 수 있어요.
출처: 문서
본문
참고 — 암호화된 스냅샷은 **고객 관리형 키(customer managed key)**로 암호화되어 있어야 해요. 기본 AWS 관리형 키로 암호화된 스냅샷으로 백업된 AMI는 공유할 수 없습니다.
KMS 키에 대한 접근을 제어하려면 키 정책(key policy)에서 aws:PrincipalOrgID와 aws:PrincipalOrgPaths 조건 키를 사용해, 지정된 작업에 대해 특정 프린시펄(principal)만 권한을 갖도록 허용할 수 있어요. 프린시펄은 사용자, IAM 역할, 페더레이션 사용자, 또는 AWS 계정 루트 사용자가 될 수 있어요.
조건 키는 다음과 같이 사용해요.
aws:PrincipalOrgID– 지정된 ID가 나타내는 조직에 속한 모든 프린시펄을 허용합니다.aws:PrincipalOrgPaths– 지정된 경로가 나타내는 OU에 속한 모든 프린시펄을 허용합니다.
조직에 KMS 키 사용 권한 부여
조직(조직에 속한 OU와 계정 포함)에 KMS 키 사용 권한을 주려면 키 정책에 다음 문을 추가하세요.
{
"Sid": "Allow access for organization root",
"Effect": "Allow",
"Principal": "*",
"Action": [
"kms:Describe*",
"kms:List*",
"kms:Get*",
"kms:Encrypt",
"kms:Decrypt",
"kms:ReEncrypt*",
"kms:GenerateDataKey*",
"kms:CreateGrant"
],
"Resource": "*",
"Condition": {
"StringEquals": {
"aws:PrincipalOrgID": "o-123example"
}
}
}
특정 OU에 KMS 키 사용 권한 부여
특정 OU(그리고 그에 속한 계정)에 KMS 키 사용 권한을 주려면 다음 예제와 유사한 정책을 사용할 수 있어요.
{
"Sid": "Allow access for specific OUs and their descendants",
"Effect": "Allow",
"Principal": "*",
"Action": [
"kms:Describe*",
"kms:List*",
"kms:Get*",
"kms:Encrypt",
"kms:Decrypt",
"kms:ReEncrypt*",
"kms:GenerateDataKey*",
"kms:CreateGrant"
],
"Resource": "*",
"Condition": {
"StringEquals": {
"aws:PrincipalOrgID": "o-123example"
},
"ForAnyValue:StringLike": {
"aws:PrincipalOrgPaths": [
"o-123example/r-ab12/ou-ab12-33333333/*",
"o-123example/r-ab12/ou-ab12-22222222/*"
]
}
}
}
조건 문의 더 많은 예제는 IAM 사용 설명서의 aws:PrincipalOrgID와 aws:PrincipalOrgPaths를 참고하세요. 교차 계정 접근에 대한 자세한 내용은 AWS Key Management Service 개발자 안내서의 "다른 계정의 사용자가 KMS 키를 사용하도록 허용"을 참고해요.
더 알아보기 (Learn more)
- 조직 또는 OU의 ARN 가져오기와 조직·OU와의 AMI 공유 관리 문서를 함께 확인하세요.