翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
カスタマーマネージドキー (CMK) を使用する
インポートしたカスタムモデルをカスタマーマネージドキーを使用して暗号化する予定の場合は、次の手順を実行してください。
-
AWS Key Management Service でカスタマーマネージドキーを作成します。
-
インポートしたカスタムモデルを、指定したロールが作成および使用するためのアクセス許可を定めたリソースベースのポリシーをアタッチします。
カスタマーマネージドキーを作成する
まず、CreateKey
のアクセス許可が与えられていることを確認します。その上で、キーの作成手順に従って、AWS KMS コンソールまたは CreateKey API オペレーションを使用してカスタマーマネージドキーを作成します。必ず対称暗号化キーを作成してください。
キーを作成すると、そのキーの Arn
が返されます。これを、カスタムモデルインポート機能でカスタムモデルをインポートするときに、importedModelKmsKeyId
として使用できます。
キーポリシーを作成してカスタマーマネージドキーにアタッチする
キーポリシーとは、カスタマーマネージドキーにアタッチして、そのキーへのアクセスを制御するリソースベースのポリシーです。すべてのカスタマーマネージドキーには、キーポリシーが 1 つだけ必要です。このポリシーには、そのキーを使用できるユーザーとその使用方法を決定するステートメントが含まれています。カスタマーマネージドキーを作成する際に、キーポリシーを指定することができます。キーポリシーはいつでも変更できますが、AWS KMS 全体に変更が反映されるまで、多少時間がかかる場合があります。詳細については、「AWS Key Management Service デベロッパーガイド」の「カスタマーマスターキーへのアクセスを制御する」を参照してください。
インポートしたカスタムモデルを暗号化する
インポートしたカスタムモデルをカスタマーマネージドキーを使用して暗号化するには、キーポリシーに次の AWS KMS オペレーションを含める必要があります。
-
kms:CreateGrant – グラントオペレーションによる指定された KMS キーへのアクセスを Amazon Bedrock サービスプリンシパルに許可して、カスタマーマネージドキーのグラントを作成します。グラントの詳細については、「AWS Key Management Service デベロッパーガイド」の「Grants in AWS KMS」を参照してください。
注記
また、Amazon Bedrock では廃止プリンシパルを設定し、不要になったグラントを自動的に廃止します。
-
kms:DescribeKey – カスタマーマネージドキーの詳細情報を提供して、Amazon Bedrock にキーの検証を許可します。
-
kms:GenerateDataKey – カスタマーマネージドキーの詳細情報を提供して、Amazon Bedrock にユーザーアクセスの検証を許可します。Amazon Bedrock は、生成された暗号文を、インポートしたカスタムモデルとともに保存し、インポートしたカスタムモデルのユーザーに対する追加の検証チェックとして使用します。
-
kms:Decrypt – 保存された暗号文を復号して、インポートしたカスタムモデルを暗号化する KMS キーに、ロールが適切にアクセスできることを確認します。
以下は、ロール用のキーにアタッチできるポリシー例です。このキーを使用して、インポートしたカスタムモデルを暗号化します。
{ "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::${account-id}:user/role" }, "Action": [ "kms:Decrypt", "kms:GenerateDataKey", "kms:DescribeKey", "kms:CreateGrant" ], "Resource": "*" } ] }
暗号化したカスタムインポートモデルを復号する
別のカスタマーマネージドキーで既に暗号化されているカスタムモデルをインポートする場合は、次のポリシーに示すように、同じロールに対して kms:Decrypt
のアクセス許可を追加する必要があります。
{ "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::${account-id}:user/role" }, "Action": [ "kms:Decrypt" ], "Resource": "*" } ] }