

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

# モデルのカスタマイズのアクセスとセキュリティ
<a name="custom-model-job-access-security"></a>

このページでは、ファインチューニング、強化ファインチューニング、抽出、モデルオペレーションなど、すべての Amazon Bedrock モデルカスタマイズタイプの包括的なセキュリティとアクセス許可に関する情報を提供します。モデルのカスタマイズを開始する前に、Amazon Bedrock に必要なアクセスの種類を理解し、カスタマイズジョブとアーティファクトを保護するためのオプションを検討するようにしてください。

以下のセクションには、さまざまなカスタマイズシナリオに必要なアクセス許可が含まれています。特定のユースケースに基づいて適切なアクセス許可を選択します。

## 基本的なモデルカスタマイズのアクセス許可
<a name="custom-model-job-basic-permissions"></a>

すべてのモデルカスタマイズジョブには、これらの基本的なアクセス許可が必要です。これらは、ファインチューニング、留出、その他のカスタマイズタイプに適用されます。

### モデルのカスタマイズ用のサービスロールを作成する
<a name="custom-model-job-service-role"></a>

Amazon Bedrock には、モデルのカスタマイズトレーニングと検証データを保存する S3 バケットにアクセスするための AWS Identity and Access Management (IAM) サービスロールが必要です。これを行う方法はいくつかあります。
+  AWS マネジメントコンソールを使用してサービスロールを自動的に作成します。
+ S3 バケットにアクセスするための適切なアクセス許可を持つサービスロールを手動で作成します。

手動オプションの場合は、[AWS 「 サービスにアクセス許可を委任するロールを作成する」の手順に従って、IAM ロールを作成し、次のアクセス許可をアタッチします](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html)。
+ 信頼関係
+ S3 のトレーニングデータや検証データにアクセスし、出力データを S3 書き込むアクセス許可
+ (オプション) 以下のリソースを KMS キーで暗号化する場合、キーを復号化するアクセス許可 (「[カスタムモデルの暗号化](encryption-custom-job.md)」を参照)
  + モデルカスタマイズジョブ、または生成されたカスタムモデル
  + モデルカスタマイズジョブ用のトレーニング、検証、または出力データ

### 信頼関係
<a name="custom-model-job-service-role-trust-relationship"></a>

以下のポリシーでは、Amazon Bedrock がこのロールを引き受け、モデルカスタマイズジョブを実行できます。使用するポリシーの例を下記に示します。

`Condition` フィールドで 1 つ以上のグローバル条件コンテキストキーを使用することで、必要に応じて、[サービス間の混乱した使節を回避する](cross-service-confused-deputy-prevention.md)ためのアクセス許可の範囲を制限できます。詳細については、「[AWS グローバル条件コンテキストキー](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html)」を参照してください。
+ `aws:SourceAccount` の値をアカウント ID に設定します。
+ (オプション) `ArnEquals` または `ArnLike` 条件を使用して、アカウント ID の特定のモデルカスタムジョブの範囲を制限します。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "Service": "bedrock.amazonaws.com"
            },
            "Action": "sts:AssumeRole",
            "Condition": {
                "StringEquals": {
                    "aws:SourceAccount": "123456789012"
                },
                "ArnEquals": {
                    "aws:SourceArn": "arn:aws:bedrock:us-east-1:111122223333:model-customization-job/*"
                }
            }
        }
    ]
}
```

------

### S3 のトレーニングファイルや検証ファイルにアクセスし、出力ファイルを書き込むアクセス許可
<a name="custom-model-job-service-role-s3-permissions"></a>

次のポリシーをアタッチして、ロールがトレーニングデータと検証データ、および出力データを書き込むバケットにアクセスできるようにします。`Resource` リスト内の値を実際のバケット名に置き換えます。

バケット内の特定のフォルダへのアクセスを制限するには、フォルダパスに `s3:prefix` 条件キーを追加します。「[例 2：特定のプレフィックス付きバケットのオブジェクトリストを取得する](https://docs.aws.amazon.com/AmazonS3/latest/userguide/amazon-s3-policy-keys.html#condition-key-bucket-ops-2)」の**ユーザーポリシー**例に従います。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "s3:GetObject",
                "s3:ListBucket"
            ],
            "Resource": [
                "arn:aws:s3:::training-bucket",
                "arn:aws:s3:::training-bucket/*",
                "arn:aws:s3:::validation-bucket",
                "arn:aws:s3:::validation-bucket/*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3:GetObject",
                "s3:PutObject",
                "s3:ListBucket"
            ],
            "Resource": [
                "arn:aws:s3:::output-bucket",
                "arn:aws:s3:::output-bucket/*"
            ]
        }
    ]
}
```

