

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

# Amazon Bedrockデータ自動化での暗号化
<a name="encryption-bda"></a>

 Amazon Bedrockデータ自動化 (BDA) は、暗号化を使用して保管中のデータを保護します。これには、サービスで保存されているブループリント、プロジェクト、抽出されたインサイトが含まれます。BDA には、データを暗号化するためのオプションが 2 つ用意されています。

1. AWS所有キー – デフォルトでは、BDA はAWS所有キーを使用してデータを暗号化します。AWS所有キーを表示、管理、使用したり、その使用を監査したりすることはできません。ただし、データを暗号化するキーを保護するためのアクションの実施やプログラムの変更を行う必要はありません。詳細については、「 Key Management Service デベロッパーガイド」の「 [AWS所有](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-owned-cmk)AWSキー」を参照してください。

1.  カスタマーマネージドキー – 自分で管理するカスタマーマネージドキーを使用してデータを暗号化できます。AWS KMSキーの詳細については、[「 Key Management Service デベロッパーガイド」の「カスタマーマネージド](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk)AWSキー」を参照してください。BDA は、Amazon Bedrock コンソールで使用するためのカスタマーマネージドキーをサポートしておらず、API オペレーションのみをサポートしています。

Amazon Bedrockデータオートメーションは、AWS所有キーを使用した保管時の暗号化を無償で自動的に有効にします。カスタマーマネージドキーを使用する場合、AWS KMS料金が適用されます。料金の詳細については、AWS KMS[「 の料金](https://aws.amazon.com/kms/pricing/)」を参照してください。

## で 許可Amazon Bedrockを使用する方法AWS KMS
<a name="encryption-bda-grants"></a>

 invokeDataAutomationAsync を呼び出すときに BDA の暗号化にカスタマーマネージドキーを指定すると、CreateGrant リクエストを送信することで、サービスがユーザーに代わってリソースに関連付けられた許可を作成しますAWS KMS。この権限により、BDA はカスタマーマネージドキーにアクセスして使用できます。

 BDA では、カスタマーマネージドキーの権限を次の内部オペレーションに使用します。
+ DescribeKey — リクエストを に送信AWS KMSして、指定した対称カスタマーマネージドAWS KMSキー ID が有効であることを確認します。
+ GenerateDataKey と Decrypt — にリクエストを送信AWS KMSして、カスタマーマネージドキーによって暗号化されたデータキーを生成し、暗号化されたデータキーを復号して、リソースの暗号化に使用できます。
+ CreateGrant — オペレーションAWS KMSの非同期実行のために、上記のオペレーションのサブセット (DescribeKey、GenerateDataKey、Decrypt) を使用してスコープダウンされたグラントを作成するリクエストを に送信します。

 カスタマーマネージドAWS KMSキーへのフルアクセスがあります。権限へのアクセスを取り消すには、AWS KMS デベロッパーガイドの「権限の取得と取り消し」のステップを実行します。または、カスタマーマネージドキーへのサービスのアクセスを随時削除するには、キーポリシーを変更します。そうすると、BDA ではキーで暗号化されたリソースにアクセスできなくなります。

権限を取り消した後で新しい invokeDataAutomationAsync 呼び出しを開始すると、BDA によって権限が再作成されます。権限は 30 時間後に BDA によって廃止されます。

## カスタマーマネージドキーの作成とキーポリシーのアタッチ
<a name="encryption-bda-creating-keys"></a>

 作成および管理するキーを使用して BDA リソースを暗号化するには、次の一般的なステップを実行します。

1.  (前提条件) IAM ロールに CreateKey アクションのアクセス権があることを確認します。

1.  [ 「キーの作成](https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html)」の手順に従って、 AWS KMSコンソールまたは CreateKey オペレーションを使用してカスタマーマネージドキーを作成します。

1.  キーを作成すると、invokeDataAutomationAsync オペレーションなど、キーを使用する必要があるオペレーション (例: BDA でプロジェクトまたはブループリントを作成する場合) に使用できる ARN が返されます。

1.  必要なアクセス権を持つキーポリシーを作成してキーにアタッチします。キーポリシーを作成するには、「 AWS KMSデベロッパーガイド」の[「キーポリシーの作成](https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-create.html)」の手順に従います。

## Amazon BedrockData Automation リソースのアクセス許可とキーポリシー
<a name="encryption-bda-key-policies.title"></a>

 AWS KMSキーを作成したら、キーポリシーをアタッチします。BDA リソースを暗号化するキーには、次の AWS KMS アクションが使用されます。

1.  kms:CreateGrant – InvokeDataAutomationAsync に必要なグラントオペレーションを通じて指定されたキーへの BDA サービスアクセスを許可することで、カスタマーマネージドAWS KMSキーのグラントを作成します。

1.  kms:DescribeKey – カスタマーマネージドキーの詳細を提供し、BDA がキーを検証できるようにします。

1.  kms:GenerateDataKey – カスタマーマネージドキーの詳細情報を提供して、BDA にユーザーアクセスの検証を許可します。

1.  kms:Decrypt – 保存された暗号文を復号して、ロールが BDA リソースを暗号化するAWS KMSキーに適切にアクセスできることを確認します。

Amazon Bedrock Data Automation のキーポリシー

 カスタマーマネージドキーを使用して BDA リソースを暗号化するには、キーポリシーに次のステートメントを含め、`${account-id}`、`${region}`、`${key-id}` を特定の値に置き換えます。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Id": "KMS key policy for a key to encrypt data for BDA resource",
    "Statement": [
        {
            "Sid": "Permissions for encryption of data for BDA resources",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::111122223333:role/Role"
            },
            "Action": [
                "kms:Decrypt",
                "kms:GenerateDataKey",
                "kms:DescribeKey",
                "kms:CreateGrant"
            ],
            "Resource": "*",
            "Condition": {
                "StringLike": {
                    "kms:ViaService": [
                        "bedrock.us-east-1.amazonaws.com"
                    ]
                }
            }
        }
    ]
}
```

------

**IAM ロールのアクセス許可**

BDA とやり取りするために使用される IAM ロールには、次のアクセス許可AWS KMSが必要です。`${region}`、`${account-id}`、および を特定の値`${key-id}`に置き換えます。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "kms:GenerateDataKey",
                "kms:Decrypt",
                "kms:DescribeKey",
                "kms:CreateGrant"
            ],
            "Resource": "arn:aws:kms:us-east-1:123456789012:key/KeyId",
            "Condition": {
                "StringLike": {
                    "kms:ViaService": [
                        "bedrock.us-east-1.amazonaws.com"
                    ]
                }
            }
        }
    ]
}
```

