

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# 키 정책 검사
<a name="determining-access-key-policy"></a>

[키 정책](key-policies.md)은 KMS 키에 대한 액세스를 제어하는 기본적인 방법입니다. 모든 KMS 키에는 정확히 하나의 키 정책이 있습니다.

키 정책이 [기본 키 정책](key-policy-default.md#key-policy-default-allow-root-enable-iam)으로 구성되거나 포함하는 경우 키 정책은 계정의 IAM 관리자가 IAM 정책을 사용하여 KMS 키에 대한 액세스를 제어하도록 허용합니다. 또한 키 정책이 [다른 AWS 계정](key-policy-modifying-external-accounts.md)에 KMS 키를 사용할 수 있는 권한을 부여하는 경우 외부 계정의 IAM 관리자는 IAM 정책을 사용하여 해당 권한을 위임할 수 있습니다. KMS 키에 액세스할 수 있는 보안 주체의 전체 목록을 결정하려면 [IAM 정책을 검사](determining-access-iam-policies.md)하십시오.

계정[AWS 관리형 키](concepts.md#aws-managed-key)에서 AWS KMS [ 고객 관리형 키](concepts.md#customer-mgn-key) 또는의 키 정책을 보려면 AWS KMS API에서 AWS Management Console 또는 [GetKeyPolicy](https://docs.aws.amazon.com/kms/latest/APIReference/API_GetKeyPolicy.html) 작업을 사용합니다. 키 정책을 보려면 KMS 키에 대한 `kms:GetKeyPolicy` 권한이 있어야 합니다. KMS 키에 대한 키 정책을 보는 방법은 [키 정책 보기](key-policy-viewing.md) 단원을 참조하십시오.

키 정책 문서를 검사하고 각 정책 문서의 `Principal` 요소에 지정된 모든 보안 주체를 기록해 둡니다. `Allow` 효과가 있는 정책 설명에서 IAM 사용자, IAM 역할 및 `Principal` 요소의는이 KMS 키 AWS 계정 에 액세스할 수 있습니다.

**참고**  
[조건](policy-conditions.md)을 사용하여 키 정책을 제한하지 않는 한 권한을 허용하는 키 정책문에서 보안 주체를 별표(\*)로 설정하지 마세요. 별표는 다른 정책 문이 명시적으로 거부하지 않는 한 모든 자격 증명에 KMS 키를 사용할 수 있는 AWS 계정 권한을 부여합니다. 다른의 사용자는 자신의 계정에 해당 권한이 있을 때마다 KMS 키를 사용할 AWS 계정 수 있습니다.

다음 예제는 [기본 키 정책](key-policy-default.md)에 수록된 정책문을 사용하여 이를 수행하는 방법을 보여줍니다.

**Example 정책문 1**  

```
{
  "Sid": "Enable IAM User Permissions",
  "Effect": "Allow",
  "Principal": {"AWS": "arn:aws:iam::111122223333:root"},
  "Action": "kms:*",
  "Resource": "*"
}
```
정책 설명 1에서 `arn:aws:iam::111122223333:root`는 AWS 계정 111122223333을 참조하는 [AWS 계정 보안 주체](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html#principal-accounts)입니다. (계정 루트 사용자가 아닙니다.) 기본적으로를 사용하여 새 KMS 키를 생성 AWS Management Console하거나 프로그래밍 방식으로 새 KMS 키를 생성하지만 키 정책을 제공하지 않는 경우 이와 같은 정책 문이 키 정책 문서에 포함됩니다.  
에 대한 액세스를 허용하는 문이 있는 키 정책 문서를 AWS 계정 사용하면 [계정의 IAM 정책이 KMS 키에 대한 액세스를 허용할 수 있습니다](key-policy-default.md#key-policy-default-allow-root-enable-iam). 즉 이 계정의 사용자와 역할은 키 정책 문서에 보안 주체로 명시되지 않은 경우에도 KMS 키에 액세스할 수 있습니다. 보안 주체로 AWS 계정 나열된 모든의 모든 [IAM 정책을 검사](determining-access-iam-policies.md)하여이 KMS 키에 대한 액세스를 허용하는지 확인합니다.

**Example 정책문 2**  

```
{
  "Sid": "Allow access for Key Administrators",
  "Effect": "Allow",
  "Principal": {"AWS": "arn:aws:iam::111122223333:role/KMSKeyAdmins"},
  "Action": [
    "kms:Describe*",
    "kms:Put*",
    "kms:Create*",
    "kms:Update*",
    "kms:Enable*",
    "kms:Revoke*",
    "kms:List*",
    "kms:Disable*",
    "kms:Get*",
    "kms:Delete*",
    "kms:ScheduleKeyDeletion",
    "kms:CancelKeyDeletion"
  ],
  "Resource": "*"
}
```
정책 설명 2에서는 AWS 계정 111122223333에서 KMSKeyAdmins라는 IAM 역할을 `arn:aws:iam::111122223333:role/KMSKeyAdmins` 참조합니다. 이 역할을 수임할 권한이 있는 사용자는 KMS 키 관리를 위한 관리 작업인 정책 문에 나열된 작업을 수행할 수 있습니다.

**Example 정책문 3**  

```
{
  "Sid": "Allow use of the key",
  "Effect": "Allow",
  "Principal": {"AWS": "arn:aws:iam::111122223333:role/EncryptionApp"},
  "Action": [
    "kms:DescribeKey",
    "kms:GenerateDataKey*",
    "kms:Encrypt",
    "kms:ReEncrypt*",
    "kms:Decrypt"
  ],
  "Resource": "*"
}
```
정책 설명 3에서는 EncryptionApp in AWS 계정 111122223333이라는 IAM 역할을 `arn:aws:iam::111122223333:role/EncryptionApp` 참조합니다. 이 역할을 맡을 권한이 있는 보안 주체는 대칭 암호화 KMS 키에 대한 [암호화 작업](kms-cryptography.md#cryptographic-operations)을 포함하여 정책 문에 나열된 작업을 수행할 수 있습니다.

**Example 정책문 4**  

```
{
  "Sid": "Allow attachment of persistent resources",
  "Effect": "Allow",
  "Principal": {"AWS": "arn:aws:iam::111122223333:role/EncryptionApp"},
  "Action": [
    "kms:ListGrants",
    "kms:CreateGrant",
    "kms:RevokeGrant"
  ],
  "Resource": "*",
  "Condition": {"Bool": {"kms:GrantIsForAWSResource": true}}
}
```
정책 설명 4에서는 EncryptionApp in AWS 계정 111122223333이라는 IAM 역할을 `arn:aws:iam::111122223333:role/EncryptionApp` 참조합니다. 이 역할을 맡을 수 있는 권한을 지닌 보안 주체는 정책 문에 수록된 작업을 수행할 수 있습니다. **예제 정책문 3**에서 허용된 작업과 결합된 이러한 작업은 [AWS KMS와 통합되는 대부분의AWS 서비스](service-integration.md), 특히 [권한 부여](grants.md)를 사용하는 서비스에 KMS 키 사용을 위임하는 데 필요한 작업입니다. `Condition` 요소의 [kms:GrantIsForAWSResource](conditions-kms.md#conditions-kms-grant-is-for-aws-resource) 값은 위임이 AWS KMS 와 통합되고 권한 부여를 사용하는 AWS 서비스인 경우에만 위임이 허용되도록 합니다.

키 정책 문서에서 보안 주체를 지정할 수 있는 모든 다양한 방법을 알아보려면 *IAM 사용 설명서*의 [보안 주체 지정](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements.html#Principal_specifying)을 참조하십시오.

 AWS KMS 키 정책에 대한 자세한 내용은 섹션을 참조하세요[의 키 정책 AWS KMS](key-policies.md).