

# 조직 및 OU가 KMS 키를 사용할 수 있도록 허용
<a name="allow-org-ou-to-use-key"></a>

암호화된 스냅샷에서 지원하는 AMI를 공유하는 경우 조직 또는 조직 단위(OU)가 스냅샷을 암호화하는 데 사용되는 KMS 키를 사용하도록 허용해야 합니다.

**참고**  
암호화된 스냅샷은 *고객 관리형* 키로 암호화해야 합니다. 기본 AWS 관리형 키로 암호화된 스냅샷의 지원을 받는 AMI는 공유할 수 없습니다.

KMS 키에 대한 액세스를 제어하려면 [키 정책](https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html)에서 [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-principalorgid](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-principalorgid) 및 [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-principalorgpaths](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-principalorgpaths) 조건 키를 사용하여 지정된 작업에 대한 특정 위탁자 권한만 허용할 수 있습니다. 보안 주체는 사용자, IAM 역할, 페더레이션 사용자 또는 AWS 계정 루트 사용자일 수 있습니다.

조건 키는 다음과 같이 사용됩니다.
+ `aws:PrincipalOrgID` - 지정된 ID로 표시되는 조직에 속한 모든 보안 주체를 허용합니다.
+ `aws:PrincipalOrgPaths` – 지정된 경로로 표시되는 OU에 속한 모든 보안 주체를 허용합니다.

조직(해당 조직에 속한 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 키에 속한 계정)에 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 사용 설명서*의 [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-principalorgid](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-principalorgid) 및 [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-principalorgpaths](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-principalorgpaths) 섹션을 참조하세요.

교차 계정 액세스 권한에 대한 내용은 *AWS Key Management Service개발자 가이드*의 [다른 계정의 사용자가 KMS를 사용하도록 허용](https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-modifying-external-accounts.html)을 참조하세요.