------

## Amazon Bedrock オートメーションの暗号化コンテキスト
<a name="encryption-bda-context"></a>

BDA は、すべての暗号化オペレーションで同じAWS KMS暗号化コンテキストを使用します。キーは で、`aws:bedrock:data-automation-customer-account-id`値はAWSアカウント ID です。暗号化コンテキストの例を以下に示します。

```
"encryptionContext": {
     "bedrock:data-automation-customer-account-id": "account id"
}
```

**暗号化コンテキストによるモニタリングに暗号化コンテキストを使用する**  
対称カスタマーマネージドキーを使用してデータを暗号化する場合は、監査レコードとログで暗号化コンテキストを使用して、カスタマーマネージドキーがどのように使用されているかを特定することもできます。暗号化コンテキストは、 AWS CloudTrailまたは Amazon CloudWatch Logs によって生成されたログにも表示されます。

**暗号化コンテキストを使用して顧客マネージドキーへのアクセスを制御する**  
対称カスタマーマネージドキー (CMK) へのアクセスを制御するための条件として、キーポリシーと IAM ポリシー内の暗号化コンテキストを使用することもできます。付与する際に、暗号化コンテキストの制約を使用することもできます。BDA は、権限に関わる暗号化コンテキスト制約を使用して、アカウントまたはリージョン内のカスタマーマネージドキーへのアクセスを制御します。グラントの制約では、指定された暗号化コンテキストの使用をグラントが許可するオペレーションが必要です。