------

## モデルコピーのアクセス許可
<a name="custom-model-job-model-copying-permissions"></a>

モデルを別のリージョンにコピーするには、ロールの現在のアクセス許可とモデルの設定に応じて、特定のアクセス許可が必要です。

1. ロールに [AmazonBedrockFullAccess](security-iam-awsmanpol.md#security-iam-awsmanpol-AmazonBedrockFullAccess) ポリシーがアタッチされていない場合は、次のアイデンティティベースのポリシーをロールにアタッチして、モデルをコピーし、コピージョブを追跡する最小限のアクセス許可を付与します。

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "CopyModels",
               "Effect": "Allow",
               "Action": [
                   "bedrock:CreateModelCopyJob",
                   "bedrock:GetModelCopyJob",
                   "bedrock:ListModelCopyJobs"
               ],
               "Resource": [
                   "arn:aws:bedrock:us-east-1::foundation-model/model-id"
               ],
               "Condition": {
                   "StringEquals": {
                       "aws:RequestedRegion": [
                           "us-east-1"
                       ]
                   }
               }
           }
       ]
   }
   ```

------

1. (オプション) コピーするモデルが KMS キーで暗号化されている場合は、[モデルを暗号化した KMS キーにキーポリシー](encryption-custom-job.md#encryption-key-policy-decrypt)をアタッチして、ロールがモデルを復号できるようにします。

1. (オプション) KMS キーを使用してモデルコピーを暗号化する場合は、[KMS キーにキーポリシーをアタッチ](encryption-custom-job.md#encryption-key-policy-encrypt)します。このキーポリシーは、ロールがキーを使用してモデルを暗号化できるようにするために使用されます。

## クロスリージョン推論プロファイルのアクセス許可
<a name="custom-models-cross-region-inference-profile-basic-permissions"></a>

抽出ジョブで教師モデルのクロスリージョン推論プロファイルを使用するには、サービスロールに、推論プロファイルの各リージョンのモデルに加えて AWS リージョン、 で推論プロファイルを呼び出すアクセス許可が必要です。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "CrossRegionInference",
            "Effect": "Allow",
            "Action": [
                "bedrock:InvokeModel"
            ],
            "Resource": [
                "arn:aws:bedrock:us-east-1:123456789012:inference-profile/${InferenceProfileId}",
                "arn:aws:bedrock:us-east-1::foundation-model/${ModelId}",
                "arn:aws:bedrock:us-east-1::foundation-model/${ModelId}"
            ]
        }
    ]
}
```

------

## (オプション) クロスリージョン推論プロファイルを使用して蒸留ジョブを作成するためのアクセス許可
<a name="custom-models-cross-region-inference-profile-permissions"></a>

抽出ジョブで教師モデルのクロスリージョン推論プロファイルを使用するには、サービスロールに、推論プロファイルの各リージョンのモデルに加えて AWS リージョン、 で推論プロファイルを呼び出すアクセス許可が必要です。

