

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

# Amazon SageMaker Canvas 設定和許可管理 (適用於 IT 管理員)
<a name="canvas-setting-up"></a>

以下頁面說明 IT 管理員如何設定 Amazon SageMaker Canvas 並將許可授予其組織內的使用者。您會了解如何設定儲存組態、管理資料加密和 VPCs、控制對生成式 AI 基礎模型等特定功能的存取、整合 Amazon Redshift 等 AWS 其他服務。遵循以下步驟，您可以根據組織的特定要求，為您的使用者量身打造 SageMaker Canvas。

您也可以使用 為您的使用者設定 SageMaker Canvas AWS CloudFormation。如需詳細資訊，請參閱《AWS CloudFormation 使用者指南》**中的 [AWS::SageMaker AI::App](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-app.html)。

**Topics**
+ [授予使用者上傳本機檔案的許可](canvas-set-up-local-upload.md)
+ [為您的使用者設定 SageMaker Canvas](setting-up-canvas-sso.md)
+ [設定您的 Amazon S3 儲存](canvas-storage-configuration.md)
+ [授予 Amazon S3 Storage Lens 的許可](canvas-permissions-cross-account.md)
+ [授予使用者在整個 ML 生命週期使用大型資料的許可](canvas-large-data-permissions.md)
+ [使用 加密 SageMaker Canvas 資料 AWS KMS](canvas-kms.md)
+ [將 SageMaker Canvas 應用程式資料存放在您自己的 SageMaker AI 空間](canvas-spaces-setup.md)
+ [授予您的使用者建立自訂影像和文字預測模型的許可](canvas-set-up-cv-nlp.md)
+ [授予使用者在 Canvas 中使用 Amazon Bedrock 和生成式 AI 功能的許可](canvas-fine-tuning-permissions.md)
+ [為您的使用者更新 SageMaker Canvas](canvas-update.md)
+ [請求提高配額](canvas-requesting-quota-increases.md)
+ [授予使用者匯入 Amazon Redshift 資料的許可](canvas-redshift-permissions.md)
+ [授予您的使用者將預測傳送至快速的許可](canvas-quicksight-permissions.md)
+ [應用程式管理](canvas-manage-apps.md)
+ [在沒有網際網路存取權的 VPC 中設定 Amazon SageMaker Canvas](canvas-vpc.md)
+ [使用 OAuth 設定與資料來源的連線](canvas-setting-up-oauth.md)

# 授予使用者上傳本機檔案的許可
<a name="canvas-set-up-local-upload"></a>

如果您的使用者將檔案從其本機電腦上傳到 SageMaker Canvas，您必須將 CORS (跨來源資源共用) 組態連接到他們正在使用的 Amazon S3 儲存貯體。設定或編輯 SageMaker AI 網域或使用者設定檔時，您可以指定自訂 Amazon S3 位置或預設位置，也就是 SageMaker AI 建立的 Amazon S3 儲存貯體，其名稱使用下列模式：`s3://sagemaker-{Region}-{your-account-id}`。每當使用者上傳檔案時，SageMaker Canvas 都會將您的資料新增至儲存貯體。

若要授予使用者將本機檔案上傳至值區的許可，您可以使用下列其中一個程序將 CORS 組態連接至儲存貯體。您可以在編輯網域設定時使用第一種方法，您可以在此選擇加入以允許 SageMaker AI 為您將 CORS 組態連接至儲存貯體。您也可以使用第一種方法來編輯網域內的使用者設定檔。第二種方法是手動方法，您可以在其中自己將 CORS 組態連接到儲存貯體。

## SageMaker AI 網域設定方法
<a name="canvas-set-up-local-upload-domain"></a>

若要授予使用者上傳本機檔案的許可，您可以在網域設定中編輯 Canvas 應用程式組態。這會將跨來源資源共用 (CORS) 組態連接至 Canvas 儲存組態的 Amazon S3 儲存貯體，並授予網域中的所有使用者將本機檔案上傳到 SageMaker Canvas 的許可。根據預設，設定新網域時，會開啟許可選項，但您可以視需要開啟和關閉此選項。

**注意**  
如果在儲存組態 Amazon S3 儲存貯體上您有現有的 CORS 組態，則開啟本機檔案上傳選項會以新組態覆寫現有組態。

下列程序說明如何在 SageMaker AI 主控台中編輯網域設定來開啟此選項。

1. 前往位在 [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/) 的 SageMaker AI 主控台。

1. 在左側導覽窗格中選擇 **Domains** (網域)。

1. 從網域清單中選擇您的網域。

1. 在網域詳細資訊頁面上，選取**應用程式組態**索引標籤。

1. 前往 **Canvas** 區段，然後選擇**編輯**。

1. 開啟**啟用本機檔案上傳**切換。這會連接 CORS 組態並授予本機檔案上傳許可。

1. 選擇**提交**。

指定網域中的使用者現在應該具有本機檔案上傳許可。

您也可以遵循上述程序並進入使用者設定檔設定，而非整體網域設定，將許可授予網域中的特定使用者設定檔。

## Amazon S3 儲存貯體方法
<a name="canvas-set-up-local-upload-s3"></a>

如果您想要將 CORS 組態手動連接至 SageMaker AI Amazon S3 儲存貯體，請使用以下程序。

1. 前往 [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/) 登入。

1. 選擇您的儲存貯體。如果您的網域使用 SageMaker AI 建立的儲存貯體，則儲存貯體的名稱會使用下列模式：`s3://sagemaker-{Region}-{your-account-id}`。

1. 選擇**許可**。

1. 導覽至**跨來源資源共享 (CORS)**。

1. 選擇**編輯**。

1. 新增下列 CORS 政策：

   ```
   [
       {
           "AllowedHeaders": [
               "*"
           ],
           "AllowedMethods": [
               "POST"
           ],
           "AllowedOrigins": [
               "*"
           ],
           "ExposeHeaders": []
       }
   ]
   ```

1. 選擇**儲存變更**。

在上述程序中，CORS 政策必須在 `AllowedMethods` 下列出 `"POST"`。

完成該過程後，您應該：
+ 指派給每個使用者的 IAM 角色。
+ 每個使用者的 Amazon SageMaker Studio Classic 執行時期許可。SageMaker Canvas 使用 Studio Classic 從您的使用者執行命令。
+ 如果使用者從其本機電腦上傳檔案，則會連接至其 Amazon S3 儲存貯體的 CORS 政策。

如果您的使用者在更新 CORS 政策之後仍無法上傳本機檔案，瀏覽器可能正在快取先前的上傳嘗試中的 CORS 設定。如果他們遇到問題，請指示他們清除瀏覽器緩存，然後再試一次。

# 為您的使用者設定 SageMaker Canvas
<a name="setting-up-canvas-sso"></a>

若要設定 Amazon SageMaker Canvas ，請執行下列動作：
+ 建立一個 Amazon SageMaker AI 網域。
+ 建立網域的使用者設定檔
+ 為您的使用者設定 Okta 單一登入 (Okta SSO)。
+ 啟用模型的連結共用。

使用 Okta 單一登入 (Okta SSO) 授予您的使用者存取 Amazon SageMaker Canvas 。SageMaker Canvas 支援 SAML 2.0 SSO 方法。以下各節將引導您完成設定 Okta SSO 的程序。

若要設定網域，請參閱[使用 Amazon SageMaker AI 的自訂設定](onboard-custom.md)並遵循使用 IAM 驗證設定您網域的指示。您可使用下列資訊來協助您完成本節中的程序：
+ 您可以忽略有關建立專案的步驟。
+ 您不需要提供其它 Amazon S3 儲存貯體的存取。您的使用者可以使用我們在建立角色時提供的預設儲存貯體。
+ 若要授予使用者與資料科學家共用筆記本的存取權，請開啟**筆記本共用組態**。
+ 使用 Amazon SageMaker Studio Classic 版本 3.19.0 或更新的版本。如需更新 Amazon SageMaker Studio Classic 的相關資訊，請參閱[關閉並更新 Amazon SageMaker Studio Classic](studio-tasks-update-studio.md)。

使用下列程序來設定 Okta。對於下列所有程序，您可以為 `IAM-role` 指定相同的 IAM 角色。

## 將 SageMaker Canvas 應用程式新增至 Okta
<a name="canvas-set-up-okta"></a>

設定 Okta 的登入方法。

1. 登入您的 Okta 管理員儀表板。

1. 選擇**新增應用程式**。搜尋**AWS 帳戶聯合**。

1. 選擇**新增**。

1. 選用：將名稱變更為 **Amazon SageMaker Canvas**。

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

1. 針對**登入方法**，選擇 **SAML 2.0**。

1. 選擇**身分提供者中繼資料**以開啟中繼資料 XML 檔案。在本機儲存檔案。

1. 選擇**完成**。

## 在 IAM 中設定 ID 聯合身分
<a name="set-up-id-federation-IAM"></a>

AWS Identity and Access Management (IAM) 是您用來存取您 AWS 帳戶的 AWS 服務。您可以透過 IAM AWS 帳戶存取 。

1. 登入 AWS 主控台。

1. 選擇 **AWS Identity and Access Management (IAM)**。

1. 選擇**身分提供者**。

1. 選擇**建立提供者**。

1. 對於**設定提供者**，指定下列項目：
   + **提供者類型** — 從下拉式清單中選擇 **SAML**。
   + **提供者名稱** — 指定 **Okta**。
   + **中繼資料文件** — 從步驟 7 上傳您在本機儲存的 XML 文件[將 SageMaker Canvas 應用程式新增至 Okta](#canvas-set-up-okta)。

1. 在**身分提供者**下找到您的身分。複製其**提供者 ARN** 值。

1. 對於**角色**，請選擇您用於 Okta SSO 存取的 IAM 角色。

1. 在 IAM 角色**信任關係**標籤下，選擇**編輯信任關係**。

1. 指定您複製的**提供者 ARN** 值，以修改 IAM 信任關係政策，並新增下列政策：

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

****  

   ```
     {
     "Version":"2012-10-17",		 	 	 
       "Statement": [
         {
           "Effect": "Allow",
           "Principal": {
             "Federated": "arn:aws:iam::111122223333:saml-provider/Okta"
           },
           "Action": [
             "sts:AssumeRoleWithSAML",
             "sts:TagSession"
           ],
           "Condition": {
             "StringEquals": {
               "SAML:aud": "https://signin.aws.amazon.com/saml"
             }
           }
         },
         {
           "Effect": "Allow",
           "Principal": {
             "Federated": "arn:aws:iam::111122223333:saml-provider/Okta"
           },
           "Action": [
             "sts:SetSourceIdentity"
           ]
         }
       ]
     }
   ```

------

1. 要獲得**許可**，請新增下列政策：

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

****  

   ```
   {
      "Version":"2012-10-17",		 	 	 
      "Statement": [
          {
              "Sid": "AmazonSageMakerPresignedUrlPolicy",
              "Effect": "Allow",
              "Action": [
                   "sagemaker:CreatePresignedDomainUrl"
              ],
              "Resource": "*"
         }
     ]
   }
   ```

------

## 在 Okta 中設定 SageMaker Canvas
<a name="canvas-configure-okta"></a>

使用下列程序在 Okta 中設定 Amazon SageMaker Canvas。

若要將 Amazon SageMaker Canvas 設定為使用 Okta，請遵循本節中的步驟。您必須為每個 **SageMakerStudioProfileName** 欄位指定唯一的使用者名稱。例如，您可以使用 `user.login` 作為值。如果使用者名稱與 SageMaker Canvas 設定檔名稱不同，請選擇不同的唯一識別屬性。例如，您可以使用員工的 ID 號碼作為設定檔名稱。

有關值的範例，您可以為**屬性**，請參閱過程後面的代碼。

1. 在**目錄**下選擇**群組**。

1. 新增下列模式的群組：`sagemaker#canvas#IAM-role#AWS-account-id`。

1. 在 Okta 中，開啟 **AWS 帳戶聯合**應用程式整合組態。

1. 為 AWS 帳戶聯合應用程式選取**登入**。

1. 選擇**編輯**並指定下列項目：
   + SAML 2.0
   + **預設轉送狀態** – https://*Region*.console.aws.amazon.com/sagemaker/home?region=*Region*\$1/studio/canvas/open/*StudioId*。您可以在主控台中找到 Studio Classic ID：[https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/)

1. 選擇**屬性**。

1. 在 **SageMakerStudioProfileName** 欄位中，為每個使用者名稱指定唯一值。使用者名稱必須與您在 AWS 主控台中建立的使用者名稱相符。

   ```
   Attribute 1:
   Name: https://aws.amazon.com/SAML/Attributes/PrincipalTag:SageMakerStudioUserProfileName 
   Value: ${user.login}
   
   Attribute 2:
   Name: https://aws.amazon.com/SAML/Attributes/TransitiveTagKeys
   Value: {"SageMakerStudioUserProfileName"}
   ```

1. 選取**環境類型**。選擇**一般 AWS**。
   + 如果未列出您的環境類型，您可以在 ACS URL 欄位中設定 **ACS URL**。如果列出您的環境類型，您便無需輸入 ACS URL

1. 針對**身分提供者 ARN**，指定您在前述程序的步驟 6 中使用的 ARN。

1. 指定**工作階段持續時間**。

1. 選擇**加入所有角色**。

1. 指定下列欄位以開啟**使用群組對應**：
   + **應用程式篩選器** — `okta`
   + **群組篩選器** — `^aws\#\S+\#(?IAM-role[\w\-]+)\#(?accountid\d+)$`
   + **角色值模式** — `arn:aws:iam::$accountid:saml-provider/Okta,arn:aws:iam::$accountid:role/IAM-role`

1. 選擇**儲存/下一步**。

1. 在**指派**底下，將應用程式指派給您建立的群組。

## 在 IAM 中新增存取控制的選擇性政策
<a name="canvas-optional-access"></a>

在 IAM 中，您可以將下列政策套用至建立使用者設定檔的管理員使用者。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "CreateSageMakerStudioUserProfilePolicy",
            "Effect": "Allow",
            "Action": "sagemaker:CreateUserProfile",
            "Resource": "*",
            "Condition": {
                "ForAnyValue:StringEquals": {
                    "aws:TagKeys": [
                        "studiouserid"
                    ]
                }
            }
        }
    ]
}
```

------

如果您選擇將上述政策新增至管理員使用者，則必須使用透過[在 IAM 中設定 ID 聯合身分](#set-up-id-federation-IAM)取得的下列許可。

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
       {
           "Sid": "AmazonSageMakerPresignedUrlPolicy",
           "Effect": "Allow",
           "Action": [
               "sagemaker:CreatePresignedDomainUrl"
           ],
           "Resource": "*",
           "Condition": {
                  "StringEquals": {
                      "sagemaker:ResourceTag/studiouserid": "${aws:PrincipalTag/SageMakerStudioUserProfileName}"
                 }
            }
      }
  ]
}
```