次に、特定の暗号化コンテキストのカスタマーマネージドキーへのアクセスを付与するキーポリシーステートメントの例を示します。このポリシーステートメントの条件では、暗号化コンテキストを指定する暗号化コンテキスト制約がグラントに必要です。

```
[
    {
        "Sid": "Enable DescribeKey, Decrypt, GenerateDataKey",
        "Effect": "Allow",
        "Principal": {
            "AWS": "arn:aws:iam::111122223333:role/ExampleRole"
        },
        "Action": ["kms:DescribeKey", "kms:Decrypt", "kms:GenerateDataKey"],
        "Resource": "*"
    },
    {
        "Sid": "Enable CreateGrant",
        "Effect": "Allow",
        "Principal": {
            "AWS": "arn:aws:iam::111122223333:role/ExampleRole"
        },
        "Action": "kms:CreateGrant",
        "Resource": "*",
        "Condition": {
            "StringLike": {
                "kms:EncryptionContext:aws:bedrock:data-automation-customer-account-id": "111122223333"
            },
            "StringEquals": {
                "kms:GrantOperations": ["Decrypt", "DescribeKey", "GenerateDataKey"]
            }
        }
    }
]
```

## Amazon Bedrockデータ自動化の暗号化キーのモニタリング
<a name="encryption-bda-monitoring"></a>

 Amazon BedrockData Automation リソースでAWS KMSカスタマーマネージドキーを使用する場合、 [AWS CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-user-guide.html)または [Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/WhatIsCloudWatchLogs.html) を使用してAmazon Bedrock、Data Automation が送信するリクエストを追跡できますAWS KMS。以下は、[CreateGrant](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateGrant.html) が Amazon BedrockData Automation によって呼び出されるAWS KMSオペレーションをモニタリングしてプライマリグラントを作成するAWS CloudTrailイベントの例です。

```
{
    "eventVersion": "1.09",
        "userIdentity": {
        "type": "AssumedRole",
        "principalId": "AROAIGDTESTANDEXAMPLE:SampleUser01",
        "arn": "arn:aws:sts::111122223333:assumed-role/RoleForDataAutomation/SampleUser01",
        "accountId": "111122223333",
        "accessKeyId": "EXAMPLE",
        "sessionContext": {
        "sessionIssuer": {
        "type": "Role",
        "principalId": "AROAIGDTESTANDEXAMPLE",
        "arn": "arn:aws:iam::111122223333:role/RoleForDataAutomation",
        "accountId": "111122223333",
        "userName": "RoleForDataAutomation"
        },
        "attributes": {
        "creationDate": "2024-05-07T21:46:28Z",
        "mfaAuthenticated": "false"
    }
    },
    "invokedBy": "bedrock.amazonaws.com"
    },
    "eventTime": "2024-05-07T21:49:44Z",
    "eventSource": "kms.amazonaws.com",
    "eventName": "CreateGrant",
    "awsRegion": "us-east-1",
    "sourceIPAddress": "bedrock.amazonaws.com",
    "userAgent": "bedrock.amazonaws.com",
    "requestParameters": {
    "granteePrincipal": "bedrock.amazonaws.com",
    "retiringPrincipal": "bedrock.amazonaws.com",
    "keyId": "arn:aws:kms:us-east-1:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE",
     "constraints": {
            "encryptionContextSubset": {
                "aws:bedrock:data-automation-customer-account-id": "000000000000"
            }
        },
    "operations": [
    "Decrypt",
    "CreateGrant",
    "GenerateDataKey",
    "DescribeKey"
    ]
    },
    "responseElements": {
    "grantId": "0ab0ac0d0b000f00ea00cc0a0e00fc00bce000c000f0000000c0bc0a0000aaafSAMPLE",
    "keyId": "arn:aws:kms:us-east-1:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE"
    },
    "requestID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE",
    "eventID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE",
    "readOnly": false,
    "resources": [
    {
    "accountId": "111122223333",
    "type": "AWS::KMS::Key",
    "ARN": "arn:aws:kms:us-east-1:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE"
    }
    ],
    "eventType": "AwsApiCall",
    "managementEvent": true,
    "recipientAccountId": "111122223333",
    "eventCategory": "Management"
}
```