クロスリージョン (システム定義) 推論プロファイルを使用して呼び出すためのアクセス許可については、サービスロールにアタッチするアクセス許可ポリシーのテンプレートとして次のポリシーを使用します。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "CrossRegionInference",
            "Effect": "Allow",
            "Action": [
                "bedrock:InvokeModel"
            ],
            "Resource": [
                "arn:aws:bedrock:us-east-1:123456789012:inference-profile/${InferenceProfileId}",
                "arn:aws:bedrock:us-east-1::foundation-model/${ModelId}",
                "arn:aws:bedrock:us-east-1::foundation-model/${ModelId}"
            ]
        }
    ]
}
```

------

## (オプション) モデルのカスタマイズのジョブとアーティファクトを暗号化する
<a name="custom-model-job-encryption"></a>

カスタムモデルに対する入出力データ、カスタマイズのジョブ、推論リクエストを暗号化します。詳細については、「[カスタムモデルの暗号化](encryption-custom-job.md)」を参照してください。

## (オプション) VPC を使用してモデルのカスタマイズのジョブを保護する
<a name="vpc-model-customization"></a>

モデルカスタマイズジョブを実行すると、ジョブは Amazon S3 バケットにアクセスすることで、入力データをダウンロードしてジョブメトリクスをアップロードします。データへのアクセスを制御するには、[Amazon VPC](https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html) で仮想プライベートクラウド (VPC) を使用することをお勧めします。データをインターネット経由で利用できないように VPC を設定し、代わりに [AWS PrivateLink](https://docs.aws.amazon.com/vpc/latest/privatelink/what-is-privatelink.html) で VPC インターフェイスエンドポイントを作成してデータへのプライベート接続を確立することで、データをさらに保護することができます。Amazon VPC と Amazon Bedrock AWS PrivateLink の統合方法の詳細については、「」を参照してください[Amazon VPC と AWS PrivateLink を使用してデータを保護する](usingVPC.md)。

モデルのカスタマイズのジョブに関するトレーニング、検証、出力データに VPC を設定して使用するには、次のステップを実行します。

**Topics**
+ [モデルのカスタマイズ中にデータを保護するために VPC を設定する](#vpc-cm-setup)
+ [モデルのカスタマイズロールに VPC アクセス許可をアタッチする](#vpc-data-access-role)
+ [モデルのカスタマイズジョブを送信するときに VPC 設定を追加する](#vpc-config)

### モデルのカスタマイズ中にデータを保護するために VPC を設定する
<a name="vpc-cm-setup"></a>

VPC を設定するには、「[VPC をセットアップする](usingVPC.md#create-vpc)」の手順に従います。「[(例) VPC を使用して Amazon S3 データへのデータアクセスを制限する](vpc-s3.md)」の手順に従って、S3 の VPC エンドポイントを設定し、リソースベースの IAM ポリシーを使用してモデルのカスタムデータを含む S3 バケットへのアクセスを制限することで、VPC をさらに保護することができます。

### モデルのカスタマイズロールに VPC アクセス許可をアタッチする
<a name="vpc-data-access-role"></a>

VPC のセットアップが完了したら、次のアクセス許可を[モデルのカスタマイズサービスロール](model-customization-iam-role.md)にアタッチして、VPC へのアクセスを許可します。このポリシーを変更して、ジョブに必要な VPC リソースのみへのアクセスを許可します。*\$1\$1\$1subnet-ids\$1\$1* と *security-group-id* を VPC からの値で置き換えます。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ec2:DescribeNetworkInterfaces",
                "ec2:DescribeVpcs",
                "ec2:DescribeDhcpOptions",
                "ec2:DescribeSubnets",
                "ec2:DescribeSecurityGroups"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "ec2:CreateNetworkInterface"
            ],
            "Resource": [
                "arn:aws:ec2:us-east-1:123456789012:network-interface/*"
            ],
            "Condition": {
                "StringEquals": {
                    "aws:RequestTag/BedrockManaged": [
                        "true"
                    ]
                },
                "ArnEquals": {
                    "aws:RequestTag/BedrockModelCustomizationJobArn": [
                        "arn:aws:bedrock:us-east-1:123456789012:model-customization-job/*"
                    ]
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": [
                "ec2:CreateNetworkInterface"
            ],
            "Resource": [
                "arn:aws:ec2:us-east-1:123456789012:subnet/subnet-id",
                "arn:aws:ec2:us-east-1:123456789012:subnet/subnet-id2",
                "arn:aws:ec2:us-east-1:123456789012:security-group/security-group-id"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "ec2:CreateNetworkInterfacePermission",
                "ec2:DeleteNetworkInterface",
                "ec2:DeleteNetworkInterfacePermission"
            ],
            "Resource": "*",
            "Condition": {
                "ArnEquals": {
                    "ec2:Subnet": [
                        "arn:aws:ec2:us-east-1:123456789012:subnet/subnet-id",
                        "arn:aws:ec2:us-east-1:123456789012:subnet/subnet-id2"
                    ],
                    "ec2:ResourceTag/BedrockModelCustomizationJobArn": [
                        "arn:aws:bedrock:us-east-1:123456789012:model-customization-job/*"
                    ]
                },
                "StringEquals": {
                    "ec2:ResourceTag/BedrockManaged": "true"
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": [
                "ec2:CreateTags"
            ],
            "Resource": "arn:aws:ec2:us-east-1:123456789012:network-interface/*",
            "Condition": {
                "StringEquals": {
                    "ec2:CreateAction": [
                        "CreateNetworkInterface"
                    ]
                },
                "ForAllValues:StringEquals": {
                    "aws:TagKeys": [
                        "BedrockManaged",
                        "BedrockModelCustomizationJobArn"
                    ]
                }
            }
        }
    ]
}
```

