

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

# 授予使用者在整個 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 應用程式。