------

# 設定您的 Amazon S3 儲存
<a name="canvas-storage-configuration"></a>

設定 SageMaker Canvas 應用程式時，模型成品、資料集和其他應用程式資料的預設儲存位置是 Canvas 建立的 Amazon S3 儲存貯體。此預設 Amazon S3 儲存貯體遵循命名模式 `s3://sagemaker-{Region}-{your-account-id}`，並與 Canvas 應用程式位於同一區域。不過，您可以自訂儲存位置，並指定自己的 Amazon S3 儲存貯體來存放 Canvas 應用程式資料。出於以下任何原因，您可能想要使用自己的 Amazon S3 儲存貯體來存放應用程式資料：
+ 您的組織有 Amazon S3 儲存貯體的內部命名慣例。
+ 您想要啟用對模型成品或其他 Canvas 資料的跨帳戶存取權。
+ 您希望遵守內部安全指南，例如限制使用者使用特定 Amazon S3 儲存貯體或模型成品。
+ 您希望獲得 Canvas 產生的日誌的增強可見性和存取權，獨立於 AWS 主控台或 SageMaker Studio Classic。

透過指定自己的 Amazon S3 儲存貯體，您可以增強對自己儲存的控制權，並符合您的組織的規定。

若要開始使用，您可以建立新的 SageMaker AI 網域或使用者設定檔，也可以更新現有的網域或使用者設定檔。請注意，使用者設定檔設定會覆寫網域層級設定。例如，您可以在網域層級使用預設儲存貯體組態，但是您可以為個別使用者指定自訂 Amazon S3 儲存貯體組態。為網域或使用者設定檔指定自己的 Amazon S3 儲存貯體後，Canvas 會在輸入 Amazon S3 URI 下建立一個名為 `Canvas/<UserProfileName>` 的子資料夾，並將 Canvas 應用程式中產生的所有成品儲存在此子資料夾下。

**重要**  
如果您更新現有的網域或使用者設定檔，您將無法再從先前位置存取 Canvas 成品。您的檔案仍然位於舊的 Amazon S3 位置，但您無法再從 Canvas 檢視檔案。新組態會在您下次登入應用程式時生效。

如需授予跨帳戶存取 Amazon S3 儲存貯體的詳細資訊，請參閱 *Amazon S3 使用者指南*中的[授予跨帳戶物件許可](https://docs.aws.amazon.com/AmazonS3/latest/userguide/example-walkthroughs-managing-access-example4.html#access-policies-walkthrough-example4-overview)。

以下部分描述如何為 Canvas 儲存組態指定自訂 Amazon S3 儲存貯體。如果您要設定新的 SageMaker AI 網域 (或網域中的新使用者)，請使用 [新網域設定方法](#canvas-storage-configuration-new-domain) 或 [新使用者設定檔設定方法](#canvas-storage-configuration-new-user)。如果您有現有的 Canvas 使用者設定檔，並且想要更新設定檔的儲存組態，請使用 [現有的使用者方法](#canvas-storage-configuration-existing-user)。

## 開始之前
<a name="canvas-storage-configuration-prereqs"></a>

如果您要從不同 AWS 帳戶指定 Amazon S3 URI，或者如果您使用的是使用 加密的儲存貯體 AWS KMS，則必須先設定許可，才能繼續。您必須授予 AWS IAM 許可，以確保 Canvas 可以在您的儲存貯體中下載和上傳物件。如需如何授予必要許可的詳細，請參閱[授予 Amazon S3 Storage Lens 的許可](canvas-permissions-cross-account.md)。

此外，您 Canvas 儲存位置中訓練資料夾的最終 Amazon S3 URI 必須在 128 個字元以內。最終的 Amazon S3 URI 包含您的儲存貯體路徑 `s3://<your-bucket-name>/<folder-name>/` 以及 Canvas 新增至您的儲存貯體的路徑：`Canvas/<user-profile-name>/Training`。例如，小於 128 個字元的可接受路徑為 `s3://<amzn-s3-demo-bucket>/<machine-learning>/Canvas/<user-1>/Training`。

## 新網域設定方法
<a name="canvas-storage-configuration-new-domain"></a>

如果您要設定新網域和 Canvas 應用程式，請使用此區段，在網域層級設定儲存位置。除非您為個別使用者設定檔指定不同的儲存位置，否則此設定會套用至您在網域中建立的所有新使用者。

針對您的網域執行**標準設定**時，請在**步驟 3：設定應用程式 - 選用**頁面上，針對 **Canvas** 區段使用下列程序：

1. 對於 **Canvas 儲存組態**，請執行下列動作：

   1. 如果您要將位置設定為遵循 `s3://sagemaker-{Region}-{your-account-id}` 模式的預設 SageMaker AI 儲存貯體，請選擇**系統管理**。

   1. 選取**自訂 S3**以指定自己的 Amazon S3 儲存貯體為儲存位置。然後，輸入 Amazon S3 URI。

   1. (選用) 針對**加密金鑰**，請指定 KMS 金鑰，以加密儲存在指定位置的 Canvas 成品。

1. 完成網域設定，然後選擇**提交**。

您的網域現在已設定為使用您為 SageMaker Canvas 應用程式儲存指定的 Amazon S3 位置。

## 新使用者設定檔設定方法
<a name="canvas-storage-configuration-new-user"></a>

如果您要在網域中設定新的使用者設定檔，請使用此區段來設定使用者的儲存位置。此組態會覆寫網域層級組態。

將使用者設定檔新增至您的網域時，請針對**步驟 2：設定應用程式**，為 **Canvas** 區段使用下列程序：

1. 對於 **Canvas 儲存組態**，請執行下列動作：

   1. 如果您要將位置設定為遵循 `s3://sagemaker-{Region}-{your-account-id}` 模式的 SageMaker AI 建立的預設儲存貯體，請選擇**系統管理**。

   1. 選取**自訂 S3**以指定自己的 Amazon S3 儲存貯體為儲存位置。然後，輸入 Amazon S3 URI。

   1. (選用) 針對**加密金鑰**，請指定 KMS 金鑰，以加密儲存在指定位置的 Canvas 成品。

1. 設定好使用者設定檔並選擇**提交**。

您的使用者設定檔現在已設定為使用您為 SageMaker Canvas 應用程式儲存指定的 Amazon S3 位置。

## 現有的使用者方法
<a name="canvas-storage-configuration-existing-user"></a>

如果您有現有的 Canvas 使用者設定檔，並且想要更新 Amazon S3 儲存位置，則可以編輯 SageMaker AI 網域或使用者設定檔設定。變更會在您下次登入 Canvas 應用程式時生效。

**注意**  
當您變更現有 Canvas 應用程式的儲存位置時，您將無法存取先前儲存位置的 Canvas 成品。成品仍然存放在舊的 Amazon S3 位置，但您無法再從 Canvas 檢視它們。

請記住，使用者設定檔設定會覆寫一般網域設定，因此您可以更新特定使用者設定檔的 Amazon S3 儲存位置，而無需變更所有使用者的設定檔。您可以使用下列程序，更新現有網域或使用者的儲存組態。

------
#### [ Update an existing domain ]

使用下列程序來更新網域的儲存組態。

1. 開啟位在 [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/) 的 SageMaker AI 主控台。

1. 在左側導覽窗格中，選擇**管理員組態**。

1. 在**管理員組態**下，選擇**網域**。

1. 從網域清單中選擇您的網域。

1. 在**網域詳細資訊**頁面上，選擇**應用程式組態**索引標籤。

1. 向下捲動到 **Canvas** 區段，然後選擇**編輯**。

1. **編輯 Canvas 設定**頁面隨即開啟。對於 **Canvas 儲存組態**區段，請執行下列動作：

   1. 如果您要將位置設定為遵循 `s3://sagemaker-{Region}-{your-account-id}` 模式的 SageMaker AI 建立的預設儲存貯體，請選擇**系統管理**。

   1. 選取**自訂 S3**以指定自己的 Amazon S3 儲存貯體為儲存位置。然後，輸入 Amazon S3 URI。

   1. (選用) 針對**加密金鑰**，請指定 KMS 金鑰，以加密儲存在指定位置的 Canvas 成品。

1. 完成您要對網域進行的任何其他修改，然後選擇**提交**以儲存變更。

------
#### [ Update an existing user profile ]

使用下列程序來更新使用者設定檔的儲存區組態。

1. 開啟位在 [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/) 的 SageMaker AI 主控台。

1. 在左側導覽窗格中，選擇**管理員組態**。

1. 在**管理員組態**下，選擇**網域**。

1. 從**網域**清單中選擇您的網域。

1. 從網域中的使用者清單中，選擇您要編輯其組態的使用者。

1. 在**使用者詳細資訊**頁面，選擇**編輯**。

1. 在導覽窗格中，選擇 **Canvas 設定**。

1. 對於 **Canvas 儲存組態**，請執行下列動作：

   1. 如果您要將位置設定為遵循 `s3://sagemaker-{Region}-{your-account-id}` 模式的預設 SageMaker AI 儲存貯體，請選擇**系統管理**。

   1. 選取**自訂 S3**以指定自己的 Amazon S3 儲存貯體為儲存位置。然後，輸入 Amazon S3 URI。

   1. (選用) 針對**加密金鑰**，請指定 KMS 金鑰，以加密儲存在指定位置的 Canvas 成品。

1. 完成您想對使用者概況進行的任何其他修改，然后選擇**提交**以保存您的變更。

------

Canvas 使用者設定檔的儲存位置現在應該已更新。下次登入 Canvas 應用程式時，您會收到儲存位置已更新的通知。您將無法存取您在 Canvas 中建立的任何先前成品。您仍然可以存取 Amazon S3 中的檔案，但無法再在 Canvas 中檢視這些檔案。

# 授予 Amazon S3 Storage Lens 的許可
<a name="canvas-permissions-cross-account"></a>

為使用者設定 SageMaker AI 網域或使用者設定檔以存取 SageMaker Canvas 時，您可以為 Canvas 成品指定 Amazon S3 儲存位置。這些成品包括已儲存的輸入資料集副本、模型加工品、預測和其他應用程式資料。您可以使用預設 SageMaker AI 建立的 Amazon S3 儲存貯體，也可以自訂儲存位置並指定自己的儲存貯體來存放 Canvas 應用程式資料。

您可以在另一個 AWS 帳戶中指定 Amazon S3 儲存貯體來存放 Canvas 資料，但必須先授予跨帳戶許可，Canvas 才能存取儲存貯體。

以下各節說明如何授予 Canvas 的許可，以便在另一個帳戶中的 Amazon S3 儲存貯體上傳和下載物件。當您的儲存貯體使用 加密時，還有其他許可 AWS KMS。

## 要求
<a name="canvas-permissions-cross-account-prereqs"></a>

開始之前，檢查下列要求：
+ 跨帳戶 Amazon S3 儲存貯體 （和任何相關聯的 AWS KMS 金鑰） 必須與 Canvas 使用者網域或使用者設定檔位於相同的 AWS 區域。
+ 您 Canvas 儲存位置中訓練資料夾的最終 Amazon S3 URI 必須在 128 個字元以內。最終的 Amazon S3 URI 包含您的儲存貯體路徑 `s3://<your-bucket-name>/<folder-name>/` 以及 Canvas 新增至您的儲存貯體的路徑：`Canvas/<user-profile-name>/Training`。例如，小於 128 個字元的可接受路徑為 `s3://<amzn-s3-demo-bucket>/<machine-learning>/Canvas/<user-1>/Training`。

## 儲存貯體的跨帳戶 Amazon S3 主控台 ACL 許可
<a name="canvas-permissions-cross-account-s3"></a>

以下部分概述授予必要許可，以便 Canvas 可以在另一個帳戶中存取 Amazon S3 儲存貯體的基本步驟。如詳細說明，請參閱 *Amazon S3 使用者指南*中的[範例 2：儲存貯體擁有者授予跨帳戶許可](https://docs.aws.amazon.com/AmazonS3/latest/userguide/example-walkthroughs-managing-access-example2.html)。

1. 在帳戶 A 建立一個 Amazon S3 儲存貯體 `bucketA`。

1. Canvas 使用者存在於另一個名為帳戶 B 的帳戶中。在下列步驟中，我們將 Canvas 使用者的 IAM 角色在帳戶 B 中稱為 `roleB`。

   透過連接 IAM 政策，讓帳戶 B 中的 IAM 角色 `roleB` 獲得許可從帳戶 A 的 `bucketA` 中下載 (`GetObject`) 和上傳 (`PutObject`) 物件。

   若要限制存取特定儲存貯體資料夾，請在資源元素中定義資料夾名稱，例如 `arn:aws:s3:::<bucketA>/FolderName/*`。如需更多資訊，請參閱[如何使用 IAM 政策授予使用者特定資料夾的存取](https://aws.amazon.com/premiumsupport/knowledge-center/iam-s3-user-specific-folder/)許可？
**注意**  
儲存貯體層級動作如 `GetBucketCors` 和 `GetBucketLocation` 應該新增至值區層級資源，而不是資料夾。

   下列 IAM 政策範例授予 `roleB` 存取 `bucketA` 中物件的必要許可：

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": [
                   "s3:GetObject",
                   "s3:PutObject",
                   "s3:DeleteObject"
               ],
               "Resource": [
                   "arn:aws:s3:::bucketA/FolderName/*"
               ]
           },
           {
               "Effect": "Allow",
               "Action": [
                   "s3:ListBucket",
                   "s3:GetBucketCors",
                   "s3:GetBucketLocation"
               ],
               "Resource": [
                   "arn:aws:s3:::bucketA"
               ]
           }
       ]
   }
   ```

------

1. 設定帳戶 A 中 `bucketA` 的儲存貯體政策，對帳戶 B 中的 IAM 角色 `roleB` 授予許可。
**注意**  
管理員也必須在儲存貯體**許可**區段下關閉**封鎖所有公開存取**。

   下列儲存貯體政策範例，讓 `bucketA` 授予 `roleB` 必要的許可：

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Principal": {
                   "AWS": "arn:aws:iam::111122223333:role/roleB"
               },
               "Action": [
                   "s3:DeleteObject",
                   "s3:GetObject",
                   "s3:PutObject"
               ],
               "Resource": "arn:aws:s3:::bucketA/FolderName/*"
           },
           {
               "Effect": "Allow",
               "Principal": {
                   "AWS": "arn:aws:iam::111122223333:role/roleB"
               },
               "Action": [
                   "s3:ListBucket",
                   "s3:GetBucketCors",
                   "s3:GetBucketLocation"
               ],
               "Resource": "arn:aws:s3:::bucketA"
           }
       ]
   }
   ```

