

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

# 自訂模型匯入任務的 Amazon S3 儲存貯體跨帳戶存取權
<a name="cross-account-access-cmi"></a>

如果您要從不同 Amazon S3 儲存貯體匯入模型 AWS 帳戶，則需要在匯入自訂模型之前授予存取儲存貯體的許可。請參閱 [匯入自訂模型的先決條件](custom-model-import-prereq.md)。

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

## 設定 Amazon S3 儲存貯體的跨帳戶存取權
<a name="configure-cross-acct-access"></a>

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

1. **建立匯入執行角色** – 在使用者的 AWS 帳戶 （將執行匯入任務的帳戶） 中，建立 Amazon Bedrock 可以擔任的 IAM 角色。如需為自訂模型匯入建立服務角色的詳細資訊，請參閱 [匯入自訂模型的先決條件](custom-model-import-prereq.md)。

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

   以下範例儲存貯體政策由儲存貯體擁有者建立並套用至 `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/*}}"
               ]
           }
       ]
   }
   ```

------

1. **建立匯入執行角色政策** – 在使用者的 中 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
<a name="configure-cross-acct-access-kms"></a>

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

1. **建立匯入執行角色** – 在使用者的 中 AWS 帳戶，建立 Amazon Bedrock 可擔任的 IAM 角色。如需詳細資訊，請參閱[匯入自訂模型的先決條件](custom-model-import-prereq.md)。

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

   以下範例儲存貯體政策由儲存貯體擁有者建立並套用至 `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}}/*"
           ]
        }
      ]
   }
   ```

------

1. **更新 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": "*"
   }
   ```

1. **建立匯入執行角色政策** – 在使用者的 中 AWS 帳戶，將政策連接至允許存取跨帳戶儲存貯體和 AWS KMS 金鑰的匯入執行角色。針對 `aws:ResourceAccount`，指定儲存貯體擁有者的帳戶 ID AWS 帳戶。

   下列範例匯入執行角色政策可讓您存取 帳戶中儲存貯體擁有者的 Amazon S3 儲存貯`s3://amzn-s3-demo-bucket`體`111222333444555`和 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}}"
       }
     ]
    }
   ```

------