View a markdown version of this page

自訂模型匯入任務的 Amazon S3 儲存貯體跨帳戶存取權 - Amazon Bedrock

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

自訂模型匯入任務的 Amazon S3 儲存貯體跨帳戶存取權

如果您要從不同 Amazon S3 儲存貯體匯入模型 AWS 帳戶,則需要在匯入自訂模型之前授予存取儲存貯體的許可。請參閱 匯入自訂模型的先決條件

注意

如果自訂模型匯入任務是透過 Amazon Bedrock 主控台提交,則會自動建立預設匯入執行角色。您必須編輯預設匯入執行角色政策,並以儲存貯體擁有者的 ID aws:ResourceAccount 取代為 指定的帳戶 AWS 帳戶 ID。

設定 Amazon S3 儲存貯體的跨帳戶存取權

請依照下列步驟,為自訂模型匯入任務設定 Amazon S3 儲存貯體的跨帳戶存取權。

  1. 建立匯入執行角色 – 在使用者的 AWS 帳戶 (將執行匯入任務的帳戶) 中,建立 Amazon Bedrock 可以擔任的 IAM 角色。如需為自訂模型匯入建立服務角色的詳細資訊,請參閱 匯入自訂模型的先決條件

  2. 建立儲存貯體政策 – 在儲存貯體擁有者的帳戶中,建立儲存貯體政策,以授予使用者帳戶中匯入執行角色的存取權。

    以下範例儲存貯體政策由儲存貯體擁有者建立並套用至 s3://amzn-s3-demo-bucket 儲存貯體,會將存取權授予儲存貯體擁有者帳戶 123456789123 中的使用者。

    JSON
    { "Version":"2012-10-17", "Statement": [ { "Sid": "CrossAccountAccess", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::123456789012:role/ImportRole" }, "Action": [ "s3:ListBucket", "s3:GetObject" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket", "arn:aws:s3:::amzn-s3-demo-bucket/*" ] } ] }
  3. 建立匯入執行角色政策 – 在使用者的 中 AWS 帳戶,將政策連接至允許存取跨帳戶儲存貯體的匯入執行角色。針對 aws:ResourceAccount,指定儲存貯體擁有者的帳戶 ID AWS 帳戶。

    下列範例匯入執行角色政策位於使用者帳戶中,可讓儲存貯體擁有者的帳戶 ID 111222333444555 存取 Amazon S3 儲存貯體 s3://amzn-s3-demo-bucket

    JSON
    { "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:ListBucket", "s3:GetObject" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket", "arn:aws:s3:::amzn-s3-demo-bucket/*" ], "Condition": { "StringEquals": { "aws:ResourceAccount": "123456789012" } } } ] }

設定跨帳戶存取使用自訂加密的 Amazon S3 儲存貯體 AWS KMS key

如果 Amazon S3 儲存貯體使用 custom AWS Key Management Service (AWS KMS) 金鑰加密,您需要執行其他步驟來授予匯入執行角色解密金鑰的許可。

  1. 建立匯入執行角色 – 在使用者的 中 AWS 帳戶,建立 Amazon Bedrock 可擔任的 IAM 角色。如需詳細資訊,請參閱匯入自訂模型的先決條件

  2. 建立儲存貯體政策 – 在儲存貯體擁有者的帳戶中,建立儲存貯體政策,授予使用者帳戶中匯入執行角色的存取權。

    以下範例儲存貯體政策由儲存貯體擁有者建立並套用至 s3://amzn-s3-demo-bucket 儲存貯體,會將存取權授予儲存貯體擁有者帳戶 123456789123 中的使用者。

    JSON
    { "Version":"2012-10-17", "Statement": [ { "Sid": "CrossAccountAccess", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::123456789012:role/ImportRole" }, "Action": [ "s3:ListBucket", "s3:GetObject" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket", "arn:aws:s3:::amzn-s3-demo-bucket/*" ] } ] }
  3. 更新 AWS KMS 金鑰政策 – 在儲存貯體擁有者的帳戶中,將下列陳述式新增至 AWS KMS 金鑰政策,以允許使用者的匯入執行角色解密物件。

    { "Sid": "Allow use of the key by the destination account", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::123456789123:role/ImportRole" }, "Action": [ "kms:Decrypt", "kms:DescribeKey" ], "Resource": "*" }
  4. 建立匯入執行角色政策 – 在使用者的 中 AWS 帳戶,將政策連接至允許存取跨帳戶儲存貯體和 AWS KMS 金鑰的匯入執行角色。針對 aws:ResourceAccount,指定儲存貯體擁有者的帳戶 ID AWS 帳戶。

    下列範例匯入執行角色政策可讓您存取 帳戶中儲存貯體擁有者的 Amazon S3 儲存貯s3://amzn-s3-demo-bucket111222333444555和 AWS KMS key arn:aws:kms:us-west-2:123456789098:key/111aa2bb-333c-4d44-5555-a111bb2c33dd

    JSON
    { "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:ListBucket", "s3:GetObject" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket", "arn:aws:s3:::amzn-s3-demo-bucket/*" ], "Condition": { "StringEquals": { "aws:ResourceAccount": "123456789012" } } }, { "Effect": "Allow", "Action": [ "kms:Decrypt", "kms:DescribeKey" ], "Resource": "arn:aws:kms:us-west-2:123456789012:key/111aa2bb-333c-4d44-5555-a111bb2c33dd" } ] }