

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

# カスタマーマネージドキー (CMK) を使用したエージェントリソースの暗号化
<a name="cmk-agent-resources"></a>

エージェントの構築時に指定された次のエージェント情報を使用し、いつでもカスタマーマネージドキーを作成してエージェントの情報を暗号化できます。

**注記**  
次のエージェントリソースは、2025 年 1 月 22 日以降に作成されたエージェントに対してのみ暗号化されます。


****  


- **[CreateAgent](https://docs.aws.amazon.com//bedrock/latest/APIReference/API_agent_CreateAgent.html)**
  - **CMK 対応フィールド:** instruction / **説明:** エージェントに、実行すべき動作、およびユーザーとやり取りする方法を指示します
  - **CMK 対応フィールド:** basePromptTemplate / **説明:** デフォルトのプロンプトテンプレートを置き換えるプロンプトテンプレートを定義します。

- **[CreateAgentActionGroup](https://docs.aws.amazon.com//bedrock/latest/APIReference/API_agent_CreateAgentActionGroup.html)**
  - **CMK 対応フィールド:** description / **説明:** アクショングループの説明
  - **CMK 対応フィールド:** [apiSchema](https://docs.aws.amazon.com//bedrock/latest/APIReference/API_agent_APISchema.html) / **説明:** エージェントアクショングループの apiSchema またはスキーマを定義する JSON または YAML 形式のペイロードの詳細が含まれます。
  - **CMK 対応フィールド:** [s3](https://docs.aws.amazon.com//bedrock/latest/APIReference/API_agent_APISchema.html) / **説明:** エージェントアクショングループの apiSchema を含む Amazon S3 オブジェクトの詳細が含まれます。
  - **CMK 対応フィールド:** functionSchema / **説明:** エージェントアクショングループの関数スキーマまたはスキーマを定義する JSON-YAML 形式のペイロードの詳細が含まれます。

- **[AssociateAgentKnowledgeBase](https://docs.aws.amazon.com//bedrock/latest/APIReference/API_agent_AssociateAgentKnowledgeBase.html)**
  - **CMK 対応フィールド:** description
  - **説明:** エージェントによるナレッジベースの用途の説明

- **[AssociateAgentCollaborator](https://docs.aws.amazon.com//bedrock/latest/APIReference/API_agent_AssociateAgentCollaborator.html)**
  - **CMK 対応フィールド:** collaborationInstruction
  - **説明:** 共同作業者エージェントへの指示



カスタマーマネージドキーを使用するには、以下のステップを実行します。

1.  AWS Key Management Serviceでカスタマーマネージドキーを作成します。

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

## カスタマーマネージドキーを作成する
<a name="create-cmk-agent"></a>

対称カスタマーマネージドキーは、 AWS マネジメントコンソールまたは AWS Key Management Service APIs を使用して作成できます。

 まず、`CreateKey` アクセス許可があることを確認し、「*AWS Key Management Service デベロッパーガイド*」の「[対称カスタマーマネージドキーの作成](https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html#create-symmetric-cmk)」のステップに従います。

**キーポリシー** - キーポリシーは、カスタマーマネージドキーへのアクセスを制御します。すべてのカスタマーマネージドキーには、キーポリシーが 1 つだけ必要です。このポリシーには、そのキーを使用できるユーザーとその使用方法を決定するステートメントが含まれています。キーポリシーは、カスタマーマネージドキーの作成時に指定できます。詳細については、「*AWS Key Management Service デベロッパーガイド*」の「[カスタマーマネージドキーへのアクセスを管理する](https://docs.aws.amazon.com/kms/latest/developerguide/overview.html)」を参照してください。

2025 年 1 月 22 日以降にエージェントを作成し、カスタマーマネージドキーを使用してエージェントの情報を暗号化する場合は、エージェント API オペレーションを呼び出すユーザーまたはロールに、キーポリシーで次のアクセス許可が付与されていることを確認してください。
+ [kms:GenerateDataKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateDataKey.html) - AWS KMS の外部で使用する一意の対称データキーを返します。
+ [kms:Decrypt](https://docs.aws.amazon.com/kms/latest/APIReference/API_Decrypt.html) – KMS キーによって暗号化された暗号文を復号します。

キーの作成は、エージェントの作成時に `customerEncryptionKeyArn` として使用できるキーの `Arn` を返します。

## キーポリシーを作成してカスタマーマネージドキーにアタッチする
<a name="attach-policy-agent"></a>

カスタマーマネージドキーを使用してエージェントリソースを暗号化する場合、Amazon Bedrock がユーザーに代わってエージェントリソースを暗号化および復号できるように、ID ベースのポリシーとリソースベースのポリシーを設定する必要があります。

**ID ベースのポリシー**

ユーザーに代わってエージェントリソースを暗号化および復号するエージェント API を呼び出すアクセス許可を持つ IAM ロールまたはユーザーに、次の ID ベースのポリシーをアタッチします。このポリシーは、API コールを行うユーザーが AWS KMS アクセス許可を持っていることを検証します。`${region}`、`${account-id}`、`${agent-id}`、`${key-id}` を適切な値に置き換えます。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "EncryptAgents",
            "Effect": "Allow",
            "Action": [
                "kms:GenerateDataKey",
                "kms:Decrypt"
            ],
            "Resource": "arn:aws:kms:{{us-east-1}}:{{123456789012}}:key/${key-id}",
            "Condition": {
                "StringEquals": {
                    "kms:EncryptionContext:aws:bedrock:arn": "arn:aws:bedrock:{{us-east-1}}:{{123456789012}}:agent/${agent-id}"
                }
            }
        }
    ]
}
```

------

**リソースベースのポリシー**

Amazon S3 のスキーマが暗号化されているアクショングループを作成する*場合にのみ*、次のリソースベースのポリシーを AWS KMS キーにアタッチします。他のユースケースでは、リソースベースのポリシーをアタッチする必要はありません。

次のリソースベースのポリシーをアタッチするには、必要に応じてアクセス許可の範囲を変更し、`${region}`、`${account-id}`、`${agent-id}`、`${key-id}` を適切な値に置き換えます。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "Allow account root to modify the KMS key, not used by Amazon Bedrock.",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::{{111122223333}}:root"
            },
            "Action": "kms:*",
            "Resource": "arn:aws:kms:{{us-east-1}}:{{123456789012}}:key/${key-id}"
        },
        {
            "Sid": "Allow Amazon Bedrock to encrypt and decrypt Agent resources on behalf of authorized users",
            "Effect": "Allow",
            "Principal": {
                "Service": "bedrock.amazonaws.com"
            },
            "Action": [
                "kms:GenerateDataKey",
                "kms:Decrypt"
            ],
            "Resource": "arn:aws:kms:{{us-east-1}}:{{123456789012}}:key/${key-id}",
            "Condition": {
                "StringEquals": {
                    "kms:EncryptionContext:aws:bedrock:arn": "arn:aws:bedrock:{{us-east-1}}:{{123456789012}}:agent/${agent-id}"
                }
            }
        }
    ]
}
```

------

## カスタマーマネージドキーの変更
<a name="change-cmk"></a>

Amazon Bedrock エージェントは、*DRAFT* エージェントに関連付けられたカスタマーマネージドキーが変更された場合、またはカスタマーマネージドキーから AWS 所有キーに移行した場合、バージョニングされたエージェントの再暗号化をサポートしていません。*DRAFT* リソースのデータのみが新しいキーで再暗号化されます。

バージョニングされたエージェントのキーを使用して本番データを処理する場合、そのキーのアクセス許可を削除しないでください。

バージョンで使用されているキーを表示および確認するには、[GetAgentVersion](https://docs.aws.amazon.com//bedrock/latest/APIReference/API_agent_GetAgentVersion.html) を呼び出し、レスポンスで `customerEncryptionKeyArn` を確認します。