

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# カスタマーマネージドキー (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 オペレーションでカスタマーマネージドキーを作成します。必ず対称暗号化キーを作成してください。

キーを作成すると、そのキーの `Arn` が返されます。これを、カスタムモデルインポート機能でカスタムモデルをインポートするときに、`importedModelKmsKeyId ` として使用できます。

**キーポリシーを作成してカスタマーマネージドキーにアタッチする**

キーポリシーとは、カスタマーマネージドキーにアタッチして、そのキーへのアクセスを制御する[リソースベースのポリシー](https://docs.aws.amazon.com//IAM/latest/UserGuide/access_policies_identity-vs-resource.html)です。すべてのカスタマーマネージドキーには、キーポリシーが 1 つだけ必要です。このポリシーには、そのキーを使用できるユーザーとその使用方法を決定するステートメントが含まれています。カスタマーマネージドキーを作成する際に、キーポリシーを指定することができます。キーポリシーはいつでも変更できますが、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)による指定された KMS キーへのアクセスを Amazon Bedrock サービスプリンシパルに許可して、カスタマーマネージドキーのグラントを作成します。グラントの詳細については、「*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": "*"
        }
    ]
}
```

------