------

### モデルのカスタマイズジョブを送信するときに VPC 設定を追加する
<a name="vpc-config"></a>

これまでのセクションの手順に従って VPC および必要なロールとアクセス許可を設定し終わったら、この VPC を使用するモデルカスタマイズジョブを作成することができます。

ジョブの VPC サブネットとセキュリティグループを指定すると、Amazon Bedrock はサブネットの 1 つのセキュリティグループに関連付けられた *Elastic Network Interface* (ENI) を作成します。ENI により、Amazon Bedrock ジョブは VPC 内のリソースに接続できます。ENI については、「*Amazon VPC ユーザーガイド*」の「[Elastic Network Interfaces](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_ElasticNetworkInterfaces.html)」を参照してください。Amazon Bedrock は、作成した ENI に `BedrockManaged` および `BedrockModelCustomizationJobArn` タグを付けます。

アベイラビリティーゾーンごとに少なくとも 1 つのサブネットを指定することをお勧めします。

セキュリティグループを使用すると、VPC リソースへの Amazon Bedrock のアクセスを制御するためのルールを設定できます。

使用する VPC の設定は、コンソールまたは API 経由のいずれでも行うことができます。任意の方法のタブを選択し、その手順に従います。

------
#### [ Console ]

Amazon Bedrock コンソールでは、モデルカスタマイズジョブを作成するときに、オプションの **[VPC の設定]** セクションで VPC サブネットとセキュリティグループを指定します。ジョブの設定に関する詳細は、「[モデルカスタマイズジョブを送信して微調整する](model-customization-submit.md)」を参照してください。

**注記**  
VPC 設定を含むジョブの場合、コンソールはサービスロールを自動的に作成することはできません。「[Create a service role for model customization](model-customization-iam-role.md)」のガイダンスに従って、カスタムロールを作成します。

------
#### [ API ]

[CreateModelCustomizationJob](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_CreateModelCustomizationJob.html) リクエストを送信する際、次の例のように、使用する VPC サブネットとセキュリティグループを指定するために `VpcConfig` をリクエストパラメータとして含めることができます。

```
"vpcConfig": { 
    "securityGroupIds": [
        "${{sg-0123456789abcdef0}}"
    ],
    "subnets": [
        "${{subnet-0123456789abcdef0}}",
        "${{subnet-0123456789abcdef1}}",
        "${{subnet-0123456789abcdef2}}"
    ]
}
```

------