

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

# 設定 Amazon Personalize
<a name="setup"></a>

使用 Amazon Personalize 之前，您必須擁有管理使用者的 Amazon Web Services (AWS) 帳戶。設定必要的許可後，您可以透過 Amazon Personalize 主控台、 AWS Command Line Interface (AWS CLI) 或 AWS SDKs 存取 Amazon Personalize。

**Topics**
+ [註冊 AWS 帳戶](#sign-up-for-aws)
+ [建立具有管理存取權的使用者](#create-an-admin)
+ [區域與端點](#endpoints)
+ [設定許可](aws-personalize-set-up-permissions.md)
+ [設定 AWS CLI](aws-personalize-set-up-aws-cli.md)
+ [設定 AWS SDKs](aws-personalize-set-up-sdks.md)

## 註冊 AWS 帳戶
<a name="sign-up-for-aws"></a>

如果您沒有 AWS 帳戶，請完成下列步驟來建立一個。

**註冊 AWS 帳戶**

1. 開啟 [https://portal.aws.amazon.com/billing/signup](https://portal.aws.amazon.com/billing/signup)。

1. 請遵循線上指示進行。

   部分註冊程序需接收來電或簡訊，並在電話鍵盤輸入驗證碼。

   當您註冊 時 AWS 帳戶，*AWS 帳戶根使用者*會建立 。根使用者有權存取該帳戶中的所有 AWS 服務 和資源。作為安全最佳實務，請將管理存取權指派給使用者，並且僅使用根使用者來執行[需要根使用者存取權的任務](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_root-user.html#root-user-tasks)。

AWS 會在註冊程序完成後傳送確認電子郵件給您。您可以隨時登錄 [https://aws.amazon.com/](https://aws.amazon.com/) 並選擇**我的帳戶**，以檢視您目前的帳戶活動並管理帳戶。

## 建立具有管理存取權的使用者
<a name="create-an-admin"></a>

註冊 後 AWS 帳戶，請保護 AWS 帳戶根使用者、啟用 AWS IAM Identity Center和建立管理使用者，以免將根使用者用於日常任務。

**保護您的 AWS 帳戶根使用者**

1.  選擇**根使用者**並輸入 AWS 帳戶 您的電子郵件地址，以帳戶擁有者[AWS 管理主控台](https://console.aws.amazon.com/)身分登入 。在下一頁中，輸入您的密碼。

   如需使用根使用者登入的說明，請參閱 *AWS 登入 使用者指南*中的[以根使用者身分登入](https://docs.aws.amazon.com/signin/latest/userguide/console-sign-in-tutorials.html#introduction-to-root-user-sign-in-tutorial)。

1. 若要在您的根使用者帳戶上啟用多重要素驗證 (MFA)。

   如需說明，請參閱《*IAM 使用者指南*》中的[為您的 AWS 帳戶 根使用者 （主控台） 啟用虛擬 MFA 裝置](https://docs.aws.amazon.com/IAM/latest/UserGuide/enable-virt-mfa-for-root.html)。

**建立具有管理存取權的使用者**

1. 啟用 IAM Identity Center。

   如需指示，請參閱《AWS IAM Identity Center 使用者指南》**中的[啟用 AWS IAM Identity Center](https://docs.aws.amazon.com//singlesignon/latest/userguide/get-set-up-for-idc.html)。

1. 在 IAM Identity Center 中，將管理存取權授予使用者。

   如需使用 IAM Identity Center 目錄 做為身分來源的教學課程，請參閱*AWS IAM Identity Center 《 使用者指南*》中的[使用預設值設定使用者存取 IAM Identity Center 目錄](https://docs.aws.amazon.com//singlesignon/latest/userguide/quick-start-default-idc.html)。

**以具有管理存取權的使用者身分登入**
+ 若要使用您的 IAM Identity Center 使用者簽署，請使用建立 IAM Identity Center 使用者時傳送至您電子郵件地址的簽署 URL。

  如需使用 IAM Identity Center 使用者登入的說明，請參閱*AWS 登入 《 使用者指南*》中的[登入 AWS 存取入口網站](https://docs.aws.amazon.com/signin/latest/userguide/iam-id-center-sign-in-tutorial.html)。

**指派存取權給其他使用者**

1. 在 IAM Identity Center 中，建立一個許可集來遵循套用最低權限的最佳實務。

   如需指示，請參閱《AWS IAM Identity Center 使用者指南》**中的[建立許可集](https://docs.aws.amazon.com//singlesignon/latest/userguide/get-started-create-a-permission-set.html)。

1. 將使用者指派至群組，然後對該群組指派單一登入存取權。

   如需指示，請參閱《AWS IAM Identity Center 使用者指南》**中的[新增群組](https://docs.aws.amazon.com//singlesignon/latest/userguide/addgroups.html)。

## 區域與端點
<a name="endpoints"></a>

端點是指 web 服務進入點的 URL。每個端點都與特定 AWS 區域相關聯。請注意 Amazon Personalize 主控台、 和 Amazon Personalize SDKs 的預設區域，因為特定行銷活動 （資料集 AWS CLI、解決方案、行銷活動、事件追蹤器） 的所有 Amazon Personalize 元件都必須在相同區域中建立。如需 Amazon Personalize 支援的區域和端點，請參閱[區域和端點](https://docs.aws.amazon.com/general/latest/gr/rande.html#personalize_region)。

# 設定許可
<a name="aws-personalize-set-up-permissions"></a>

 您必須授予使用者、群組或角色與 Amazon Personalize 資源互動的許可。此外，您必須授予 Amazon Personalize 許可，以存取您在 Amazon Personalize 中建立的資源，並代表您執行任務。

**若要設定 許可**

1.  授予 Amazon Personalize 存取 Amazon Personalize 中 資源的許可，以及代表您執行任務的許可。請參閱 [授予 Amazon Personalize 存取 資源的許可](set-up-required-permissions.md)。

1. 授予您的使用者、群組或角色與 Amazon Personalize 資源互動的許可，並將您的服務角色傳遞給 Amazon Personalize。請參閱 [授予使用者存取 Amazon Personalize 的許可](grant-user-permissions.md)。

1.  修改 Amazon Personalize 服務角色的信任政策，以防止[混淆代理人問題](cross-service-confused-deputy-prevention.md)。如需信任關係政策範例，請參閱 [預防跨服務混淆代理人](cross-service-confused-deputy-prevention.md)。如需修改角色信任政策的資訊，請參閱[修改角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_manage_modify.html)。

1. 如果您使用 AWS Key Management Service (AWS KMS) 進行加密，則必須授予 Amazon Personalize 和 Amazon Personalize IAM 服務角色許可，才能使用您的金鑰。如需詳細資訊，請參閱[授予 Amazon Personalize 許可以使用您的 AWS KMS 金鑰](granting-personalize-key-access.md)。

1.  完成中的步驟[讓 Amazon Personalize 存取 Amazon S3 資源](granting-personalize-s3-access.md)以使用 IAM 和 Amazon S3 儲存貯體政策，讓 Amazon Personalize 存取您的 Amazon S3 資源。

**Topics**
+ [授予 Amazon Personalize 存取 資源的許可](set-up-required-permissions.md)
+ [授予使用者存取 Amazon Personalize 的許可](grant-user-permissions.md)
+ [讓 Amazon Personalize 存取 Amazon S3 資源](granting-personalize-s3-access.md)
+ [授予 Amazon Personalize 許可以使用您的 AWS KMS 金鑰](granting-personalize-key-access.md)

# 授予 Amazon Personalize 存取 資源的許可
<a name="set-up-required-permissions"></a>

 若要授予 Amazon Personalize 存取資源的許可，您可以建立 IAM 政策，讓 Amazon Personalize 能夠完整存取您的 Amazon Personalize 資源。或者，您可以使用 AWS 受管`AmazonPersonalizeFullAccess`政策。 `AmazonPersonalizeFullAccess`提供比必要更多的許可。建議您建立新的 IAM 政策，只授予必要的許可。如需受管政策的詳細資訊，請參閱 [AWS 受管政策](security_iam_id-based-policy-examples.md#using-managed-policies)。

建立政策後，您可以為 Amazon Personalize 建立 IAM 角色，並將新政策連接至該角色。

**Topics**
+ [為 Amazon Personalize 建立新的 IAM 政策](#create-role-policy)
+ [為 Amazon Personalize 建立 IAM 角色](#set-up-create-role-with-permissions)

## 為 Amazon Personalize 建立新的 IAM 政策
<a name="create-role-policy"></a>

建立 IAM 政策，讓 Amazon Personalize 能夠完整存取您的 Amazon Personalize 資源。

**若要使用 JSON 政策編輯器來建立政策**

1. 登入 AWS 管理主控台 ，並在 https：//[https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/) 開啟 IAM 主控台。

1. 在左側的導覽窗格中，選擇 **Policies (政策)**。

   如果這是您第一次選擇 **Policies (政策)**，將會顯示 **Welcome to Managed Policies (歡迎使用受管政策)** 頁面。選擇 **Get Started (開始使用)**。

1. 在頁面頂端，選擇 **Create policy (建立政策)**。

1. 在**政策編輯器**中，選擇 **JSON** 選項。

1. 輸入下列 JSON 政策文件：

   ```
   {
       "Version": "2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": [
                   "personalize:*"
               ],
               "Resource": "*"
           }
       ]
   }
   ```

1. 選擇**下一步**。
**注意**  
您可以隨時切換**視覺化**與 **JSON** 編輯器選項。不過，如果您進行變更或在**視覺化**編輯器中選擇**下一步**，IAM 就可能會調整您的政策結構，以便針對視覺化編輯器進行最佳化。如需詳細資訊，請參閱《*IAM 使用者指南*》中的[調整政策結構](https://docs.aws.amazon.com/IAM/latest/UserGuide/troubleshoot_policies.html#troubleshoot_viseditor-restructure)。

1. 在**檢視與建立**頁面上，為您正在建立的政策輸入**政策名稱**與**描述** (選用)。檢視**此政策中定義的許可**，來查看您的政策所授予的許可。

1. 選擇 **Create policy** (建立政策) 儲存您的新政策。

## 為 Amazon Personalize 建立 IAM 角色
<a name="set-up-create-role-with-permissions"></a>

 若要使用 Amazon Personalize，您必須為 Amazon Personalize 建立 AWS Identity and Access Management 服務角色。服務角色是服務擔任的 [IAM 角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html)，可代您執行動作。IAM 管理員可以從 IAM 內建立、修改和刪除服務角色。如需詳細資訊，請參閱《*IAM 使用者指南*》中的[建立角色以委派許可給 AWS 服務](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html)。為 Amazon Personalize 建立服務角色之後，請[其他服務角色許可](#additional-service-role-permissions)視需要授予 中列出的角色額外許可。

**建立個人化服務角色 (IAM 主控台）**

1. 登入 AWS 管理主控台 ，並在 https：//[https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/) 開啟 IAM 主控台。

1. 在 IAM 主控台的導覽窗格中，選擇**角色**，然後選擇**建立角色**。

1. 對於 **Trusted entity type** (信任的實體類型)，請選擇 **AWS 服務**。

1. 針對**服務或使用案例**，選擇**個人化**，然後選擇**個人化**使用案例。

1. 選擇**下一步**。

1. 選擇您在上一個程序中建立的政策。

1. (選用) 設定[許可界限](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_boundaries.html)。這是進階功能，可用於服務角色，而不是服務連結的角色。

   1. 開啟**設定許可界限**區段，然後選擇**使用許可界限來控制角色許可上限**。

      IAM 包含您帳戶中 AWS 受管和客戶受管政策的清單。

   1. 選取用於許可界限的政策。

1. 選擇**下一步**。

1. 輸入角色名稱或角色名稱字尾，協助識別該角色的用途。
**重要**  
當您命名角色時，請注意下列事項：  
角色名稱在您的 中必須是唯一的 AWS 帳戶，而且無法依大小寫設為唯一。  
例如，不要同時建立名為 **PRODROLE** 和 **prodrole** 的角色。當角色名稱用於政策或 ARN 的一部分時，角色名稱會區分大小寫，但是當角色名稱在主控台中顯示給客戶時，例如在登入過程中，角色名稱不會區分大小寫。
因為其他實體可能會參考角色，所以在建立角色之後，就無法編輯其名稱。

1. (選用) 在**說明**中，輸入角色的說明。

1. (選用) 若要編輯使用案例和角色許可，請在**步驟 1：選取受信任的實體**或者**步驟 2：新增許可**區段中選擇**編輯**。

1. (選用) 若要協助識別、組織或搜尋角色，請將標籤新增為索引鍵值對。如需在 IAM 中使用標籤的詳細資訊，請參閱《*IAM 使用者指南*》中的[AWS Identity and Access Management 資源的標籤](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_tags.html)。

1. 檢閱角色，然後選擇 **Create role** (建立角色)。

為 Amazon Personalize 建立角色之後，您就可以將[存取權授予 Amazon S3 儲存貯體](granting-personalize-s3-access.md)和[任何 AWS KMS 金鑰](granting-personalize-key-access.md)。

### 其他服務角色許可
<a name="additional-service-role-permissions"></a>

在您建立角色並授予其存取 Amazon Personalize 資源的許可後，請執行下列動作：

1.  修改 Amazon Personalize 服務角色的信任政策，以防止[混淆代理人問題](cross-service-confused-deputy-prevention.md)。如需信任關係政策範例，請參閱 [預防跨服務混淆代理人](cross-service-confused-deputy-prevention.md)。如需修改角色信任政策的資訊，請參閱[修改角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_manage_modify.html)。

1.  如果您使用 AWS Key Management Service (AWS KMS) 進行加密，則必須授予 Amazon Personalize 和 Amazon Personalize IAM 服務角色許可，才能使用您的金鑰。如需詳細資訊，請參閱[授予 Amazon Personalize 許可以使用您的 AWS KMS 金鑰](granting-personalize-key-access.md)。

# 授予使用者存取 Amazon Personalize 的許可
<a name="grant-user-permissions"></a>

 若要提供使用者存取 Amazon Personalize 的權限，您可以建立 IAM 政策，授予存取 Amazon Personalize 資源的許可，並將服務角色傳遞給 Amazon Personalize。然後，當您將許可新增至使用者、群組或角色時，使用該政策。

## 為您的使用者建立新的 IAM 政策
<a name="create-policy-for-users"></a>

建立 IAM 政策，讓 Amazon Personalize 能夠完整存取您的 Amazon Personalize 資源和`PassRole`許可，將您的服務角色傳遞給 Amazon Personalize （在 中建立[為 Amazon Personalize 建立 IAM 角色](set-up-required-permissions.md#set-up-create-role-with-permissions))。

**若要使用 JSON 政策編輯器來建立政策**

1. 登入 AWS 管理主控台，並在 https：//[https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/) 開啟 IAM 主控台。

1. 在左側的導覽窗格中，選擇 **Policies (政策)**。

   如果這是您第一次選擇 **Policies (政策)**，將會顯示 **Welcome to Managed Policies (歡迎使用受管政策)** 頁面。選擇 **Get Started (開始使用)**。

1. 在頁面頂端，選擇 **Create policy (建立政策)**。

1. 在**政策編輯器**中，選擇 **JSON** 選項。

1. 輸入下列 JSON 政策文件：

   ```
   {
       "Version": "2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": [
                   "personalize:*"
               ],
               "Resource": "*"
           },
           {
               "Effect": "Allow",
               "Action": [
                   "iam:PassRole"
               ],
               "Resource": "arn:aws:iam::123456789012:role/ServiceRoleName",
               "Condition": {
                   "StringEquals": {
                       "iam:PassedToService": "personalize.amazonaws.com"
                   }
               }
           }
       ]
   }
   ```

1. 選擇**下一步**。
**注意**  
您可以隨時切換**視覺化**與 **JSON** 編輯器選項。不過，如果您進行變更或在**視覺化**編輯器中選擇**下一步**，IAM 就可能會調整您的政策結構，以便針對視覺化編輯器進行最佳化。如需詳細資訊，請參閱《*IAM 使用者指南*》中的[調整政策結構](https://docs.aws.amazon.com/IAM/latest/UserGuide/troubleshoot_policies.html#troubleshoot_viseditor-restructure)。

1. 在**檢視與建立**頁面上，為您正在建立的政策輸入**政策名稱**與**描述** (選用)。檢視**此政策中定義的許可**，來查看您的政策所授予的許可。

1. 選擇 **Create policy** (建立政策) 儲存您的新政策。

若要僅授予在 Amazon Personalize 中執行任務所需的許可，請修改上述政策，以僅包含使用者所需的動作。如需 Amazon Personalize 動作的完整清單，請參閱 [Amazon Personalize 的動作、資源和條件索引鍵](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonpersonalize.html)。

## 提供 Amazon Personalize 的存取權
<a name="attach-policy-to-user"></a>

當您提供許可給使用者時，連接新的 IAM 政策。

若要提供存取權，請新增權限至您的使用者、群組或角色：
+ 中的使用者和群組AWS IAM Identity Center：

  建立權限合集。請按照《*AWS IAM Identity Center 使用者指南*》中的[建立權限合集](https://docs.aws.amazon.com//singlesignon/latest/userguide/howtocreatepermissionset.html)說明進行操作。
+ 透過身分提供者在 IAM 中管理的使用者：

  建立聯合身分的角色。遵循《*IAM 使用者指南*》的[為第三方身分提供者 (聯合) 建立角色](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_roles_create_for-idp.html)中的指示。
+ IAM 使用者：
  + 建立您的使用者可擔任的角色。請按照《*IAM 使用者指南*》的[為 IAM 使用者建立角色](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_roles_create_for-user.html)中的指示。
  + (不建議) 將政策直接附加至使用者，或將使用者新增至使用者群組。請遵循《*IAM 使用者指南*》的[新增許可到使用者 (主控台)](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_users_change-permissions.html#users_change_permissions-add-console) 中的指示。

# 讓 Amazon Personalize 存取 Amazon S3 資源
<a name="granting-personalize-s3-access"></a>

若要讓 Amazon Personalize 存取您的 Amazon S3 儲存貯體，請執行下列動作：

1. 如果您尚未設定許可，請依照 中的步驟[設定許可](aws-personalize-set-up-permissions.md)設定許可，讓 Amazon Personalize 可以代表您存取 Amazon Personalize 中的資源。

1.  將政策連接至允許存取 Amazon S3 儲存貯體的 Amazon Personalize 服務角色 （請參閱 [為 Amazon Personalize 建立 IAM 角色](set-up-required-permissions.md#set-up-create-role-with-permissions))。如需詳細資訊，請參閱[將 Amazon S3 政策連接至您的 Amazon Personalize 服務角色](#attaching-s3-policy-to-role)。

1.  將儲存貯體政策連接至包含您的資料檔案的 Amazon S3 儲存貯體，以便 Amazon Personalize 可以存取它們。如需詳細資訊，請參閱[將 Amazon Personalize 存取政策連接至您的 Amazon S3 儲存貯體](#attach-bucket-policy)。

1.  如果您使用 AWS Key Management Service (AWS KMS) 進行加密，則必須授予 Amazon Personalize 和 Amazon Personalize IAM 服務角色許可，才能使用您的金鑰。如需詳細資訊，請參閱[授予 Amazon Personalize 許可以使用您的 AWS KMS 金鑰](granting-personalize-key-access.md)。

**注意**  
由於 Amazon Personalize 不會與 AWS VPCs通訊，因此 Amazon Personalize 無法與僅允許 VPC 存取的 Amazon S3 儲存貯體互動。

**Topics**
+ [將 Amazon S3 政策連接至您的 Amazon Personalize 服務角色](#attaching-s3-policy-to-role)
+ [將 Amazon Personalize 存取政策連接至您的 Amazon S3 儲存貯體](#attach-bucket-policy)

## 將 Amazon S3 政策連接至您的 Amazon Personalize 服務角色
<a name="attaching-s3-policy-to-role"></a>

若要將 Amazon S3 政策連接至您的 Amazon Personalize 角色，請執行下列動作：

1. 登入 IAM 主控台 ([https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)：//)。

1. 在導覽窗格中，選擇 **Policies (政策)**，並選擇 **Create policy (建立政策)**。

1. 如下所示，選擇 JSON 標籤並更新政策。用您的儲存貯體名稱取代 `amzn-s3-demo-bucket`。您可以針對資料集匯入任務或資料刪除任務使用以下政策。如果您使用批次工作流程或建立資料集匯出任務，Amazon Personalize 需要額外的許可。請參閱 [批次工作流程的服務角色政策](#role-policy-for-batch-workflows) 或 [匯出資料集的 Amazon S3 儲存貯體政策](#bucket-policy-for-export)。

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Id": "PersonalizeS3BucketAccessPolicy",
       "Statement": [
           {
               "Sid": "PersonalizeS3BucketAccessPolicy",
               "Effect": "Allow",
               "Action": [
                   "s3:GetObject",
                   "s3:ListBucket"
               ],
               "Resource": [
                   "arn:aws:s3:::amzn-s3-demo-bucket",
                   "arn:aws:s3:::amzn-s3-demo-bucket/*"
               ]
           }
       ]
   }
   ```

------

1. 選擇下**一步：標籤**。選擇性地新增任何標籤，然後選擇**檢閱**。

1. 為政策命名。

1. （選用） 針對**描述**，輸入描述此政策的短句，例如： **Allow Amazon Personalize to access its Amazon S3 bucket.**

1. 選擇**建立政策**。

1. 在導覽窗格中，選擇**角色**，然後選擇您為 Amazon Personalize 建立的角色。請參閱 [為 Amazon Personalize 建立 IAM 角色](set-up-required-permissions.md#set-up-create-role-with-permissions)。

1. 針對**許可**，選擇**連接政策**。

1. 若要在清單中顯示政策，請在 **Filter policies (篩選政策)** 篩選條件方塊中輸入政策名稱的一部分。

1. 選擇您在此程序中稍早建立的政策旁的核取方塊。

1. 選擇**連接政策**。

   在您的角色準備好與 Amazon Personalize 搭配使用之前，您還必須將儲存貯體政策連接至包含資料的 Amazon S3 儲存貯體。請參閱 [將 Amazon Personalize 存取政策連接至您的 Amazon S3 儲存貯體](#attach-bucket-policy)。

### 批次工作流程的服務角色政策
<a name="role-policy-for-batch-workflows"></a>

若要完成批次工作，Amazon Personalize 需要存取檔案並將其新增至 Amazon S3 儲存貯體的許可。請依照上述步驟，將下列政策連接至您的 Amazon Personalize 角色。用您的儲存貯體名稱取代 `amzn-s3-demo-bucket`。如需批次工作流程的詳細資訊，請參閱 [取得批次項目建議](getting-batch-recommendations.md)或 [取得批次使用者區段](getting-user-segments.md)。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Id": "PersonalizeS3BucketAccessPolicy",
    "Statement": [
        {
            "Sid": "PersonalizeS3BucketAccessPolicy",
            "Effect": "Allow",
            "Action": [
                "s3:GetObject",
                "s3:ListBucket",
                "s3:PutObject"
            ],
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-bucket",
                "arn:aws:s3:::amzn-s3-demo-bucket/*"
            ]
        }
    ]
}
```

------

### 匯出資料集的服務角色政策
<a name="role-policy-for-export"></a>

若要匯出資料集，Amazon Personalize 服務角色需要許可，才能在 Amazon S3 儲存貯體上使用 `PutObject`和 `ListBucket`動作。下列範例政策會授予 Amazon Personalize `PutObject`和 `ListBucket` 許可。`amzn-s3-demo-bucket` 將 取代為儲存貯體的名稱，並將政策連接至 Amazon Personalize 的服務角色。如需將政策連接至服務角色的詳細資訊，請參閱 [將 Amazon S3 政策連接至您的 Amazon Personalize 服務角色](#attaching-s3-policy-to-role)。

```
{
    "Version": "2012-10-17",		 	 	 
    "Id": "PersonalizeS3BucketAccessPolicy",
    "Statement": [
        {
            "Sid": "PersonalizeS3BucketAccessPolicy",
            "Effect": "Allow",
            "Action": [
                "s3:PutObject",
                "s3:ListBucket"
            ],
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-bucket",
                "arn:aws:s3:::amzn-s3-demo-bucket/*"
            ]
        }
    ]
}
```

## 將 Amazon Personalize 存取政策連接至您的 Amazon S3 儲存貯體
<a name="attach-bucket-policy"></a>

Amazon Personalize 需要存取 S3 儲存貯體的許可。您可以針對資料集匯入任務或資料刪除任務使用以下政策。用您的儲存貯體名稱取代 `amzn-s3-demo-bucket`。如需批次工作流程，請參閱 [批次工作流程的 Amazon S3 儲存貯體政策](#bucket-policy-for-batch-workflows)。

如需 Amazon S3 儲存貯體政策的詳細資訊，請參閱[如何新增 S3 儲存貯體政策？](https://docs.aws.amazon.com/AmazonS3/latest/user-guide/add-bucket-policy.html)。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Id": "PersonalizeS3BucketAccessPolicy",
    "Statement": [
        {
            "Sid": "PersonalizeS3BucketAccessPolicy",
            "Effect": "Allow",
            "Principal": {
                "Service": "personalize.amazonaws.com"
            },
            "Action": [
                "s3:GetObject",
                "s3:ListBucket"
            ],
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-bucket",
                "arn:aws:s3:::amzn-s3-demo-bucket/*"
            ]
        }
    ]
}
```

------

### 批次工作流程的 Amazon S3 儲存貯體政策
<a name="bucket-policy-for-batch-workflows"></a>

對於批次工作流程，Amazon Personalize 需要存取檔案並將其新增至 Amazon S3 儲存貯體的許可。將下列政策連接至您的儲存貯體。用您的儲存貯體名稱取代 `amzn-s3-demo-bucket`。

如需將 Amazon S3 儲存貯體政策新增至儲存貯體的詳細資訊，請參閱[如何新增 S3 儲存貯體政策？](https://docs.aws.amazon.com/AmazonS3/latest/user-guide/add-bucket-policy.html)。如需批次工作流程的詳細資訊，請參閱 [取得批次項目建議](getting-batch-recommendations.md)或 [取得批次使用者區段](getting-user-segments.md)。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Id": "PersonalizeS3BucketAccessPolicy",
    "Statement": [
        {
            "Sid": "PersonalizeS3BucketAccessPolicy",
            "Effect": "Allow",
            "Principal": {
                "Service": "personalize.amazonaws.com"
            },
            "Action": [
                "s3:GetObject",
                "s3:ListBucket",
                "s3:PutObject"
            ],
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-bucket",
                "arn:aws:s3:::amzn-s3-demo-bucket/*"
            ]
        }
    ]
}
```

------

### 匯出資料集的 Amazon S3 儲存貯體政策
<a name="bucket-policy-for-export"></a>

若要匯出資料集，Amazon Personalize 需要在您的 Amazon S3 儲存貯體上使用 `PutObject`和 `ListBucket`動作的許可。下列範例政策會授予 Amazon Personalize 原則`PutObject`和`ListBucket`許可。`amzn-s3-demo-bucket` 將 取代為儲存貯體的名稱，並將政策連接至儲存貯體。如需將 Amazon S3 儲存貯體政策新增至儲存貯體的資訊，請參閱《Amazon Simple Storage Service 使用者指南》中的[如何新增 S3 儲存貯體政策？](https://docs.aws.amazon.com/AmazonS3/latest/user-guide/add-bucket-policy.html)。

```
{
    "Version": "2012-10-17",		 	 	 
    "Id": "PersonalizeS3BucketAccessPolicy",
    "Statement": [
        {
            "Sid": "PersonalizeS3BucketAccessPolicy",
            "Effect": "Allow",
            "Principal": {
                "Service": "personalize.amazonaws.com"
            },
            "Action": [
                "s3:PutObject",
                "s3:ListBucket"
            ],
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-bucket",
                "arn:aws:s3:::amzn-s3-demo-bucket/*"
            ]
        }
    ]
}
```

# 授予 Amazon Personalize 許可以使用您的 AWS KMS 金鑰
<a name="granting-personalize-key-access"></a>

 如果您在使用 Amazon Personalize 主控台或 APIs 時指定 a AWS Key Management Service (AWS KMS) 金鑰，或者如果您使用 AWS KMS 金鑰來加密 Amazon S3 儲存貯體，則必須授予 Amazon Personalize 使用金鑰的許可。若要授予許可，連接至服務角色的 AWS KMS 金鑰政策和 ** IAM 政策必須授予 Amazon Personalize 許可，才能使用您的金鑰。這適用於在 Amazon Personalize 中建立下列項目。
+ 資料集群組
+ 資料集匯入任務 （只有 AWS KMS 金鑰政策必須授予許可）
+ 資料集匯出任務
+ 批次推論任務
+ 批次區段任務
+ 指標屬性

 您的 AWS KMS 金鑰政策和 IAM 政策必須授予下列動作的許可：
+  解密 
+  GenerateDataKey 
+  DescribeKey 
+  CreateGrant （僅在金鑰政策中需要） 
+  ListGrants 

建立資源後撤銷 AWS KMS 金鑰許可可能會導致建立篩選條件或取得建議時發生問題。如需 AWS KMS 政策的詳細資訊，請參閱《 *AWS Key Management Service 開發人員指南*》中的[在 AWS KMS 中使用金鑰政策](https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html)。如需建立 IAM 政策的資訊，請參閱《[IAM 使用者指南》中的建立 IAM 政策](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html)。 **如需將 IAM 政策連接至角色的資訊，請參閱《[IAM 使用者指南》中的新增和移除 IAM 身分許可](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html)。 **

**Topics**
+ [金鑰政策範例](#export-job-key-policy)
+ [IAM 政策範例](#export-job-iam-policy)

## 金鑰政策範例
<a name="export-job-key-policy"></a>

下列金鑰政策範例授予 Amazon Personalize 和您的角色上述 Amazon Personalize 操作的最低許可。如果您在建立資料集群組時指定金鑰，並想要從資料集匯出資料，則金鑰政策必須包含 `GenerateDataKeyWithoutPlaintext`動作。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Id": "key-policy-123",
    "Statement": [
        {
            "Sid": "Allow use of the key",
            "Effect": "Allow",
            "Principal": {
            "AWS": "arn:aws:iam::111122223333:role/<personalize-role-name>",
                "Service": "personalize.amazonaws.com"
            },
            "Action": [
                "kms:Decrypt",
                "kms:GenerateDataKey",
                "kms:DescribeKey",
                "kms:CreateGrant",
                "kms:ListGrants"
            ],
            "Resource": "*"
        }
    ]
}
```

------

## IAM 政策範例
<a name="export-job-iam-policy"></a>

 下列 IAM 政策範例會授予角色上述 Amazon Personalize 操作所需的最低 AWS KMS 許可。對於資料集匯入任務，只有 AWS KMS 金鑰政策需要授予許可。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "kms:Decrypt",
                "kms:GenerateDataKey",
                "kms:DescribeKey",
                "kms:ListGrants"
            ],
            "Resource": "*"
        }
    ]
}
```

------

# 設定 AWS CLI
<a name="aws-personalize-set-up-aws-cli"></a>

 AWS Command Line Interface (AWS CLI) 是一種統一的開發人員工具，用於管理 AWS 服務，包括 Amazon Personalize。建議您安裝它。

1. 若要安裝 AWS CLI，請遵循 *AWS Command Line Interface 介面使用者指南*中的[安裝 AWS Command Line Interface](https://docs.aws.amazon.com/cli/latest/userguide/installing.html) 中的指示。

1. 若要設定 AWS CLI 並設定設定檔以呼叫 AWS CLI，請遵循*AWS Command Line Interface 《 使用者指南*》中[設定 AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html)中的指示。

1. 若要確認 AWS CLI 設定檔已正確設定，請執行下列命令。

   ```
   aws configure --profile default
   ```

   如果已正確設定設定檔，則您看到的輸出將如下所示。

   ```
   AWS Access Key ID [****************52FQ]: 
   AWS Secret Access Key [****************xgyZ]: 
   Default region name [us-west-2]: 
   Default output format [json]:
   ```

1. 若要確認 AWS CLI 已設定為與 Amazon Personalize 搭配使用，請執行下列命令。

   ```
   aws personalize help
   ```

   及

   ```
   aws personalize-runtime help
   ```

   及

   ```
   aws personalize-events help
   ```

   如果 AWS CLI 設定正確，您會看到 Amazon Personalize、Amazon Personalize 執行時間和 Amazon Personalize 事件支援的 AWS CLI 命令清單。

   如果您設定 AWS CLI 且無法辨識 Amazon Personalize 的命令，請更新 AWS CLI。若要更新 AWS CLI，請執行下列命令。

   ```
   pip3 install awscli --upgrade --user
   ```

   如需詳細資訊，請參閱[使用 pip 安裝 AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-install.html#install-tool-pip)。

# 設定 AWS SDKs
<a name="aws-personalize-set-up-sdks"></a>

下載並安裝您要使用的 AWS SDKs。本指南提供適用於 Python (Boto3) 的 SDK、適用於 Java 的 SDK 2.x 和適用於 JavaScript 的 SDK v3 的範例。如需 AWS SDKs的詳細資訊，請參閱[適用於 Amazon Web Services 的工具](https://aws.amazon.com/tools/)。如需設定 Amplify 的資訊，請參閱 [Amplify 文件](https://docs.amplify.aws)。
+ [適用於 Python (Boto3) 的 AWS SDK](https://boto3.amazonaws.com/v1/documentation/api/latest/index.html)

  若要安裝適用於 Python (Boto3) 的 SDK，請遵循 Boto3 文件中的[快速入門](https://boto3.amazonaws.com/v1/documentation/api/latest/guide/quickstart.html)說明。
+ [適用於 Java 的 SDK 2.x](https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/)

   若要了解如何設定適用於 Java 的 SDK 2.x，請參閱《 *AWS SDK for Java 2.x 開發人員指南*》中的適用於 [Java 的 SDK 2.x 入門主題。](https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/get-started.html)

   如需 Amazon Personalize 的程式碼範例，請參閱 SDK 範例儲存庫中的 [Amazon Personalize Java 程式碼](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/javav2/example_code/personalize)[AWS 範例](https://github.com/awsdocs/aws-doc-sdk-examples)。
+ [適用於 JavaScript 的 AWS SDK v3](https://docs.aws.amazon.com/sdk-for-javascript/v3/developer-guide/)

   若要了解如何設定適用於 JavaScript v3 的 SDK，請參閱《 *適用於 JavaScript 的 AWS SDK 開發人員指南*》中的 [主題入門 適用於 JavaScript 的 AWS SDK](https://docs.aws.amazon.com/sdk-for-javascript/v3/developer-guide/getting-started.html)。

   如需 Amazon Personalize 的程式碼範例，請參閱 [SDK 範例儲存庫中適用於 JavaScript v3 的 SDK 的 Amazon Personalize 程式碼](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/javascriptv3/example_code/personalize)[AWS 範例](https://github.com/awsdocs/aws-doc-sdk-examples)。