

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

# 고객 관리형 키(CMK) 사용
<a name="import-model-using-cmk"></a>

고객 관리형 키를 사용하여 가져온 사용자 지정 모델을 암호화하려는 경우 다음 단계를 완료합니다.

1. AWS Key Management Service를 사용하여 고객 관리형 키를 만듭니다.

1. 지정된 역할에 대한 권한이 있는 [리소스 기반 정책](https://docs.aws.amazon.com//IAM/latest/UserGuide/access_policies_identity-vs-resource.html)을 연결하여 가져온 사용자 지정 모델을 만들고 사용할 수 있습니다.

**고객 관리형 키 생성**

먼저 `CreateKey` 권한이 있어야 합니다. 그런 다음 [키를 생성하는](https://docs.aws.amazon.com//kms/latest/developerguide/create-keys.html) 단계에 따라 AWS KMS콘솔 또는 [CreateKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateKey.html) API 작업에서 고객 관리형 키를 생성합니다. 대칭 암호화 키를 생성해야 합니다.

키를 만들면 사용자 지정 모델 가져오기로 사용자 지정 모델을 가져올 때 `importedModelKmsKeyId `로 사용할 수 있는 키에 대한 `Arn`이 반환됩니다.

**키 정책을 만들고 고객 관리형 키에 연결**

키 정책은 고객 관리형 키에 연결하여 액세스 권한을 제어하는 [리소스 기반 정책](https://docs.aws.amazon.com//IAM/latest/UserGuide/access_policies_identity-vs-resource.html)입니다. 모든 고객 관리형 키에는 키를 사용할 수 있는 사람과 키를 사용하는 방법을 결정하는 문장이 포함된 정확히 하나의 키 정책이 있어야 합니다. 고객 관리형 키를 생성할 때 키 정책을 지정할 수 있습니다. 키 정책은 언제든지 수정할 수 있지만 변경 사항이 AWS KMS 전체에 적용되기까지 약간의 시간이 필요할 수 있습니다. 자세한 내용은 *AWS Key Management Service 개발자 안내서*에서 [고객 관리형 키 액세스 관리](https://docs.aws.amazon.com//kms/latest/developerguide/control-access-overview.html#managing-access)를 참조하세요.

**가져온 사용자 지정 모델 암호화**

고객 관리형 키를 사용하여 가져온 사용자 지정 모델을 암호화하려면 키 정책에 다음 AWS KMS작업을 포함해야 합니다.
+ [kms:CreateGrant](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateGrant.html) – [권한 부여 작업](https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#terms-grant-operations)을 통해 Amazon Bedrock 서비스 위탁자가 지정된 KMS 키에 액세스할 수 있도록 하여 고객 관리형 키에 대한 권한을 만듭니다. 권한에 대한 자세한 내용은 *AWS Key Management Service 개발자 안내서*에서 [Grants in AWS KMS](https://docs.aws.amazon.com/kms/latest/developerguide/grants.html)를 참조하세요.
**참고**  
또한 Amazon Bedrock은 사용 중지 위탁자를 설정하고 더 이상 필요하지 않은 권한 부여를 자동으로 사용 중지합니다.
+ [kms:DescribeKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html) - Amazon Bedrock이 키를 검증할 수 있도록 고객 관리형 키 세부 정보를 제공합니다.
+ [kms:GenerateDataKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateDataKey.html) – Amazon Bedrock이 사용자 액세스를 검증할 수 있도록 고객 관리형 키 세부 정보를 제공합니다. Amazon Bedrock은 가져온 사용자 지정 모델과 생성된 사이퍼텍스트를 함께 저장하여 가져온 사용자 지정 모델 사용자에 대한 추가적인 검증 검사에 사용합니다.
+ [kms:Decrypt](https://docs.aws.amazon.com/kms/latest/APIReference/API_Decrypt.html) - 저장된 사이퍼텍스트를 복호화하여 역할이 가져온 사용자 지정 모델을 암호화하는 KMS 키에 적절하게 액세스할 수 있는지 확인합니다.

다음은 가져온 모델을 암호화하는 데 사용할 역할의 키에 연결할 수 있는 정책 예제입니다.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Id": "KMS key policy for a key to encrypt an imported custom model",
    "Statement": [
        {
            "Sid": "Permissions for model import API invocation role",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::111122223333:user/role"
            },
            "Action": [
                "kms:Decrypt",
                "kms:GenerateDataKey",
                "kms:DescribeKey",
                "kms:CreateGrant"
            ],
            "Resource": "*"
        }
    ]
}
```

------

**암호화된 가져온 사용자 지정 모델 복호화**

이미 다른 고객 관리형 키로 암호화된 사용자 지정 모델을 가져오는 경우, 다음 정책과 같이 동일한 역할에 대한 `kms:Decrypt` 권한을 추가해야 합니다.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Id": "KMS key policy for a key that encrypted a custom imported model",
    "Statement": [
        {
            "Sid": "Permissions for model import API invocation role",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::111122223333:user/role"
            },
            "Action": [
                "kms:Decrypt"
            ],
            "Resource": "*"
        }
    ]
}
```

------