翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
カスタムモデルの暗号化
Amazon Bedrock は、CreateModelCustomizationJob アクションまたはコンソールでトレーニングデータを使用して、Amazon Bedrock の基盤モデルをファインチューニングしたカスタムモデルを作成します。カスタムモデルは によって管理および保存されますAWS。
Amazon Bedrock では、お客様から提供されたファインチューニングデータを Amazon Bedrock 基盤モデルのファインチューニングにのみ使用します。Amazon Bedrock は、ファインチューニングモデルを他の目的に使用することはありません。トレーニングデータは、Titan の基盤モデルのトレーニングに使用されたり、第三者に配布されたりすることはありません。使用状況のタイムスタンプや記録されたアカウント ID など、サービスによって記録されたその他の使用状況データ・情報も、モデルのトレーニングには使用されません。
ファインチューニングジョブが完了すると、ファインチューニングのために提供されたトレーニングデータまたは検証データは Amazon Bedrock に保存されません。
ファインチューニング済みモデルでは、生成の完了中にファインチューニングデータの一部をリプレイできます。どのような形式でも、アプリによってファインチューニングデータが公開されない場合、まずトレーニングデータから機密データを除外する必要があります。誤って機密データを使用してカスタマイズ済みモデルを既に作成している場合は、そのカスタムモデルを削除し、トレーニングデータから機密情報を除外してから、新しいモデルを作成します。
カスタムモデル (コピーされたモデルを含む) を暗号化するため、Amazon Bedrock には 2 つのオプションがあります。
-
AWS 所有のキー – デフォルトでは、Amazon Bedrock はカスタムモデルを で暗号化しますAWS 所有のキー。表示、管理、使用AWS 所有のキー、またはそれらの使用を監査することはできません。ただし、データを暗号化するキーを保護するために何か行動を起こしたり、プログラムを変更したりする必要はありません。詳細については、「AWS Key Management Service デベロッパーガイド」の 「AWS 所有のキー」を参照してください。
-
カスタマーマネージドキー – 自分で管理するカスタマーマネージドキーを使用してカスタムモデルを暗号化できます。詳細についてはAWS KMS keys、「 AWS Key Management Serviceデベロッパーガイド」の「カスタマーマネージドキー」を参照してください。
注記
Amazon Bedrock は、 を使用して保管時の暗号化を無償AWS 所有のキーで自動的に有効にします。カスタマーマネージドキーを使用する場合、AWS KMS料金が適用されます。料金の詳細については、「AWS Key Management Service の料金
詳細についてはAWS KMS、「 AWS Key Management Serviceデベロッパーガイド」を参照してください。
トピック
Amazon Bedrock が で許可を使用する方法AWS KMS
モデルのカスタマイズまたはモデルのコピージョブのためにカスタムモデルを暗号化するカスタマーマネージドキーを指定すると、Amazon Bedrock は CreateGrant リクエストを AWS KMS に送信して、カスタムモデルに関連付けられたプライマリ KMS グラントをユーザーに代わって作成します。このグラントにより、Amazon Bedrock はカスタマーマネージドキーにアクセスして使用できます。の許可AWS KMSは、Amazon Bedrock に顧客のアカウントの KMS キーへのアクセスを許可するために使用されます。
このプライマリグラントは、Amazon Bedrock が、以下の内部オペレーションでカスタマーマネージドキーを使用するために必要です。
-
DescribeKey リクエストを に送信AWS KMSして、ジョブの作成時に入力した対称カスタマーマネージド KMS キー ID が有効であることを確認します。
-
GenerateDataKey および Decrypt リクエストを に送信AWS KMSして、カスタマーマネージドキーによって暗号化されたデータキーを生成し、暗号化されたデータキーを復号して、モデルアーティファクトの暗号化に使用できます。
-
モデルカスタマイズ
DescribeKey、モデルコピー、またはプロビジョンドスループット作成の非同期実行のために、CreateGrant リクエストを に送信AWS KMSして、上記のオペレーションのサブセット (GenerateDataKey、、Decrypt) を使用してスコープダウンされたセカンダリ許可を作成します。 -
Amazon Bedrock は、サービスにより RetireGrant リクエストが送信されるように、グラントの作成中に廃止するプリンシパルを指定する。
カスタマーマネージドAWS KMSキーへのフルアクセスがあります。グラントへのアクセスを取り消すには、AWS Key Management Service デベロッパーガイドの「Retiring and revoking grants」の手順に従います。または、キーポリシーを変更して、いつでもカスタマーマネージドキーへのサービスのアクセスを削除できます。これを行うと、Amazon Bedrock はお客様のキーで暗号化されたカスタムモデルにアクセスできなくなります。
カスタムモデルのプライマリグラントとセカンダリグラントのライフサイクル
-
プライマリグラントの有効期間は長く、関連するカスタムモデルがまだ使用されている限り、アクティブのままです。カスタムモデルが削除されると、対応するプライマリグラントは自動的に廃止されます。
-
セカンダリグラントは、有効期間が短く、Amazon Bedrock が顧客に代わって実行するオペレーションが完了するとすぐに自動的に廃止されます。例えば、モデルコピージョブが完了すると、Amazon Bedrock にコピーされたカスタムモデルを暗号化することを許可したセカンダリグラントは、すぐに廃止されます。
カスタマーマネージドキーを作成する方法と、キーポリシーをアタッチする方法について
作成して管理するキーを使用して AWSリソースを暗号化するには、以下の一般的なステップを実行します。
-
(前提条件) IAM ロールに CreateKey アクションのアクセス権があることを確認します。
-
「キーの作成」の手順に従って、 AWS KMSコンソールまたは CreateKey オペレーションを使用してカスタマーマネージドキーを作成します。
-
キーの作成は、キーの使用を必要とするオペレーション (モデルのカスタマイズジョブの送信時やモデルの推論の実行時など) に使用できるキーに対して
Arnを返します。 -
必要なアクセス権を持つキーポリシーを作成してキーにアタッチします。キーポリシーを作成するには、「 AWS Key Management Serviceデベロッパーガイド」の「キーポリシーの作成」の手順に従います。
カスタムモデルとコピーされたモデルのアクセス権とキーポリシー
KMS キーを作成したら、キーポリシーをアタッチします。キーポリシーとは、カスタマーマネージドキーにアタッチしてアクセスを制御するリソースベースのポリシーです。すべてのカスタマーマネージドキーには、キーポリシーが 1 つだけ必要です。このポリシーには、そのキーを使用できるユーザーとその使用方法を決定するステートメントが含まれています。カスタマーマネージドキーを作成する際に、キーポリシーを指定することができます。キーポリシーはいつでも変更できますが、AWS KMS 全体に変更が反映されるまで、多少時間がかかる場合があります。詳細については、AWS Key Management Service デベロッパーガイドの「Managing access to customer managed keys」を参照してください。
カスタムモデルとコピーされたモデルを暗号化するキーには、次の 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 キーにロールが適切にアクセスできることを確認します。
ベストプラクティスとして、kms:ViaService 条件キーを含めて、キーへのアクセスを Amazon Bedrock サービスに制限することをお勧めします。
キーにアタッチできるキーポリシーは 1 つだけですが、ポリシーの Statement フィールドのリストにステーメントを追加して、キーポリシーに複数のステートメントをアタッチできます。
次のステートメントは、カスタムモデルとコピーされたモデルの暗号化に関連しています。
カスタマーマネージドキーを使用してカスタムモデルまたはコピーされたモデルを暗号化するには、次のステートメントをキーポリシーに含めて、モデルの暗号化を許可します。Principal フィールドで、キーの暗号化と復号を許可するアカウントを、AWS サブフィールドがマッピングされるリストに追加します。kms:ViaService 条件キーを使用する場合、リージョンごとに行を追加するか、${region} の代わりに * を使用して、Amazon Bedrock をサポートするすべてのリージョンを許可できます。
{ "Sid": "PermissionsEncryptDecryptModel", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::${account-id}:role/${role}" ] }, "Action": [ "kms:Decrypt", "kms:GenerateDataKey", "kms:DescribeKey", "kms:CreateGrant" ], "Resource": "*", "Condition": { "StringLike": { "kms:ViaService": [ "bedrock.${region}.amazonaws.com" ] } } }
KMS キーで暗号化されたモデルへのアクセスを許可するには、キーの復号を許可するキーポリシーに次のステートメントを含めます。Principal フィールドで、キーの復号を許可するアカウントを、AWS サブフィールドがマッピングされるリストに追加します。kms:ViaService 条件キーを使用する場合、リージョンごとに行を追加するか、${region} の代わりに * を使用して、Amazon Bedrock をサポートするすべてのリージョンを許可できます。
{ "Sid": "PermissionsDecryptModel", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::${account-id}:role/${role}" ] }, "Action": [ "kms:Decrypt" ], "Resource": "*", "Condition": { "StringLike": { "kms:ViaService": [ "bedrock.${region}.amazonaws.com" ] } } }
作成する必要があるキーポリシーについては、ユースケースに対応するセクションを展開してください。
カスタマイズしたモデルを KMS キーで暗号化する場合、そのキーのキーポリシーはユースケースに依存します。自分のユースケースに対応するセクションを展開してください。
カスタムモデルを呼び出すロールが、モデルをカスタマイズするロールと同じ場合は、モデルを暗号化する からのステートメントのみが必要です。次のポリシーテンプレートの Principal フィールドで、カスタムモデルをカスタマイズして呼び出すことを許可するアカウントを、AWS サブフィールドがマッピングされるリストに追加します。
カスタムモデルを呼び出すロールが、モデルをカスタマイズするロールと異なる場合は、モデルを暗号化する と 暗号化されたモデルへのアクセスを許可する からの両方のステートメントが必要です。次のポリシーテンプレートのステートメントを次のように変更します。
-
最初のステートメントでは、キーの暗号化と復号を許可します。
Principalフィールドで、カスタムモデルをカスタマイズするアカウントを、AWSサブフィールドがマッピングされるリストに追加します。 -
2 番目のステートメントでは、キーの復号のみが許可されます。
Principalフィールドで、カスタムモデルを呼び出すことのみを許可するアカウントを、AWSサブフィールドがマッピングされるリストに追加します。
所有しているモデルまたは共有されているモデルをコピーする場合、最大 2 つのキーポリシーを管理する必要がある場合があります。
コピーされたモデルを KMS キーで暗号化する場合、そのキーのキーポリシーはユースケースに依存します。自分のユースケースに対応するセクションを展開してください。
コピーされたモデルを呼び出すロールが、モデルコピーを作成するロールと同じ場合は、モデルを暗号化する からのステートメントのみが必要です。次のポリシーテンプレートの Principal フィールドで、コピーしたモデルをコピーして呼び出すことを許可するアカウントを、AWS サブフィールドがマッピングされるリストに追加します。
コピーされたモデルを呼び出すロールが、モデルコピーを作成するロールと異なる場合は、モデルを暗号化する と 暗号化されたモデルへのアクセスを許可する からの両方のステートメントが必要です。次のポリシーテンプレートのステートメントを次のように変更します。
-
最初のステートメントでは、キーの暗号化と復号を許可します。
Principalフィールドで、コピーしたモデルの作成を許可するアカウントを、AWSサブフィールドがマッピングされるリストに追加します。 -
2 番目のステートメントでは、キーの復号のみが許可されます。
Principalフィールドで、コピーしたモデルを呼び出すことのみを許可するアカウントを、AWSサブフィールドがマッピングされるリストに追加します。
コピーするソースモデルが KMS キーで暗号化されている場合、暗号化されたモデルへのアクセスを許可する からのステートメントを、ソースモデルを暗号化するキーのキーポリシーにアタッチします。このステートメントにより、ソースモデルを暗号化するキーの復号がモデルコピーのロールで許可されます。次のポリシーテンプレートの Principal フィールドで、ソースモデルのコピーを許可するアカウントを、AWS サブフィールドがマッピングされるリストに追加します。
Amazon Bedrock サービスの暗号化キーをモニタリングする
Amazon Bedrock リソースでAWS KMSカスタマーマネージドキーを使用する場合、 AWS CloudTrailまたは Amazon CloudWatch Logs を使用して、Amazon Bedrock が送信するリクエストを追跡できますAWS KMS。
以下は、CreateGrant が Amazon Bedrock によって呼び出された KMS オペレーションをモニタリングしてプライマリグラントを作成するAWS CloudTrailイベントの例です。
{ "eventVersion": "1.09", "userIdentity": { "type": "AssumedRole", "principalId": "AROAIGDTESTANDEXAMPLE:SampleUser01", "arn": "arn:aws:sts::111122223333:assumed-role/RoleForModelCopy/SampleUser01", "accountId": "111122223333", "accessKeyId": "EXAMPLE", "sessionContext": { "sessionIssuer": { "type": "Role", "principalId": "AROAIGDTESTANDEXAMPLE", "arn": "arn:aws:iam::111122223333:role/RoleForModelCopy", "accountId": "111122223333", "userName": "RoleForModelCopy" }, "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", "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" }
トレーニング、検証、出力データの暗号化
Amazon Bedrock を使用してモデルカスタマイズジョブを実行する場合、入力ファイルを Amazon S3 バケットに保存します。ジョブが完了すると、Amazon Bedrock はジョブの作成時に指定した S3 バケットに出力メトリクスファイルを保存し、その結果のカスタムモデルアーティファクトは によって制御される S3 バケットに保存しますAWS。
出力ファイルは、S3 バケットの暗号化設定で暗号化されます。これらは、S3 バケットの設定方法に応じて、SSE-S3 サーバー側の暗号化または AWS KMS SSE-KMS 暗号化で暗号化されます。