------

設定前述許可後，帳戶 B 中的 Canvas 使用者設定檔現在可以使用帳戶 A 中的 Amazon S3 儲存貯體做為 Canvas 成品的儲存位置。

## 使用 加密的跨帳戶 Amazon S3 儲存貯體的許可 AWS KMS
<a name="canvas-permissions-cross-account-s3-kms"></a>

下列程序說明如何授予必要的許可，讓 Canvas 可以在另一個使用 加密的帳戶中存取您的 Amazon S3 儲存貯體 AWS KMS。這些步驟與上述程序類似，但具有其他許可。如需授予跨帳戶 KMS 金鑰許可的更多相關資訊，請參閱 *AWS KMS 開發人員指南*中的[允許其他帳戶中的使用者使用 KMS 金鑰](https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-modifying-external-accounts.html)。

1. 在帳戶 A 中建立一個 Amazon S3 儲存貯體 `bucketA` 和一個 Amazon S3 KMS 金鑰 `s3KmsInAccountA`。

1. Canvas 使用者存在於另一個名為帳戶 B 的帳戶中。在下列步驟中，我們將 Canvas 使用者的 IAM 角色在帳戶 B 中稱為 `roleB`。

   授予帳戶 B 中的 IAM 角色 `roleB` 執行下列動作的許可：
   + 在帳戶 A 的 `bucketA` 中下載 (`GetObject`) 和上傳 (`PutObject`) 物件。
   + 存取帳戶 A `s3KmsInAccountA` 中的 AWS KMS 金鑰。

   下列 IAM 政策範例授予 `roleB` 存取 `bucketA` 中物件和使用 KMS 金鑰 `s3KmsInAccountA` 的必要許可：

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": [
                   "s3:GetObject",
                   "s3:PutObject",
                   "s3:DeleteObject"
               ],
               "Resource": [
                   "arn:aws:s3:::bucketA/FolderName/*"
               ]
           },
           {
               "Effect": "Allow",
               "Action": [
                   "s3:GetBucketCors",
                   "s3:GetBucketLocation"
               ],
               "Resource": [
                   "arn:aws:s3:::bucketA"
               ]
           },
           {
               "Action": [
                   "kms:DescribeKey",
                   "kms:CreateGrant",
                   "kms:RetireGrant",
                   "kms:GenerateDataKey",
                   "kms:GenerateDataKeyWithoutPlainText",
                   "kms:Decrypt"
               ],
               "Effect": "Allow",
               "Resource": "arn:aws:kms:us-east-1:111122223333:key/s3KmsInAccountA"
           }
       ]
   }
   ```

------

1. 在帳戶 A 中設定 `bucketA` 的儲存貯體政策和 `s3KmsInAccountA` 的金鑰政策，將許可授予帳戶 B 的 IAM 角色 `roleB`。

   下列範例儲存貯體政策為 `bucketA` 授予 `roleB` 必要的許可：

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Principal": {
                   "AWS": "arn:aws:iam::111122223333:role/roleB"
               },
               "Action": [
                   "s3:DeleteObject",
                   "s3:GetObject",
                   "s3:PutObject"
               ],
               "Resource": "arn:aws:s3:::bucketA/FolderName/*"
           },
           {
               "Effect": "Allow",
               "Principal": {
                   "AWS": "arn:aws:iam::111122223333:role/roleB"
               },
               "Action": [
                   "s3:GetBucketCors",
                   "s3:GetBucketLocation"
               ],
               "Resource": "arn:aws:s3:::bucketA"
           }
       ]
   }
   ```

------

   下列範例是您連接至帳戶 A 中 KMS 金鑰 `s3KmsInAccountA` 以授予 `roleB` 存取權的金鑰政策。如需有關如何建立和連接金鑰政策聲明的更多相關資訊，請參閱 *AWS KMS 開發人員指南*中的[建立金鑰政策](https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-overview.html)。

   ```
   {
     "Sid": "Allow use of the key",
     "Effect": "Allow",
     "Principal": {
       "AWS": [
         "arn:aws:iam::accountB:role/roleB"
       ]
     },
     "Action": [
           "kms:DescribeKey",
           "kms:CreateGrant",
           "kms:RetireGrant",
           "kms:GenerateDataKey",
           "kms:GenerateDataKeyWithoutPlainText",
           "kms:Decrypt"
     ],
     "Resource": "*"
   }
   ```

設定前述許可後，帳戶 B 中的 Canvas 使用者設定檔現在可以使用帳戶 A 中的加密 Amazon S3 儲存貯體做為 Canvas 成品的儲存位置。

# 授予使用者在整個 ML 生命週期使用大型資料的許可
<a name="canvas-large-data-permissions"></a>

Amazon SageMaker Canvas 使用者若使用超過 10 GB 的 CSV 格式資料集或超過 2.5 GB 的 Parquet 格式資料集，則需要特定許可才能進行大型資料處理。這些許可對於管理整個機器學習生命週期的大規模資料至關重要。當資料集超過指定的閾值或應用程式的本機記憶體容量時，SageMaker Canvas 會使用 Amazon EMR Serverless 進行高效處理。這適用於：
+ 資料匯入：使用隨機或分層取樣匯入大型資料集。
+ 資料準備：將已處理的資料從 Canvas 中的 Data Wrangler 匯出至 Amazon S3、新 Canvas 資料集或 Canvas 模型。
+ 模型建置：在大型資料集上訓練模型。
+ 推論：對大型資料集進行預測。

根據預設，SageMaker Canvas 會使用 EMR Serverless，搭配下列應用程式設定執行這些遠端任務：
+ 預先初始化容量：未設定
+ 應用程式限制：最大容量為 400 個 vCPU、每個帳戶的並行 vCPU 數量最多可有 16個、3000 GB 記憶體、20000 GB 磁碟
+ 中繼存放區組態： AWS Glue Data Catalog
+ 應用程式日誌： AWS 受管儲存 （已啟用），使用 AWS 擁有的加密金鑰
+ 應用程式行為：在應用程式閒置 15 分鐘後，自動啟動任務提交和自動停止

若要啟用這些大型資料處理功能，使用者需要必要的許可，這些許可可以透過 Amazon SageMaker AI 網域設定授予。授予這些許可的方法取決於您的 Amazon SageMaker AI 網域最初的設定方式。我們將涵蓋三個主要案例：
+ 快速網域設定
+ 自訂網域設定 (具有公有網際網路存取/沒有 VPC)
+ 自訂網域設定 (具有 VPC 且沒有公有網際網路存取)

每個案例都需要特定步驟，以確保使用者具有必要的許可，以在 SageMaker Canvas 的整個機器學習生命週期中利用 EMR Serverless 進行大型資料處理。

## 案例 1：快速網域設定
<a name="canvas-large-data-quick-setup"></a>

如果您在建立 SageMaker AI 網域時使用了**快速設定**選項，請遵循下列步驟：

1. 導覽至 Amazon SageMaker AI 網域設定：

   1. 開啟 Amazon SageMaker AI 主控台，網址為 [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/)。

   1. 在左側導覽窗格中選擇 **Domains** (網域)。

   1. 選擇網域。

   1. 選擇**應用程式組態**索引標籤。

   1. 捲動至 **Canvas** 區段，然後選擇**編輯**。

1. 啟用大型資料處理：

   1. 在**大型資料處理組態**區段中，開啟**啟用 EMR Serverless 進行大型資料處理**。

   1. 建立或選取 EMR Serverless 角色：

      1. 選擇**建立並使用新的執行角色**來建立新的 IAM 角色，該角色與 EMR Serverless 和連接的 [AWS 受管政策：AmazonSageMakerCanvasEMRServerlessExecutionRolePolicy](security-iam-awsmanpol-canvas.md#security-iam-awsmanpol-AmazonSageMakerCanvasEMRServerlessExecutionRolePolicy) 政策具有信任關係。Canvas 會擔任此 IAM 角色來建立 EMR Serverless 任務。

      1. 或者，如果您已有執行角色具有 EMR Serverless 的信任關係，請選取**使用現有的執行角色**，然後從下拉式清單中選擇您的角色。
         + 現有角色必須具有以字首 `AmazonSageMakerCanvasEMRSExecutionAccess-` 開頭的名稱。
         + 您選取的角色也應該至少具有 [AWS 受管政策：AmazonSageMakerCanvasEMRServerlessExecutionRolePolicy](security-iam-awsmanpol-canvas.md#security-iam-awsmanpol-AmazonSageMakerCanvasEMRServerlessExecutionRolePolicy) 政策中所述的許可。
         + 角色應該具有 EMR Serverless 信任政策，如下所示：

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

****  

           ```
           {
               "Version":"2012-10-17",		 	 	 
               "Statement": [
                   {
                       "Sid": "EMRServerlessTrustPolicy",
                       "Effect": "Allow",
                       "Principal": {
                           "Service": "emr-serverless.amazonaws.com"
                       },
                       "Action": "sts:AssumeRole",
                       "Condition": {
                           "StringEquals": {
                               "aws:SourceAccount": "111122223333"
                           }
                       }
                   }
               ]
           }
           ```

------

1. (選用) 新增自訂 Amazon S3 儲存貯體的 Amazon S3 許可：

   1. Canvas 受管政策會自動為其名稱中包含 `sagemaker` 或 `SageMaker AI` 的 Amazon S3 儲存貯體授予讀取和寫入許可。它還會為具有標籤 `"SageMaker": "true"` 的自訂 Amazon S3 儲存貯體中的物件授予讀取許可。

   1. 對於沒有必要標籤的自訂 Amazon S3 儲存貯體，請將下列政策新增至您的 EMR Serverless 角色：

   1. 

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

****  

      ```
      {
          "Version":"2012-10-17",		 	 	 
          "Statement": [
              {
                  "Effect": "Allow",
                  "Action": [
                      "s3:GetObject",
                      "s3:PutObject",
                      "s3:DeleteObject"
                  ],
                  "Resource": [
                      "arn:aws:s3:::*"
                  ]
              }
          ]
      }
      ```

------

   1. 我們建議您將許可範圍縮小為您想要 Canvas 存取的特定 Amazon S3 儲存貯體。

1. 儲存您的變更並重新啟動您的 SageMaker Canvas 應用程式。

## 案例 2：自訂網域設定 (具有公有網際網路存取/沒有 VPC)
<a name="canvas-large-data-custom-no-vpc"></a>

如果您建立或使用自訂網域，請遵循案例 1 中的步驟 1-3，然後執行以下額外步驟：

1. 將 Amazon ECR `DescribeImages` 操作的許可新增至 Amazon SageMaker AI 執行角色，因為 Canvas 會使用公有 Amazon ECR Docker 映像檔進行資料準備和模型訓練：

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

   1. 選擇**角色**。

   1. 在搜尋方塊中，依名稱搜尋您的 SageMaker AI 執行角色，然後選取該角色。

   1. 將下列政策新增至您的 SageMaker AI 執行角色。這可以透過將其新增為新的內嵌政策，或將政策聲明附加至現有的政策來完成此操作。請注意，IAM 角色最多可連接 10 個政策。

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

****  

      ```
      {
          "Version":"2012-10-17",		 	 	 
          "Statement": [{
              "Sid": "ECRDescribeImagesOperation",
              "Effect": "Allow",
              "Action": "ecr:DescribeImages",
              "Resource": [
                  "arn:aws:ecr:*:*:repository/sagemaker-data-wrangler-emr-container",
                  "arn:aws:ecr:*:*:repository/ap-dataprep-emr"
              ]
          }]
      }
      ```

------

1. 儲存您的變更並重新啟動您的 SageMaker Canvas 應用程式。

## 案例 3：自訂網域設定 (月有 VPC 且沒有公有網際網路存取)
<a name="canvas-large-data-custom-vpc"></a>

如果您建立或使用自訂網域，請遵循案例 2 中的所有步驟，然後遵循以下額外步驟：

1. 確保您的 VPC 子網路為私有的：

   1. 確認子網路的路由表沒有將 `0.0.0.0/0` 對應至網際網路閘道的項目。

1. 新增用於建立網路介面的許可：

   1. 使用 SageMaker Canvas 搭配 EMR Serverless 進行大規模資料處理時，EMR Serverless 需要能夠建立 Amazon EC2 ENIs，以啟用 EMR Serverless 應用程式與 VPC 資源之間的網路通訊。

   1. 將下列政策新增至您的 Amazon SageMaker AI 執行角色。這可以透過將其新增為新的內嵌政策，或將政策聲明附加至現有的政策來完成此操作。請注意，IAM 角色最多可連接 10 個政策。

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

****  

      ```
      {
          "Version":"2012-10-17",		 	 	 
          "Statement": [
              {
                  "Sid": "AllowEC2ENICreation",
                  "Effect": "Allow",
                  "Action": [
                      "ec2:CreateNetworkInterface"
                  ],
                  "Resource": [
                      "arn:aws:ec2:*:*:network-interface/*"
                  ],
                  "Condition": {
                      "StringEquals": {
                          "aws:CalledViaLast": "ops.emr-serverless.amazonaws.com"
                      }
                  }
              }
          ]
      }
      ```

------

1. (選用) 將 ENI 建立限制在特定子網路：

   1. 若要將 ENI 的建立限制在 VPC 內的特定子網路，以進一步保護您的設定，您可以使用特定條件標記每個子網路。

   1. 使用下列 IAM 政策來確保 EMR Serverless 應用程式只能在允許的子網路和安全群組內建立 Amazon EC2 ENI：

      ```
      {
          "Sid": "AllowEC2ENICreationInSubnetAndSecurityGroupWithEMRTags",
          "Effect": "Allow", 
          "Action": [
              "ec2:CreateNetworkInterface"
          ],
          "Resource": [
              "arn:aws:ec2:*:*:subnet/*",
              "arn:aws:ec2:*:*:security-group/*"
          ],
          "Condition": {
              "StringEquals": {
                  "aws:ResourceTag/KEY": "VALUE"
              }
          }
      }
      ```

1. 請依照頁面上的步驟[在沒有網際網路存取權的 VPC 中設定 Amazon SageMaker Canvas](canvas-vpc.md)來設定 Amazon S3 的 VPC 端點，這是 EMR Serverless 和其他 SageMaker Canvas 所使用的 AWS 服務所需要。

1. 儲存您的變更並重新啟動您的 SageMaker Canvas 應用程式。

遵循以下步驟，您可以在 SageMaker Canvas 中針對各種網域設定啟用大型資料處理，包括具有自訂 VPC 組態的網域設定。請記得在進行這些變更以套用新許可之後重新啟動 SageMaker Canvas 應用程式。

# 使用 加密 SageMaker Canvas 資料 AWS KMS
<a name="canvas-kms"></a>

使用 Amazon SageMaker Canvas 時，您可能會擁有想要加密的資料，例如您的私人公司資訊或客戶資料。SageMaker Canvas AWS Key Management Service 用來保護您的資料。 AWS KMS 是一項服務，可用來建立和管理加密資料的密碼編譯金鑰。如需 的詳細資訊 AWS KMS，請參閱《 *AWS KMS 開發人員指南*[AWS Key Management Service](https://docs.aws.amazon.com/kms/latest/developerguide/overview.html)》中的 。

Amazon SageMaker Canvas 為您提供數個加密資料的選項。SageMaker Canvas 會在應用程式內為建立模型和產生深入解析等工作提供預設加密。您也可以選擇加密 Amazon S3 中存放的資料，以保護靜態資料。SageMaker Canvas 支援匯入加密的資料集，因此您可以建立加密的工作流程。下列各節說明如何使用 AWS KMS 加密來保護資料，同時使用 SageMaker Canvas 建置模型。

## 在 Canvas 中加密您的資料
<a name="canvas-kms-app-data"></a>

使用 SageMaker Canvas，您可以使用兩個不同的 AWS KMS 加密金鑰來加密 SageMaker Canvas 中的資料，您可以在使用標準[網域設定設定網域](https://docs.aws.amazon.com/sagemaker/latest/dg/gs-studio-onboard.html)時指定。這些金鑰是在下列網域設定步驟中指定：
+ **步驟 3：設定應用程式 - (選用)** - 設定 **Canvas 儲存組態**區段時，您可以指定**加密金鑰**。這是 SageMaker Canvas 用於長期儲存模型物件和資料集的 KMS 金鑰，這些物件和資料集存放在為您網域提供的 Amazon S3 儲存貯體中。如果使用 [CreateApp](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateApp.html) API 建立 Canvas 應用程式，請使用 `S3KMSKeyId` 欄位來指定此金鑰。
+ **步驟 6：設定儲存體** - SageMaker Canvas 使用一個金鑰來加密為 Canvas 應用程式建立的 Amazon SageMaker Studio 私有空間，其中包括臨時應用程式儲存體、視覺化和運算任務 (例如建置模型)。您可以使用預設 AWS 受管金鑰或指定自己的金鑰。如果您指定 AWS KMS 金鑰，儲存在 `/home/sagemaker-user`目錄中的資料會使用金鑰加密。如果您未指定 AWS KMS 金鑰，內部的資料`/home/sagemaker-user`會使用 AWS 受管金鑰加密。無論您是否指定 AWS KMS 金鑰，工作目錄以外的所有資料都會使用 AWS 受管金鑰加密。若要進一步了解 Studio 空間和 Canvas 應用程式儲存體，請參閱[將 SageMaker Canvas 應用程式資料存放在您自己的 SageMaker AI 空間](canvas-spaces-setup.md)。如果使用 [CreateApp](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateApp.html) API 建立 Canvas 應用程式，請使用 `KmsKeyID` 欄位來指定此金鑰。

上述金鑰可以是相同或不同的 KMS 金鑰。

### 先決條件
<a name="canvas-kms-app-data-prereqs"></a>

若要將自己的 KMS 金鑰用於上述任一目的，您必須先授予使用者的 IAM 角色許可才能使用金鑰。然後，您可以在設定網域時指定 KMS 金鑰。

授予角色使用金鑰的最簡單方法是修改金鑰政策。使用以下處理程序為您的角色授予必要的許可。

1. 開啟 [AWS KMS 主控台](https://console.aws.amazon.com/kms/)。

1. 在**金鑰政策**區段中，選擇**切換為政策檢視**。

1. 修改金鑰政策，授予 IAM 角色 `kms:GenerateDataKey` 和 `kms:Decrypt` 動作的許可。此外，如果您要修改加密 Studio 空間中 Canvas 應用程式儲存體的金鑰政策，請授予 `kms:CreateGrant` 動作。您可以新增類似以下的陳述式：

   ```
   {
     "Sid": "ExampleStmt",
     "Action": [
       "kms:CreateGrant", #this permission is only required for the key that encrypts your SageMaker Canvas application storage
       "kms:Decrypt",
       "kms:GenerateDataKey"
     ],
     "Effect": "Allow",
     "Principal": {
       "AWS": "<arn:aws:iam::111122223333:role/Jane>"
     },
     "Resource": "*"
   }
   ```

1. 選擇**儲存變更**。

較不偏好的方法是修改使用者的 IAM 角色，以授予使用者使用或管理 KMS 金鑰的許可。如果您使用此方法，KMS 金鑰政策也必須允許透過 IAM 進行存取管理。若要了解如何透過使用者的 IAM 角色授予 KMS 金鑰的許可，請參閱 *AWS KMS 開發人員指南*中的 [IAM 政策陳述式中指定 KMS 金鑰](https://docs.aws.amazon.com/kms/latest/developerguide/cmks-in-iam-policies.html)。

### 在 Canvas 應用程式中 SageMaker 密您的資料
<a name="canvas-kms-app-data-app"></a>

您可以在 SageMaker Canvas 中使用的第一個 KMS 金鑰用於加密存放在 Amazon Elastic Block Store (Amazon EBS) 磁碟區，以及 SageMaker AI 在您網域中建立的 Amazon Elastic File System 中存放的應用程式資料。SageMaker Canvas 在使用計算執行個體建立模型和產生深入解析時所建立的基礎應用程式和臨時儲存系統中，使用此金鑰加密您的資料。SageMaker Canvas 每當 SageMaker Canvas 啟動任務以處理您的資料時，就會將金鑰傳遞給 AWS 其他服務，例如 Autopilot。

您可以指定此金鑰，方法是在 `CreateDomain` API 呼叫中或是在主控台中執行標準網域設定時設定 `KmsKeyID`。如果您未指定自己的 KMS 金鑰，SageMaker AI 會使用預設的 AWS 受管 KMS 金鑰來加密 SageMaker Canvas 應用程式中的資料。

若要透過主控台指定您自己的 KMS 金鑰，以便在 SageMaker Canvas 應用程式中使用，請先使用**標準設定**設定您的 Amazon SageMaker AI 網域。請使用下列程序，完成網域的**網路和儲存區段**。

1. 填寫您想要的 Amazon VPC 設定。

1. 對於**加密金鑰**，請選擇**輸入 KMS 金鑰 ARN**。

1. 針對 **KMS ARN**，請輸入 KMS 金鑰的 ARN，其格式應類似下列：`arn:aws:kms:example-region-1:123456789098:key/111aa2bb-333c-4d44-5555-a111bb2c33dd`

### 加密儲存在 Amazon S3 中的 SageMaker Canvas 資料
<a name="canvas-kms-app-data-s3"></a>

您可以指定的第二個 KMS 金鑰會用於 SageMaker Canvas 存放到 Amazon S3 的資料。此 KMS 金鑰是在 `CreateDomain` API 呼叫的 `S3KMSKeyId` 欄位中指定，或在 SageMaker AI 主控台中執行標準網域設定時指定。SageMaker Canvas 會儲存重複的輸入資料集、應用程式和模型資料，並將資料輸出至您帳戶的區域預設 SageMaker S3 AI 儲存貯體。此儲存貯體的命名模式為 `s3://sagemaker-{Region}-{your-account-id}`，而 SageMaker Canvas 會將資料儲存在 `Canvas/` 資料夾中。





1. 開啟**啟用筆記本資源共用**。

1. 對於**可共用筆記本資源的 S3 位置**，請保留預設的 Amazon S3 路徑。請注意，SageMaker Canvas 不會使用此 Amazon S3 路徑；此 Amazon S3 路徑用於 Studio Classic 筆記本。

1. 對於**加密金鑰**，請選擇**輸入 KMS 金鑰 ARN**。

1. 針對 **KMS ARN**，請輸入 KMS 金鑰的 ARN，其格式應類似下列：`arn:aws:kms:us-east-1:111122223333:key/111aa2bb-333c-4d44-5555-a111bb2c33dd`

## 從 Amazon S3 匯入加密資料集
<a name="canvas-kms-datasets"></a>

您的使用者可能擁有已使用 KMS 金鑰加密的資料集。雖然上一節說明如何加密 SageMaker Canvas 中的資料和存放在 Amazon S3 的資料，但如果您想要從已加密的 Amazon S3 匯入資料，則必須授予使用者的 IAM 角色額外的許可 AWS KMS。

若要授予使用者從 Amazon S3 將加密資料集匯入 SageMaker Canvas 的許可，請將下列許可新增至您用於使用者設定檔的 IAM 執行角色。

```
      "kms:Decrypt",
      "kms:GenerateDataKey"
```

如需有關如何編輯管理許可的相關資訊，請參閱 *IAM 使用者指南*中的[新增和移除 IAM 身分許可](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html)。如需 KMS 金鑰的詳細資訊，請參閱 *AWS KMS 開發人員指南*中的 [AWS Key Management Service的金鑰政策](https://docs.aws.amazon.com//kms/latest/developerguide/key-policies.html)。

## FAQs
<a name="canvas-kms-faqs"></a>

如需有關 SageMaker Canvas AWS KMS 支援的常見問題解答，請參閱下列常見問題集項目。

### 問：SageMaker Canvas 會保留我的 KMS 金鑰？
<a name="canvas-kms-faqs-1"></a>

答：否。SageMaker Canvas 可能會暫時快取您的金鑰或將其傳遞給其他服務 AWS （例如 Autopilot)，但 SageMaker Canvas 不會保留您的 KMS 金鑰。

### 問：我在設定網域時指定了 KMS 金鑰。為什麼我的資料集無法在 SageMaker Canvas 中匯入？
<a name="canvas-kms-faqs-2"></a>

答：您的使用者的 IAM 角色可能沒有使用該 KMS 金鑰的許可。若要授予您的使用者許可，請參閱[先決條件](#canvas-kms-app-data-prereqs)。另一個可能的錯誤是 Amazon S3 儲存貯體上有儲存貯體政策，需要使用與您在網域中指定的 KMS 金鑰不符的特定 KMS 金鑰。請務必為 Amazon S3 儲存貯體和網域指定相同的 KMS 金鑰。

### 問：如何為我的帳戶尋找該區域的預設 SageMaker AI Amazon S3 儲存貯體？
<a name="canvas-kms-faqs-3"></a>

答：預設的 Amazon S3 儲存貯體遵循命名模式 `s3://sagemaker-{Region}-{your-account-id}`。此儲存貯體中的 `Canvas/` 資料夾會儲存您的 SageMaker Canvas 應用程式資料。

### 問：是否可以變更用於存放 SageMaker Canvas 資料的預設 SageMaker AI Amazon S3 儲存貯體？
<a name="canvas-kms-faqs-4"></a>

答：否，SageMaker AI 會為您建立此儲存貯體。

### 問：SageMaker Canvas 在預設的 SageMaker AI Amazon S3 儲存貯體中存放什麼？
<a name="canvas-kms-faqs-5"></a>

答：SageMaker Canvas 使用預設的 SageMaker AI Amazon S3 儲存貯體來存放輸入資料集、模型成品和模型輸出的重複項目。

### 問：搭配 SageMaker Canvas 使用 KMS 金鑰時，支援哪些使用案例？
<a name="canvas-kms-faqs-6"></a>

答：使用 SageMaker Canvas，您可以將自己的加密金鑰與 搭配使用 AWS KMS ，以建置迴歸、二進位和多類別分類、時間序列預測模型，以及使用模型進行批次推論。

# 將 SageMaker Canvas 應用程式資料存放在您自己的 SageMaker AI 空間
<a name="canvas-spaces-setup"></a>

您的 Amazon SageMaker Canvas 應用程式資料會存放在 *Amazon SageMaker Studio 私有空間*，例如您匯入的資料集和模型成品。空間包含應用程式資料的儲存磁碟區 (每個使用者設定檔具有 100 GB 的儲存體)、空間類型 (在此情況下為 Canvas 應用程式)，以及應用程式容器的映像。當您第一次設定 Canvas 並啟動應用程式時，SageMaker AI 會建立指派給使用者設定檔的預設私有空間，並存放您的 Canvas 資料。您不需要進行任何額外的組態來設定空間，因為 SageMaker AI 會自動代表您建立空間。不過，如果您不想要使用預設空間，您可以選擇指定自己建立的空間。如果您想要隔離資料，這會很有用。以下頁面說明如何建立和設定您自己的 Studio 空間來存放 Canvas 應用程式資料。

**注意**  
您只能為新的 Canvas 應用程式設定自訂 Studio 空間。您無法修改現有 Canvas 應用程式的空間組態。

## 開始之前
<a name="canvas-spaces-setup-prereqs"></a>

您的 Amazon SageMaker AI 網域或使用者設定檔必須至少有 100 GB 的儲存體，才能建立和使用 SageMaker Canvas 應用程式。

如果您透過 SageMaker AI 主控台建立了網域，預設會佈建足夠的儲存體，而且您不需要採取任何其他動作。如果您使用 [CreateDomain](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateDomain.html) 或 [ CreateUserProfile](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateUserProfile.html) API 建立了網域或使用者設定檔，請確定您將 `MaximumEbsVolumeSizeInGb` 值設定為 100 GB 或更高。若要設定更大的儲存值，您可以建立新的網域或使用者設定檔，也可以使用 [UpdateDomain](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateDomain.html) 或 [UpdateUserProfile](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateUserProfile.html) API 更新現有的網域或使用者設定檔。

## 建立新空間
<a name="canvas-spaces-setup-new-space"></a>

首先，建立一個設定為存放 Canvas 應用程式資料的新 Studio 空間。這是您在下一個步驟中建立新 Canvas 應用程式時指定的空間。

若要建立空間，您可以使用 適用於 Python (Boto3) 的 AWS SDK 或 AWS CLI。

------
#### [ SDK for Python (Boto3) ]

下列範例說明如何使用 適用於 Python (Boto3) 的 AWS SDK `create_space`方法建立可用於 Canvas 應用程式的空間。請務必指定這些參數：
+ `DomainId`：指定 SageMaker AI 網域的 ID。若要尋找您的 ID，您可以前往 SageMaker AI 主控台 (網址為 [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/))，並在**網域區段**中尋找您的網域。
+ `SpaceName`：指定新空間的名稱。
+ `EbsVolumeSizeinGb`：指定空間的儲存磁碟區大小 (以 GB 為單位)。下限值是 `5`，上限值是 `16384`。
+ `SharingType`：將此欄位指定為 `Private`。如需詳細資訊，請參閱[Amazon SageMaker Studio 空間](studio-updated-spaces.md)。
+ `OwnerUserProfileName`：指定使用者設定檔名稱。若要尋找與網域相關聯的使用者設定檔名稱，您可以前往 SageMaker AI 主控台 (網址為 [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/))，並在**網域區段**中尋找您的網域。在網域的設定中，您可以檢視使用者設定檔。
+ `AppType`：將此欄位指定為 `Canvas`。

```
response = client.create_space(
    DomainId='<your-domain-id>', 
    SpaceName='<your-new-space-name>',
    SpaceSettings={
        'AppType': 'Canvas',
        'SpaceStorageSettings': {
            'EbsStorageSettings': {
                'EbsVolumeSizeInGb': <storage-volume-size>
            }
        },
    },
    OwnershipSettings={
        'OwnerUserProfileName': '<your-user-profile>'
    },
    SpaceSharingSettings={
        'SharingType': 'Private'
    }  
)
```

------
#### [ AWS CLI ]

下列範例說明如何使用 AWS CLI `create-space`方法建立可用於 Canvas 應用程式的空間。請務必指定這些參數：
+ `domain-id`：指定網域的 ID。若要尋找您的 ID，您可以前往 SageMaker AI 主控台 (網址為 [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/))，並在**網域區段**中尋找您的網域。
+ `space-name`：指定新空間的名稱。
+ `EbsVolumeSizeinGb`：指定空間的儲存磁碟區大小 (以 GB 為單位)。下限值是 `5`，上限值是 `16384`。
+ `SharingType`：將此欄位指定為 `Private`。如需詳細資訊，請參閱[Amazon SageMaker Studio 空間](studio-updated-spaces.md)。
+ `OwnerUserProfileName`：指定使用者設定檔名稱。若要尋找與網域相關聯的使用者設定檔名稱，您可以前往 SageMaker AI 主控台 (網址為 [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/))，並在**網域區段**中尋找您的網域。在網域的設定中，您可以檢視使用者設定檔。
+ `AppType`：將此欄位指定為 `Canvas`。

```
  
create-space
--domain-id <your-domain-id>
--space-name <your-new-space-name>  
--space-settings '{
        "AppType": "Canvas", 
        "SpaceStorageSettings": {
            "EbsStorageSettings": {"EbsVolumeSizeInGb": <storage-volume-size>}
        },
     }'
--ownership-settings '{"OwnerUserProfileName": "<your-user-profile>"}'
--space-sharing-settings '{"SharingType": "Private"}'
```

------

您現在應該有一個空間。追蹤您空間的名稱以進行下一個步驟。

## 建立新的 Canvas 應用程式
<a name="canvas-spaces-setup-new-app"></a>

建立空間後，請建立新的 Canvas 應用程式，將空間指定為其儲存位置。

若要建立新的 Canvas 應用程式，您可以使用 適用於 Python (Boto3) 的 AWS SDK 或 AWS CLI。

**重要**  
您必須使用 適用於 Python (Boto3) 的 AWS SDK 或 AWS CLI 來建立 Canvas 應用程式。不支援在透過 SageMaker AI 主控台建立 Canvas 應用程式時指定自訂空間。

------
#### [ SDK for Python (Boto3) ]

下列範例說明如何使用 適用於 Python (Boto3) 的 AWS SDK `create_app`方法建立新的 Canvas 應用程式。請務必指定這些參數：
+ `DomainId`：指定 SageMaker AI 網域的 ID。
+ `SpaceName`：指定您在上一個步驟建立的空間名稱。
+ `AppType`：將此欄位指定為 `Canvas`。
+ `AppName`：指定 `default` 做為應用程式名稱。

```
response = client.create_app(  
    DomainId='<your-domain-id>',
    SpaceName='<your-space-name>',
    AppType='Canvas', 
    AppName='default'  
)
```

------
#### [ AWS CLI ]

下列範例說明如何使用 AWS CLI `create-app`方法建立新的 Canvas 應用程式。請務必指定這些參數：
+ `DomainId`：指定 SageMaker AI 網域的 ID。
+ `SpaceName`：指定您在上一個步驟建立的空間名稱。
+ `AppType`：將此欄位指定為 `Canvas`。
+ `AppName`：指定 `default` 做為應用程式名稱。

```
create-app
--domain-id <your-domain-id>
--space-name <your-space-name>
--app-type Canvas
--app-name default
```

------

您現在應該具有新的 Canvas 應用程式，其會使用自訂 Studio 空間做為應用程式資料的儲存位置。

**重要**  
每當您刪除 Canvas 應用程式 (或登出) 且必須重新建立應用程式時，您必須在 `SpaceName` 欄位中提供您的空間，以確保 Canvas 使用您的空間。

空間會連接到您在空間組態中指定的使用者設定檔。您可以刪除 Canvas 應用程式而不刪除空間，而且存放在空間中的資料仍會保留。只有在您刪除使用者設定檔或直接刪除空間時，才會刪除存放在您空間中的資料。

# 授予您的使用者建立自訂影像和文字預測模型的許可
<a name="canvas-set-up-cv-nlp"></a>

**重要**  
允許 Amazon SageMaker Studio 或 Amazon SageMaker Studio Classic 建立 Amazon SageMaker 資源的自訂 IAM 政策也必須授與許可，才能將標籤新增至這些資源。需要將標籤新增至資源的許可，因為 Studio 和 Studio Classic 會自動標記它們建立的任何資源。如果 IAM 政策允許 Studio 和 Studio Classic 建立資源，但不允許標記，則在嘗試建立資源時可能會發生 "AccessDenied" 錯誤。如需詳細資訊，請參閱[提供標記 SageMaker AI 資源的許可](security_iam_id-based-policy-examples.md#grant-tagging-permissions)。  
提供許可來建立 SageMaker 資源的 [AWS Amazon SageMaker AI 的 受管政策](security-iam-awsmanpol.md) 已包含建立這些資源時新增標籤的許可。

在 Amazon SageMaker Canvas 中，您可以建立[自訂模型](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-build-model.html)以滿足您的特定業務需求。這些自訂模型類型中的兩個是單標籤圖像預測和多類別文字預測。建立這些模型類型的許可包含在稱為 [AmazonSageMakerCanvasFullAccess](https://docs.aws.amazon.com/sagemaker/latest/dg/security-iam-awsmanpol-canvas.html#security-iam-awsmanpol-AmazonSageMakerCanvasFullAccess) 的 AWS Identity and Access Management (IAM) 政策中，如果您保持[開啟 Canvas 基本許可](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-getting-started.html#canvas-prerequisites)，SageMaker AI 預設會連接至使用者的 IAM 執行角色。如果您使用自訂 IAM 組態，則必須明確地將許可新增至使用者的 IAM 執行角色，以便他們能夠建立自訂映像和文字預測模型類型。若要授予建立影像和文字預測模型的必要許可，請閱讀以下章節，瞭解如何將最低許可政策連接至您的角色。

若要將許可新增至使用者的 IAM 角色，請執行下列動作：

1. 前往 [IAM 主控台](https://console.aws.amazon.com/iamv2)。

1. 選擇**角色**。

1. 在搜尋方塊中，依據名稱搜尋使用者的 IAM 角色並加以選取。

1. 在使用者角色頁面的**許可**下，選擇**新增許可**。

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

1. 選取 JSON 索引標籤，然後將下列最低許可政策貼到編輯器。

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

****  

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

------

1. 選擇**檢閱政策**。

1. 輸入政策的**名稱**。

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

如需 AWS 受管政策的詳細資訊，請參閱《*IAM 使用者指南*》中的[受管政策和內嵌政策](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html)。

# 授予使用者在 Canvas 中使用 Amazon Bedrock 和生成式 AI 功能的許可
<a name="canvas-fine-tuning-permissions"></a>

Amazon SageMaker Canvas 中的生成式 AI 功能採用 Amazon Bedrock 基礎模型技術，這些模型是大型語言模型 (LLM)，能夠了解和產生類似人類的文字。此頁面描述如何授予 SageMaker Canvas 中下列功能所需的許可：
+ [與 Amazon Bedrock 模型聊天並進行比較](canvas-fm-chat.md)：透過 SageMaker Canvas 存取 Amazon Bedrock 模型並開始與其對話聊天。
+ [使用 Data Wrangler 中的聊天功能進行資料準備](canvas-chat-for-data-prep.md)：使用自然語言來探索、視覺化和轉換您的資料。此功能採用 Anthropic Claude 2 技術。
+ [微調 Amazon Bedrock 基礎模型](canvas-fm-chat-fine-tune.md)：根據您自己的資料微調 Amazon Bedrock 基礎模型，以接收自訂回應。

若要使用這些功能，您必須先請求存取您想要使用的特定 Amazon Bedrock 模型。然後，將必要的 AWS IAM 許可和與 Amazon Bedrock 的信任關係新增至使用者的執行角色。若要將許可授予角色，您可以選擇下列其中一種方法：
+ 建立新的 Amazon SageMaker AI 網域或使用者設定檔，並開啟 Amazon Bedrock 許可。如需詳細資訊，請參閱[Amazon Sagemaker Canvas 使用入門](canvas-getting-started.md)。
+ 編輯現有 Amazon SageMaker AI 網域或使用者設定檔的設定。
+ 手動將許可和信任關係新增至網域或使用者的 IAM 角色。

## 步驟 1：新增 Amazon Bedrock 模型存取
<a name="canvas-bedrock-access"></a>

預設不會授予 Amazon Bedrock 模型的存取權，因此您必須前往 Amazon Bedrock 主控台，請求存取您 AWS 帳戶的模型。

若要了解如何請求存取特定 Amazon Bedrock 模型，請在《Amazon Bedrock 使用者指南》**中的頁面[管理對 Amazon Bedrock 基礎模型的存取](https://docs.aws.amazon.com/bedrock/latest/userguide/model-access.html)上遵循程序來**新增模型存取**。

## 步驟 2：將許可授予使用者的 IAM 角色
<a name="canvas-bedrock-iam-permissions"></a>

設定 Amazon SageMaker AI 網域或使用者設定檔時，使用者的 IAM 執行角色必須連接 [AmazonSageMakerCanvasBedrockAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonSageMakerCanvasBedrockAccess.html) 政策，以及與 Amazon Bedrock 具有信任關係，以便您的使用者可以從 SageMaker Canvas 存取 Amazon Bedrock 模型。

您可以修改網域設定，並建立新的執行角色 (SageMaker AI 會為您將所需的許可連接至其中) 或指定現有的角色。

或者，您可以透過 IAM 主控台手動修改現有 IAM 角色的許可。

兩種方法如下節所述。

### 透過網域設定授予許可
<a name="canvas-fine-tuning-permissions-console"></a>

您可以編輯網域或使用者設定檔設定，以開啟 **Canvas 即用型模型組態**設定，並指定 Amazon Bedrock 角色。

若要編輯網域設定並授予網域中 Canvas 使用者存取 Amazon Bedrock 模型的權限，請執行下列動作：

1. 前往位在 [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/) 的 SageMaker AI 主控台。

1. 在左側導覽窗格中選擇 **Domains** (網域)。

1. 從網域清單中選擇您的網域。

1. 選擇**應用程式組態**索引標籤。

1. 在 **Canvas** 區段中，選擇**編輯**。

1. **編輯 Canvas 設定**頁面隨即開啟。(選用) 針對 **Canvas 即用型模型組態**區段，請執行下列動作：

   1. 開啟**啟用 Canvas 即用型模型選項**。

   1. 針對 **Amazon Bedrock 角色**，選取**建立並使用新的執行角色**來建立新的 IAM 執行角色，該角色已連接 [AmazonSageMakerCanvasBedrockAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonSageMakerCanvasBedrockAccess.html) 政策，並與 Amazon Bedrock 具有信任關係。當您存取 Amazon Bedrock 模型、使用聊天進行資料準備功能，或在 Canvas 中微調 Amazon Bedrock 模型時，Amazon Bedrock 會擔任此 IAM 角色。如果您已有具有信任關係的執行角色，請選取**使用現有的執行角色**，然後從下拉式清單中選擇您的角色。

1. 選擇**提交**來儲存您的變更。

您的使用者現在應具備存取 Amazon Bedrock 模型、使用聊天進行資料準備功能，以及在 Canvas 中微調 Amazon Bedrock 模型所需的許可。

您可以使用上述相同程序來編輯個別使用者的設定，但要從網域頁面進入個別使用者的設定檔，並改為編輯使用者設定。授予個別使用者的許可不適用於網域中的其他使用者，而透過網域設定授予的許可則適用於網域中的所有使用者設定檔。

如需如何編輯網域設定的指示，請參閱[檢視和編輯網域](https://docs.aws.amazon.com/sagemaker/latest/dg/domain-view-edit.html)。

### 透過 IAM 手動授予許可
<a name="canvas-fine-tuning-permissions-manual"></a>

您可以手動授予使用者存取和微調 Canvas 中 Amazon Bedrock 模型的許可，方法是將許可新增至為網域或使用者設定檔指定的 IAM 角色。IAM 角色必須連接 [AmazonSageMakerCanvasBedrockAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonSageMakerCanvasBedrockAccess.html) 政策，並與 Amazon Bedrock 具有信任關係。

下節說明如何將政策連接至您的 IAM 角色，並與 Amazon Bedrock 建立信任關係。

首先，記下您網域或使用者設定檔的 IAM 角色。請注意，授予個別使用者的許可不適用於網域中的其他使用者，而透過網域授予的許可則適用於網域中的所有使用者設定檔。

若要設定 IAM 角色並授予在 Canvas 中微調基礎模型的許可，請執行下列動作：

1. 移至 IAM 主控台 [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)。

1. 在左側導覽窗格中，選擇 **Roles** (角色)。

1. 從角色清單中依名稱搜尋使用者的 IAM 角色，然後加以選取。

1. 在 **Permissions (許可)** 標籤上，選擇 **Add permissions (新增許可)**。在下拉式清單中，選擇**連接政策**。

1. 搜尋 `AmazonSageMakerCanvasBedrockAccess` 策略並將其選取。

1. 選擇**新增許可**。

1. 回到 IAM 角色的頁面，選擇**信任關係**索引標籤。

1. 選擇**編輯信任政策**。

1. 在政策編輯器中，尋找右側面板中的**新增主體選項**，然後選擇**新增**。

1. 在對話方塊中，針對**主體類型**，選取**AWS 服務**。

1. 針對 **ARN**，輸入 **bedrock.amazonaws.com**。

1. 選擇**新增主體**。

1. 選擇**更新政策**。

您現在應有一個 IAM 角色，連接 [AmazonSageMakerCanvasBedrockAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonSageMakerCanvasBedrockAccess.html) 政策並與 Amazon Bedrock 具有信任關係。如需有關 AWS 受管政策的資訊，請參閱《*IAM 使用者指南*》中的 [受管政策和內嵌政策](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html)。

# 為您的使用者更新 SageMaker Canvas
<a name="canvas-update"></a>

您可以使用者或 IT 管理員身分更新至最新版本的 Amazon SageMaker Canvas。您可以一次為單一使用者更新 Amazon SageMaker Canvas。

若要更新 Amazon SageMaker Canvas 應用程式，您必須刪除先前的版本。

**重要**  
刪除舊版 Amazon SageMaker Canvas 並不會刪除使用者已建立的資料或模型。

使用下列程序登入 AWS、開啟 Amazon SageMaker AI 網域，以及更新 Amazon SageMaker Canvas。使用者可以在重新登入時開始使用 SageMaker Canvas 應用程式。

1. 在 [Amazon SageMaker 執行時期](https://console.aws.amazon.com/sagemaker/)登入 Amazon SageMaker AI 主控台。

1. 在左側導覽窗格中，選擇**管理員組態**。

1. 在**管理員組態**下，選擇**網域**。

1. 在**網域**頁面上，選擇您的網域。

1. 從**使用者設定檔**清單中，選擇使用者設定檔。

1. 對於**應用程式**清單，找到 Canvas 應用程式 (**應用程式類型**顯示 **Canvas**)，然後選擇**刪除應用程式**。

1. 完成對話方塊，然後選擇**確認動作**。

下列影像顯示使用者設定檔頁面，並反白顯示上述程序中的**刪除應用程式**動作。

![\[使用者設定檔頁面的螢幕擷取畫面，標示刪除應用程式動作。\]](http://docs.aws.amazon.com/zh_tw/sagemaker/latest/dg/images/studio/canvas/canvas-update-app-1.png)


# 請求提高配額
<a name="canvas-requesting-quota-increases"></a>

您的使用者可能會使用超過配額所指定數量 AWS 的資源。如果您的使用者受到資源限制，並在 SageMaker Canvas 中遇到錯誤，您可以為他們請求增加配額。

如需 SageMaker AI 配額以及如何請求增加配額的詳細資訊，請參閱[配額](https://docs.aws.amazon.com/sagemaker/latest/dg/regions-quotas.html#regions-quotas-quotas)。

Amazon SageMaker Canvas 使用下列服務來處理使用者的請求：
+ Amazon SageMaker Autopilot
+ Amazon SageMaker Studio Classic 網域

如需 SageMaker Canvas 操作的可用配額清單，請參閱 [Amazon SageMaker AI 端點和配額](https://docs.aws.amazon.com//general/latest/gr/sagemaker.html)。

## 要求增加執行個體以建立自訂模型
<a name="canvas-requesting-quota-increases-instances"></a>

建立自訂模型時，如果您在建置後分析期間遇到錯誤，告訴您增加 `ml.m5.2xlarge` 執行個體配額，請使用下列資訊來解決問題。

您必須將`ml.m5.2xlarge`執行個體類型的 SageMaker AI 託管端點配額提高為 AWS 帳戶中的非零值。建立模型後，SageMaker Canvas 會在 SageMaker AI 託管端點上託管模型，並使用端點來產生建置後分析。如果您沒有將 `ml.m5.2xlarge` 執行個體的預設帳戶配額增加為 0，SageMaker Canvas 將無法完成此步驟，並在建置後分析期間產生錯誤。

如需增加配額的程序，請參閱《Service Quotas 使用者指南》**中的[請求增加配額](https://docs.aws.amazon.com/servicequotas/latest/userguide/request-quota-increase.html)。

# 授予使用者匯入 Amazon Redshift 資料的許可
<a name="canvas-redshift-permissions"></a>

您的使用者可能已將資料集儲存在 Amazon Redshift 中。在使用者可以將資料從 Amazon Redshift 匯入 SageMaker Canvas 之前，您必須先將 `AmazonRedshiftFullAccess` 受管政策新增至您用於使用者設定檔的 IAM 執行角色，並將 Amazon Redshift 做為服務主體新增至角色的信任政策。您也必須將 IAM 執行角色與 Amazon Redshift 叢集建立關聯。完成以下各節中的程序，為您的使用者提供匯入 Amazon Redshift 資料所需的許可。

## 將 Amazon Redshift 許可新增至 IAM 角色
<a name="canvas-redshift-permissions-iam-role"></a>

您必須將 Amazon Redshift 許可授予使用者設定檔中指定的 IAM 角色。

若要將 `AmazonRedshiftFullAccess` 政策新增至使用者的 IAM 角色，請執行以下動作。

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

1. 選擇**角色**。

1. 在搜尋方塊中，依據名稱搜尋使用者的 IAM 角色並加以選取。

1. 在使用者角色頁面的**許可**下，選擇**新增許可**。

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

1. 搜尋`AmazonRedshiftFullAccess`受管的策略並選取。

1. 選擇**連接政策**以將政策連接到角色。

連接政策之後，角色的**許可**區段現在應包含 `AmazonRedshiftFullAccess`。

若要將 Amazon Redshift 做為服務主體新增至 IAM 角色，請執行下列動作。

1. 在 IAM 角色的同一頁面上，選擇**信任關係**下的**編輯信任政策**。

1. 在**編輯信任政策**編輯器中，更新信任政策以將 Amazon Redshift 新增為服務主體。允許 Amazon Redshift 代表您存取其他 AWS 服務的 IAM 角色具有下列的信任關係：

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

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
       {
         "Effect": "Allow",
         "Principal": {
           "Service": "redshift.amazonaws.com"
         },
         "Action": "sts:AssumeRole"
       }
     ]
   }
   ```

------

1. 編輯信任政策之後，請選擇**更新政策**。

您現在應該擁有已連接政策 `AmazonRedshiftFullAccess` 的 IAM 角色，以及與 Amazon Redshift 建立的信任關係，讓使用者能夠將 Amazon Redshift 資料匯入 SageMaker Canvas。如需 AWS 受管政策的詳細資訊，請參閱《*IAM 使用者指南*》中的[受管政策和內嵌政策](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html)。

## 將 IAM 角色與叢集產生關聯
<a name="canvas-redshift-permissions-cluster"></a>

在 Amazon Redshift 叢集的設定中，您必須在上一節中將授予許可的 IAM 角色建立關聯。

將 IAM 角色與叢集產生關聯。

1. 登入 Amazon Redshift 主控台，網址為 https：//[https://console.aws.amazon.com/redshiftv2/](https://console.aws.amazon.com/redshiftv2/)。

1. 在導覽功能表上，選擇**叢集**，然後選擇您要更新的叢集名稱。

1. 在**動作**下拉式功能表中，選擇**管理 IAM 角色**。便會顯示**叢集許可**頁面。

1. 對於**可用的 IAM 角色**，請輸入 ARN 或 IAM 角色的名稱，或從清單中選擇 IAM 角色。

1. 選擇**關聯 IAM 角色**，將其新增至**已關聯 IAM 角色**清單。

1. 選擇**儲存變更** 來將 IAM 角色與叢集建立關聯。

Amazon Redshift 會修改叢集以完成變更，而您先前授予 Amazon Redshift 許可的 IAM 角色現在已與您的 Amazon Redshift 叢集建立關聯。您的使用者現在擁有將 Amazon Redshift 資料匯入 SageMaker Canvas 的必要許可。

# 授予您的使用者將預測傳送至快速的許可
<a name="canvas-quicksight-permissions"></a>

您必須授予 SageMaker Canvas 使用者許可，才能將批次預測傳送至 Quick。在快速中，使用者可以使用資料集建立分析和報告，並準備儀表板來共用其結果。如需有關將預測傳送至 QuickSight 進行分析的詳細資訊，請參閱[將預測傳送至 Quick](canvas-send-predictions.md)。

若要授予與 QuickSight 中的使用者共用批次預測的必要許可，您必須將許可政策新增至您用於使用者設定檔的 AWS Identity and Access Management (IAM) 執行角色。以下部分說明如何將最少許可政策連接至您的角色。

**將許可政策新增至您的 IAM 角色**

**若要新增許可政策，請遵循下列程序：**

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

1. 選擇**角色**。

1. 在搜尋方塊中，依據名稱搜尋使用者的 IAM 角色並加以選取。

1. 在使用者角色頁面的**許可**下，選擇**新增許可**。

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

1. 選取 JSON 索引標籤，然後將下列最低許可政策貼到編輯器。以您自己的 AWS 帳號取代預留位置 `<your-account-number>`。

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": [
                   "quicksight:CreateDataSet",
                   "quicksight:ListUsers",
                   "quicksight:ListNamespaces",
                   "quicksight:CreateDataSource",
                   "quicksight:PassDataSet",
                   "quicksight:PassDataSource"
               ],
               "Resource": [
                   "arn:aws:quicksight:*:111122223333:datasource/*",
                   "arn:aws:quicksight:*:111122223333:user/*",
                   "arn:aws:quicksight:*:111122223333:namespace/*",
                   "arn:aws:quicksight:*:111122223333:dataset/*"
               ]
           }
       ]
   }
   ```

------

1. 選擇**檢閱政策**。

1. 輸入政策的**名稱**。

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

您現在應該在執行角色上連接一個客戶管理的 IAM 政策，以授予 Canvas 使用者必要的許可，以便將批次預測傳送給 QuickSight 中的使用者。

# 應用程式管理
<a name="canvas-manage-apps"></a>

下列各節描述如何管理 SageMaker Canvas 應用程式。您可以從 SageMaker AI 主控台的**網域**區段檢視、刪除或重新啟動應用程式。

**Topics**
+ [檢查是否有作用中的應用程式](canvas-manage-apps-active.md)
+ [刪除應用程式](canvas-manage-apps-delete.md)
+ [重新啟動應用程式](canvas-manage-apps-relaunch.md)

# 檢查是否有作用中的應用程式
<a name="canvas-manage-apps-active"></a>

若要檢查您是否有任何主動執行中的 SageMaker Canvas 應用程式，請使用下列程序。

1. 開啟 [SageMaker AI 主控台](https://console.aws.amazon.com/sagemaker/)。

1. 在左側導覽窗格中，選擇**儀表板**。

1. 在 **LCNC** 區段中，Canvas 有一個資料列，告訴您有多少作用中的應用程式正在執行。選擇數字以檢視應用程式清單。

**狀態**欄會顯示應用程式的狀態，例如**就緒**、**擱置中**或**已刪除**。如果應用程式為**就緒**，則您的 SageMaker Canvas 工作區執行個體處於作用中狀態。您可以從主控台刪除應用程式，也可以重新開啟 Canvas 並登出。

# 刪除應用程式
<a name="canvas-manage-apps-delete"></a>

如果您想要終止 SageMaker Canvas 工作區執行個體，您可以從 SageMaker Canvas 應用程式登出，或從 SageMaker AI 主控台刪除您的應用程式。從您開始使用 SageMaker Canvas 到停止使用時，*工作區執行個體*專供您使用。刪除應用程式只會終止工作區執行個體，並停止工作區執行個體費用。模型和資料集不受影響，但是當您再次啟動應用程式時，快速建置任務會自動重新啟動。

若要透過 AWS 主控台刪除 Canvas 應用程式，請先關閉開啟 Canvas 應用程式的瀏覽器索引標籤。然後，使用下列程序來刪除 SageMaker Canvas 應用程式。

1. 開啟 [SageMaker AI 主控台](https://console.aws.amazon.com/sagemaker/)。

1. 在左側導覽窗格中，選擇**管理員組態**。

1. 在**管理員組態**下，選擇**網域**。

1. 在**網域**頁面上，選擇您的網域。

1. 在**網域詳細資訊**頁面上，選擇**資源**。

1. 在**應用程式**下，尋找應用程式類型欄中顯示 **Canvas** 的應用程式。 ****

1. 選取 Canvas 應用程式旁的核取方塊，然後選擇**停止**。

您現在已成功停止應用程式並終止工作區執行個體。

您也可以從 SageMaker Canvas 應用程式中[登出](canvas-log-out.md)，以終止工作區執行個體。

# 重新啟動應用程式
<a name="canvas-manage-apps-relaunch"></a>

如果您刪除或登出 SageMaker Canvas 應用程式，並想要重新啟動應用程式，請使用下列程序。

1. 導覽至 [SageMaker AI 主控台](https://console.aws.amazon.com/sagemaker/)。

1. 在導覽窗格中，選擇 **Canvas**。

1. 在 SageMaker Canvas 登陸頁面的**開始**使用方塊中，從下拉式清單中選取您的使用者設定檔。

1. 選擇**開啟 Canvas **以開啟應用程式。

Canvas SageMaker 開始啟動應用程式。

如果您在先前程序中遇到任何問題，也可以使用下列次要程序。

1. 開啟 [SageMaker AI 主控台](https://console.aws.amazon.com/sagemaker/)。

1. 在左側導覽窗格中，選擇**管理員組態**。

1. 在**管理員組態**下，選擇**網域**。

1. 在**網域**頁面上，選擇您的網域。

1. 在**網域詳細資料**頁面的**使用者設定檔**下，選取您要檢視的 SageMaker Canvas 應用程式的使用者設定檔名稱。

1. 選擇**啟動**，然後從下拉清單中選擇** Canvas**。

Canvas SageMaker 開始啟動應用程式。

# 在沒有網際網路存取權的 VPC 中設定 Amazon SageMaker Canvas
<a name="canvas-vpc"></a>

Amazon SageMaker Canvas 應用程式會在 AWS 受管 Amazon Virtual Private Cloud (VPC) 的容器中執行。如果您想要進一步控制對資源的存取，或在沒有公用網際網路存取的情況下執行 SageMaker Canvas，您可以設定 Amazon SageMaker AI 網域和 VPC 設定。在您自己的 VPC 中，您可以設定安全群組 (控制 Amazon EC2 執行個體傳入和傳出流量的虛擬防火牆) 和子網路 (VPC 中的 IP 地址範圍) 等設定。若要進一步了解虛擬私人雲端，請參閱 [Amazon VPC 的運作方式](https://docs.aws.amazon.com/vpc/latest/userguide/how-it-works.html)。

當 SageMaker Canvas 應用程式在 AWS 受管 VPC 中執行時，可以使用網際網路連線或透過客戶受管 VPC 中建立的 VPC 端點 （無需公有網際網路存取） 與其他 AWS 服務互動。SageMaker Canvas 應用程式可透過 Studio Classic 建立的網路介面存取這些 VPC 端點，該介面提供連線至客戶受管 VPC 的能力。SageMaker Canvas 應用程式的預設行為是具有網際網路存取許可。使用網際網路連線時，先前任務的容器會透過網際網路存取 AWS 資源，例如存放訓練資料和模型成品的 Amazon S3 儲存貯體。

但是，如果您有控制資料和工作容器存取的安全性需求，建議您設定 SageMaker Canvas 和 VPC，以便無法透過網際網路存取資料和容器。SageMaker AI 會使用您在為 SageMaker Canvas 設定網域時指定的 VPC 組態設定。

如果您想要在沒有網際網路存取的情況下設定 SageMaker Canvas 應用程式，則必須在登入 [Amazon SageMaker AI 網域](gs-studio-onboard.md)時設定 VPC 設定、設定 VPC 端點並授予必要的 AWS Identity and Access Management 許可。如需在 Amazon SageMaker AI 中設定 VPC 的相關資訊，請參閱[選擇一個 Amazon VPC](onboard-vpc.md)。以下部分描述了如何在沒有公共網際網路存取權的情況下，在 VPC 中執行 SageMaker Canvas。

## 在沒有網際網路存取權的 VPC 中設定 Amazon SageMaker Canvas
<a name="canvas-vpc-configure"></a>

您可以透過自己的 VPC AWS ，將流量從 SageMaker Canvas 傳送至其他服務。如果您自己的 VPC 無法存取公用網際網路，而且您已在**僅限 VPC** 模式下設定網域，則 SageMaker Canvas 也將無法存取公用網際網路。這包括所有請求，例如存取 Amazon S3 中的資料集或標準組建的訓練任務，而且請求會透過 VPC 中的 VPC 端點進行，而非公用網際網路。當您加入網域和 [選擇一個 Amazon VPC](onboard-vpc.md) 時，您可以將自己的 VPC 指定為網域的預設 VPC，以及指定所需的安全群組和子網路設定。然後，SageMaker AI 會在您的 VPC 中建立網路介面，讓 SageMaker Canvas 用來存取 VPC 中的 VPC 端點。

請務必使用允許[安全群組內 TCP 流量](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/security-group-rules-reference.html#sg-rules-other-instances)的傳入和傳出規則，在 VPC 中設定一或多個安全群組。對於 Jupyter Server 應用程式和 Kernel Gateway 應用程式之間的連接為必要。您必須至少允許存取範圍 `8192-65535` 內的連接埠。另外，請務必為每個使用者設定檔建立不同的安全群組，並從同一個安全群組新增輸入存取。我們不建議針對使用者設定檔重複使用網域層級安全群組。如果網域層級安全群組允許對本身進行輸入存取，則網域中的所有應用程式都可以存取網域中的所有其他應用程式。請注意，安全群組和子網路設定是在您完成加入網域之後設定的。

加入網域時，如果您選擇**僅限公用網際網路**做為網路存取類型，則 VPC 會受 SageMaker AI 管理，並允許網際網路存取。

您可以透過選擇**僅限 VPC** 來變更此行為，以便 SageMaker AI 將所有流量傳送至 SageMaker AI 在您指定的 VPC 中建立的網路介面。選擇此選項時，您必須提供與 SageMaker API 和 SageMaker AI 執行時期通訊所需的子網路、安全群組和 VPC 端點，以及 SageMaker Canvas 使用的各種 AWS 服務 (例如 Amazon S3 和 Amazon CloudWatch)。請注意，您只能從與您的 VPC 位於同一區域的 Amazon S3 儲存貯體匯入資料。

下列程序顯示如何設定這些設定以在沒有網際網路的情況下使用 SageMaker Canvas。

### 步驟 1：加入 Amazon SageMaker AI 網域
<a name="canvas-vpc-configure-onboard"></a>

若要將 SageMaker Canvas 流量傳送到您自己 VPC 中的網路介面，而不是透過網際網路，請指定您要在加入 [Amazon SageMaker AI 網域](gs-studio-onboard.md)時使用的 VPC。您還必須在 VPC 中至少指定兩個 SageMaker AI 可以使用的子網路。選擇**標準設定**，並在設定網域的**網路和儲存區段**時執行下列程序。

1. 選擇您想要的 **VPC**。

1. 選擇兩個或多個**子網路**。如果您未指定子網路，SageMaker AI 會使用 VPC 中的所有子網路。

1. 選擇一或多個**安全群組**。

1. 選擇**僅限 VPC**，在託管 SageMaker Canvas 的 AWS 受管 VPC 中關閉直接網際網路存取。

停用網際網路存取後，請完成加入程序以設定您的網域。如需 Amazon SageMaker AI 網域 VPC 設定的詳細資訊，請參閱[選擇一個 Amazon VPC](onboard-vpc.md)。

### 步驟 2：設定 VPC 端點和存取
<a name="canvas-vpc-configure-endpoints"></a>

**注意**  
若要在您自己的 VPC 中設定 Canvas，您必須為虛擬私人 VPC 端點啟用私人 DNS 主機名稱。如需詳細資訊，請參閱[透過 VPC 介面端點連線至 SageMaker AI](https://docs.aws.amazon.com/sagemaker/latest/dg/interface-vpc-endpoint.html)。

SageMaker Canvas 只會存取其他服務 AWS 來管理和存放其功能的資料。例如，如果您的使用者存取 Amazon Redshift 資料庫，它就會連線到 Amazon Redshift。它可以使用網際網路連線或 VPC 端點連線到 Amazon Redshift 等 AWS 服務。如果您想要設定從 VPC 到不使用公有網際網路之 AWS 服務的連線，請使用 VPC 端點。

VPC 端點會建立 AWS 服務的私有連線，該服務使用與公有網際網路隔離的聯網路徑。例如，如果您使用自己的 VPC 端點設定對 Amazon S3 的存取權，則 SageMaker Canvas 應用程式可以透過 VPC 擬私人雲端中的網路介面，然後透過連線到 Amazon S3 的 VPC 端點存取 Amazon S3。SageMaker Canvas 和 Amazon S3 之間的通訊是私有的。

如需設定您的 VPC 端點的更多相關資訊，請參閱 [AWS PrivateLink](https://docs.aws.amazon.com/vpc/latest/privatelink/what-is-privatelink.html)。如果您在 Canvas 中搭配 VPC 使用 Amazon Bedrock 模型，有關控制資料存取的更多相關資訊，請參閱 *Amazon Bedrock 使用者指南*中的[使用 VPC 保護工作](https://docs.aws.amazon.com/bedrock/latest/userguide/usingVPC.html#configureVPC)。

以下是您可以與 SageMaker Canvas 搭配使用的每個服務的 VPC 端點：


| 服務 | Endpoint | 端點類型 | 
| --- | --- | --- | 
|  AWS Application Auto Scaling  |  com.amazonaws.*Region*.application-autoscaling  | 介面 | 
|  Amazon Athena  |  com.amazonaws.*Region*.athena  | 介面 | 
|  Amazon SageMaker AI  |  com.amazonaws.*Region*.sagemaker.api com.amazonaws.*Region*.sagemaker.runtime com.amazonaws.*Region*.notebook  | 介面 | 
|  Amazon SageMaker AI 資料科學助理  |  com.amazonaws.*Region*.sagemaker-data-science-assistant  | 介面 | 
|  AWS Security Token Service  |  com.amazonaws.*Region*.sts  | 介面 | 
|  Amazon Elastic Container Registry (Amazon ECR)  |  com.amazonaws.*Region*.ecr.api com.amazonaws.*Region*.ecr.dkr  | 介面 | 
|  Amazon Elastic Compute Cloud (Amazon EC2)  |  com.amazonaws.*Region*.ec2  | 介面 | 
|  Amazon Simple Storage Service (Amazon S3)  |  com.amazonaws.*Region*.s3  | 閘道 | 
|  Amazon Redshift  |  com.amazonaws.*Region*.redshift-data  | 介面 | 
|  AWS Secrets Manager  |  com.amazonaws.*Region*.secretsmanager  | 介面 | 
|  AWS Systems Manager  |  com.amazonaws.*Region*.ssm  | 介面 | 
|  Amazon CloudWatch  |  com.amazonaws.*Region*.monitoring  | 介面 | 
|  Amazon CloudWatch Logs  |  com.amazonaws.*Region*.logs  | 介面 | 
|  Amazon Forecast  |  com.amazonaws.*Region*.forecast com.amazonaws.*Region*.forecastquery  | 介面 | 
|  Amazon Textract  |  com.amazonaws.*Region*.textract  | 介面 | 
|  Amazon Comprehend  |  com.amazonaws.*Region*.comprehend  | 介面 | 
|  Amazon Rekognition  |  com.amazonaws.*Region*.rekognition  | 介面 | 
|  AWS Glue  |  com.amazonaws.*Region*.glue  | 介面 | 
|  AWS Application Auto Scaling  |  com.amazonaws.*Region*.application-autoscaling  | 介面 | 
|  Amazon Relational Database Service (Amazon RDS)  |  com.amazonaws.*Region*.rds  | 介面 | 
|  Amazon Bedrock (請參閱資料表後面的備註)  |  com.amazonaws.*Region*.bedrock-runtime  | 介面 | 
|  Amazon Kendra  |  com.amazonaws.*Region*.kendra  | 介面 | 
|  Amazon EMR Serverless  |  com.amazonaws.*Region*.emr-serverless  | 介面 | 
|  Amazon Q Developer (請參閱資料表後面的備註)  |  com.amazonaws.*Region*.q  | 介面 | 

**注意**  
Amazon Q Developer VPC 端點目前僅適用於美國東部 (維吉尼亞北部) 區域。若要從其他區域連線至其中，您可以根據您的安全性和基礎設施喜好設定，選擇下列其中一個選項：  
**設定 NAT 閘道** 在 VPC 的私有子網路中設定 NAT 閘道，以啟用 Q Developer 端點的網際網路連線。如需詳細資訊，請參閱[在 VPC 私有子網路中設定 NAT 閘道](https://repost.aws/knowledge-center/nat-gateway-vpc-private-subnet)。
**啟用跨區域 VPC 端點存取。**為 Q Developer 設定跨區域 VPC 端點存取。使用此選項可安全地連線，而不需要網際網路存取。如需詳細資訊，請參閱[設定跨區域 VPC 端點存取](https://repost.aws/knowledge-center/vpc-endpoints-cross-region-aws-services)。

**注意**  
對於 Amazon Bedrock，介面端點服務名稱 `com.amazonaws.Region.bedrock` 已被棄用。使用上表中列出的服務名稱建立新的 VPC 端點。  
此外，您無法在沒有網際網路存取的情況下，從 Canvas VPC 微調基礎模型。這是因為 Amazon Bedrock 不支援 VPC 端點用於模型自訂 API。若要進一步了解如何在 Canvas 中微調基礎模型，請參閱[微調基礎模型](canvas-fm-chat-fine-tune.md)。

您還必須為 Amazon S3 新增端點政策，以控制對 VPC 端點的 AWS 主體存取。如需如何檢查 VPC 端點政策的詳細資訊，請參閱[使用端點政策控制對 VPC 端點的存取](https://docs.aws.amazon.com/vpc/latest/privatelink/vpc-endpoints-access.html)。

以下是兩個您可以使用的 VPC 端點政策。如果您只想要授予 Canvas 基本功能的存取權，例如匯入資料和建立模型，請使用第一個政策。如果您想要授予 Canvas 中其他[生成式 AI 功能](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-fm-chat.html)的存取權，請使用第二個政策。

------
#### [ Basic VPC endpoint policy ]

下列政策會授予必要的 VPC 端點存取權，讓您可在 Canvas 中進行基本操作。

```
        {
            "Effect": "Allow",
            "Action": [
                "s3:GetObject",
                "s3:PutObject",
                "s3:DeleteObject",
                "s3:CreateBucket",
                "s3:GetBucketCors",
                "s3:GetBucketLocation"
            ],
            "Resource": [
                "arn:aws:s3:::*SageMaker*",
                "arn:aws:s3:::*Sagemaker*",
                "arn:aws:s3:::*sagemaker*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3:ListBucket",
                "s3:ListAllMyBuckets"
            ],
            "Resource": "*"
        }
```

------
#### [ Generative AI VPC endpoint policy ]

下列政策會授予必要的 VPC 端點存取權，讓您可在 Canvas 中進行基本操作，以及使用生成式 AI 基礎模型。

```
        {
            "Effect": "Allow",
            "Action": [
                "s3:GetObject",
                "s3:PutObject",
                "s3:DeleteObject",
                "s3:CreateBucket",
                "s3:GetBucketCors",
                "s3:GetBucketLocation"
            ],
            "Resource": [
                "arn:aws:s3:::*SageMaker*",
                "arn:aws:s3:::*Sagemaker*",
                "arn:aws:s3:::*sagemaker*",
                "arn:aws:s3:::*fmeval/datasets*",
                "arn:aws:s3:::*jumpstart-cache-prod*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3:ListBucket",
                "s3:ListAllMyBuckets"
            ],
            "Resource": "*"
        }
```

------

### 步驟 3：授予 IAM 許可
<a name="canvas-vpc-configure-permissions"></a>

SageMaker Canvas 使用者必須擁有必要的 AWS Identity and Access Management 許可，才能允許連線至 VPC 端點。您授予許可的 IAM 角色必須與您在加入 Amazon SageMaker AI 網域時所使用的角色相同。您可以將 SageMaker AI 受管 `AmazonSageMakerFullAccess` 政策連接到使用者的 IAM 角色，以授予該使用者必要許可。如果您需要更嚴格的 IAM 許可並改用自訂政策，請將 `ec2:DescribeVpcEndpointServices` 許可授予使用者角色。SageMaker Canvas 需要這些許可，才能驗證標準建置工作所需的 VPC 端點是否存在。如果偵測到這些 VPC 端點，則依預設會在您的 VPC 中執行標準建置工作。否則，它們將在預設 AWS 受管 VPC 中執行。

如需有關將 `AmazonSageMakerFullAccess` IAM 政策連接至使用者 IAM 角色的指示，請參閱[新增與移除 IAM 身分許可](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html)。

若要授予使用者的 IAM 角色詳細的 `ec2:DescribeVpcEndpointServices` 許可，請遵循下列程序。

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

1. 在導覽窗格中，選擇**角色**。

1. 在清單中，選擇您要授予許可的角色名稱。

1. 選擇**許可**索引標籤標籤。

1. 選擇**新增許可**，然後選擇**建立內嵌政策**。

1. 選擇 **JSON** 索引標籤，然後輸入下列授予 `ec2:DescribeVpcEndpointServices` 許可的政策：

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "VisualEditor0",
               "Effect": "Allow",
               "Action": "ec2:DescribeVpcEndpointServices",
               "Resource": "*"
           }
       ]
   }
   ```

------

1. 選擇**檢閱政策**然後輸入政策的**名稱** (例如 `VPCEndpointPermissions`)。

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

使用者的 IAM 角色現在應具有存取您的 VPC 中設定的 VPC 端點的許可。

### (選擇性) 步驟 4：覆寫特定使用者的安全群組設定
<a name="canvas-vpc-configure-override"></a>

如果您是管理員，則可能希望不同的使用者擁有不同的 VPC 設定或使用者特定的 VPC 設定。當您覆寫特定使用者的預設 VPC 安全群組設定時，這些設定會傳遞至該使用者的 SageMaker Canvas 應用程式。

當您在 Studio Classic 中設定新的使用者設定檔時，您可以覆寫特定使用者在您的 VPC 中可存取的安全群組。您可以使用 [CreateUserProfile](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateUserProfile.html) SageMaker API 呼叫 (或搭配 [AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html) 使用[ create\$1user\$1profile](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker.html#SageMaker.Client.create_user_profile))，然後在 `UserSettings` 中，您可以為使用者指定 `SecurityGroups`。

# 使用 OAuth 設定與資料來源的連線
<a name="canvas-setting-up-oauth"></a>

以下章節說明您必須採取的步驟，以便設定連接至 SageMaker Canvas 資料來源的 OAuth 連線。[OAuth](https://oauth.net/2/) 是一種常見的驗證平台，用於在不共享密碼的情況下授予資源存取許可。您可以使用 OAuth 從 Canvas 快速連接到資料，並將資料匯入以構建模型。Canvas 目前支援 Snowflake 與 Salesforce Data Cloud。

**注意**  
您僅能針對每個資料來源建立一個 OAuth 連線。

## 針對 Salesforce Data Cloud 設定 OAuth
<a name="canvas-setting-up-oauth-salesforce"></a>

若要針對 Salesforce Data Cloud 設定 OAuth，請遵循下列一般步驟：

1. 登入至 Salesforce Data Cloud。

1. 在 Salesforce Data Cloud 中建立新的應用程式連線，然後執行下列動作：

   1. 啟用 OAuth 設定。

   1. 當系統提示您輸入回呼 URL (或存取資料的資源 URL) 時，請指定 Canvas 應用程式的 URL。Canvas 應用程式 URL 遵循以下格式：`https://<domain-id>.studio.<region>.sagemaker.aws/canvas/default`

   1. 複製消費者金鑰和機密。

   1. 複製您的授權網址和權杖 URL。

如需有關在 Salesforce Data Cloud 中執行前面任務的詳細說明，請參閱 Data Wrangler 說明文件中的 [從 Salesforce 資料雲端匯入資料。](data-wrangler-import.md#data-wrangler-import-salesforce-data-cloud)，有關從 Salesforce Data Cloud 端匯入資料的說明文件。

從 Salesforce Data Cloud 啟用存取並取得連線資訊後，您必須建立 [AWS Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/intro.html) 秘密來儲存資訊，並將其新增至 Amazon SageMaker AI 網域或使用者設定檔。請注意，您可以在網域和使用者設定檔中新增密碼，但 Canvas 會先在使用者設定檔中尋找密碼。

若要將密碼新增至您的網域或使用者設定檔，請執行下列動作：

1. 前往 [Amazon SageMaker AI 主控台](https://console.aws.amazon.com/sagemaker)。

1. 在導覽窗格中選擇**網域**。

1. 從**網域**清單中選擇您的網域。

   1. 如果您要將機密新增至網域，請執行下列動作：

      1. 選擇網域。

      1. 在**網域設定**頁面上，選擇**網域設定**索引標籤。

      1. 選擇**編輯**。

   1. 若要將機密新增至您的使用者設定檔，請執行下列動作：

      1. 選擇使用者的網域。

      1. 在**網域設定**頁面上，選擇使用者設定檔。

      1. 在**使用者詳細資訊**頁面選擇**編輯**。

1. 在導覽窗格中，選擇** Canvas 設定**。

1. 針對 **OAuth 設定**，請選擇**新增 OAuth 組態**。

1. 針對**資料來源**，請選取 **Salesforce Data Cloud**。

1. 針對**機密設定**，選取**建立新的機密**。或者，如果您已使用登入資料建立 AWS Secrets Manager 秘密，請輸入秘密的 ARN。若要建立新的機密，請執行下列動作：

   1. 針對**身分提供者**，選取 **SALESFORCE**。

   1. 針對**用戶端 ID**、**用戶端機密**、**授權 URL** 和**權杖 URL**，請輸入您在上一個程序中從 Salesforce Data Cloud 收集的所有資訊。

1. 儲存您的網域或使用者設定檔設定。

您現在應該可以從 Canvas 建立與 Salesforce Data Cloud 的連線以取用資料。

## 為 Snowflake 設定 OAuth
<a name="canvas-setting-up-oauth-snowflake"></a>

若要設定 Snowflake 的驗證，Canvas 支援您可以使用的身分提供者，而不必讓使用者直接在 Canvas 中輸入憑證。

以下是 Canvas 支援的身分提供者的 Snowflake 文件連結：
+ [Azure AD](https://docs.snowflake.com/en/user-guide/oauth-azure.html)
+ [Okta](https://docs.snowflake.com/en/user-guide/oauth-okta.html)
+ [Ping Federate](https://docs.snowflake.com/en/user-guide/oauth-pingfed.html)

下列步驟說明您必須進行的一般程序：如需有關執行這些步驟的更多詳細說明，您可以參閱 Data Wrangler 說明文件中的[設定 Snowflake OAuth 存取權](data-wrangler-import.md#data-wrangler-snowflake-oauth-setup)區段，獲得有關從 Snowflake 匯入資料指示。

若要設定 Snowflake 的 OAuth，請執行下列動作：

1. 將 Canvas 註冊為身分提供者的應用程式。此動作需要指定一個重新導向至 Canvas 的 URL，且應該為以下格式：`https://<domain-id>.studio.<region>.sagemaker.aws/canvas/default`

1. 在身分提供者中建立建一個伺服器或 API，其會把 OAuth 權杖發送到 Canvas，以便 Canvas 可以存取 Snowflake。在設定伺服器時請使用授權碼並重新整理權杖授予類型、指定存取權杖生命週期，並設定重新整理權杖政策。此外，在 Snowflake 的外部 OAuth 安全性整合中啟用 `external_oauth_any_role_mode`。

1. 從身分提供者獲得以下資訊：權杖 URL、授權 URL、用戶端 ID、用戶端機密。針對 Azure AD，也會擷取 OAuth 範圍憑證。

1. 將上一個步驟中擷取的資訊存放在 AWS Secrets Manager 秘密中。

   1. 針對 Okta 和 Ping Federate，機密格式應該如下所示：

      ```
      {"token_url":"https://identityprovider.com/oauth2/example-portion-of-URL-path/v2/token",
      "client_id":"example-client-id", "client_secret":"example-client-secret", "identity_provider":"OKTA"|"PING_FEDERATE",
      "authorization_url":"https://identityprovider.com/oauth2/example-portion-of-URL-path/v2/authorize"}
      ```

   1. 針對 Azure AD，機密也應該包含 OAuth 範圍憑證為 `datasource_oauth_scope` 欄位。

設定身分提供者和秘密後，您必須建立 [AWS Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/intro.html) 秘密來儲存資訊，並將其新增至 Amazon SageMaker AI 網域或使用者設定檔。請注意，您可以在網域和使用者設定檔中新增密碼，但 Canvas 會先在使用者設定檔中尋找密碼。

若要將密碼新增至您的網域或使用者設定檔，請執行下列動作：

1. 前往 [Amazon SageMaker AI 主控台](https://console.aws.amazon.com/sagemaker)。

1. 在導覽窗格中選擇**網域**。

1. 從**網域**清單中選擇您的網域。

   1. 如果您要將機密新增至網域，請執行下列動作：

      1. 選擇網域。

      1. 在**網域設定**頁面上，選擇**網域設定**索引標籤。

      1. 選擇**編輯**。

   1. 若要將機密新增至您的使用者設定檔，請執行下列動作：

      1. 選擇使用者的網域。

      1. 在**網域設定**頁面上，選擇使用者設定檔。

      1. 在**使用者詳細資訊**頁面選擇**編輯**。

1. 在導覽窗格中，選擇** Canvas 設定**。

1. 針對 **OAuth 設定**，請選擇**新增 OAuth 組態**。

1. 針對**資料來源**，請選取** Snowflake**。

1. 針對**機密設定**，選取**建立新的機密**。或者，如果您已使用登入資料建立 AWS Secrets Manager 秘密，請輸入秘密的 ARN。若要建立新機密，請執行下列動作：

   1. 針對**身分提供者**，選取 **SNOWFLAKE**。

   1. 對於**用戶端 ID**、**用戶端機密**、**授權 URL** 和**權杖 URL**，請輸入您在上一個程序中從身分提供者收集的所有資訊。

1. 儲存您的網域或使用者設定檔設定。

您現在應該可以從 Canvas 建立與 Snowflake 的連線以取用資料。