Amazon 增強版 AI 中的許可和安全性 - Amazon SageMaker

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

Amazon 增強版 AI 中的許可和安全性

使用 Amazon Augmented AI (Amazon A2I) 為 ML/AI 應用程式建立人工審查工作流程時,您可以在 Amazon 中建立和設定資源, SageMaker 例如人力和工作者任務範本。若要設定和啟動人工迴圈,您可以將 Amazon A2I 與其他 AWS 服務 (例如 Amazon Textract 或亞馬 Amazon Rekognition) 整合,或使用 Amazon Augmented AI 執行階段 API。若要建立人工審核工作流程並開始人工迴圈,您必須將特定政策附加至您的 AWS Identity and Access Management (IAM) 角色或使用者。具體而言:

  • 當您在 2020 年 1 月 12 日或之後使用影像輸入資料啟動人工循環時,必須將 CORS 標題政策新增至包含輸入資料的 Amazon S3 儲存貯體。如需進一步了解,請參閱CORS 許可要求

  • 當您建立流程定義時,您必須提供授與 Amazon A2I 許可以存取 Amazon S3 的角色,以便讀取將在人工任務使用者介面中轉譯的物件,以及寫入人工審核結果的物件。

    此角色也必須附加信任原則,才能授與擔任該角色的 SageMaker 權限。這可讓 Amazon A2I 根據您連接到角色的許可來執行動作。

    請參閱將許可新增至用於建立流程定義的 IAM 角色,以查看您可以修改並連接用來建立流程定義角色的範例政策。這些是附加至 IAM 角色的政策,這些政策是在主控台的 Amazon A2I 區域的「人工審核工作流程」區段中建立的。 SageMaker

  • 若要建立並啟動人工循環,您可以使用內建任務類型 (例如 DetectModerationLabelAnalyzeDocument) 的 API 作業,或在自訂機器學習 (ML) 應用程式 中使用 Amazon A2I 執行期 API 作業 StartHumanLoop。您必須連接 AmazonAugmentedAIFullAccess 受管政策到調用這些 API 作業的使用者,以授與這些服務許可,可以使用 Amazon A2I 作業。如要瞭解如何作業,請參閱建立可調用 Amazon A2I API 作業的使用者

    此原則會授與叫用與內建工作類型相關聯之 AWS 服務之 API 作業的權限。例如,AmazonAugmentedAIFullAccess 不會授權許可,呼叫 Amazon Rekognition DetectModerationLabel API 作業或 Amazon Textract AnalyzeDocument API 作業。您可以使用比較一般的政策,AmazonAugmentedAIIntegratedAPIAccess,來授予這些許可。如需詳細資訊,請參閱 使用調用 Amazon A2I、Amazon Textract 和 Amazon Rekognition API 作業的許可來建立使用者。當您想要授予使用者使用 Amazon A2I 和整合式 AWS 服務 API 操作的廣泛許可時,這是一個不錯的選擇。

    如果您想要設定更精密的許可,請參閱以 Amazon Rekognition 身分為基礎的政策範例和以 Amazon Textract 以身分為基礎的政策範例,以了解您可以用來授與使用這些個別服務的許可。

  • 若要預覽您的自訂工作者任務使用者介面範本,您需要一個擁有許可的 IAM 角色,才能讀取在使用者介面上呈現的 Amazon S3 物件。請參閱啟用工作者任務範本預覽 中的政策範例。

CORS 許可要求

在 2020 年早些時候,Chrome 和 Firefox 等廣泛使用的瀏覽器變更了其根據影像中繼資料旋轉影像的預設行為,稱為 EXIF 資料。以前,影像一律會在瀏覽器中確切地顯示該影像在磁碟上的儲存方式 (通常是未旋轉的狀態)。變更後,影像現在會根據稱為方向值的影像中繼資料進行旋轉。這對整個機器學習 (ML) 社群具有重要意義。例如,如果不考慮 EXIF 方向,用於註釋影像的應用程式可能會以非預期的方向顯示影像,並導致不正確的標籤。

從 Chrome 89 開始, AWS 無法再自動阻止圖像旋轉,因為 Web 標準組 W3C 決定控制圖像旋轉的能力違反了網絡的同源政策。因此,若要確保人力工作者在提交要求以建立人工循環時,以可預測的方向註釋您的輸入影像,您必須將 CORS 標題政策新增至包含輸入影像的 S3 儲存貯體。

重要

如果您未將 CORS 組態新增至包含輸入資料的 S3 儲存貯體,則這些輸入資料物件的人工審核任務會失敗。

您可以在 Amazon S3 主控台中將 CORS 政策新增至包含輸入資料的 S3 儲存貯體。若要在 S3 主控台中包含輸入影像的 S3 儲存貯體上設定必要的 CORS 標題,請遵循在如何使用 CORS 新增跨網域資源共用中詳細說明的指示。對託管影像的儲存貯體,請使用以下 CORS 組態代碼。如果您使用 Amazon S3 主控台,將政策新增至儲存貯體,則必須使用 JSON 格式。

JSON

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

XML

<CORSConfiguration> <CORSRule> <AllowedOrigin>*</AllowedOrigin> <AllowedMethod>GET</AllowedMethod> </CORSRule> </CORSConfiguration>

若要使用 Amazon S3 主控台新增 CORS 標題政策,下列 GIF 會示範在 Amazon S3 文件中找到的指示。

Amazon S3 console showing an empty bucket named chopt-example-bucket. (AI generated)

將許可新增至用於建立流程定義的 IAM 角色

若要建立流程定義,請將本節中的政策附加到您在 SageMaker 主控台中建立人工審核工作流程或使用 CreateFlowDefinition API 作業時所使用的角色。

  • 如果您使用主控台建立人工審核工作流程,在主控台中建立人工審核工作流程時,在 IAM 角色欄位輸入角色的 Amazon Resource Name (ARN)。

  • 使用 API 建立流程定義時,請將這些政策連接傳遞到 CreateFlowDefinition 操作 RoleArn 參數的角色。

在您建立人工審核工作流程 (流程定義) 時,Amazon A2I 會調用 Amazon S3 以完成您的任務。若要授與在儲存 Amazon S3 儲存貯體中擷取和存放檔案的 Amazon A2I 許可,請建立下列政策並將其連接至您的角色。例如,如果您要送交人工審核的影像、文件與其他檔案等存放在名為 my_input_bucket 的 S3 儲存貯體中,而且您希望將人工審核存放在名為 my_output_bucket 的儲存貯體中,並建立下列政策。

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

此外,IAM 角色必須具有下列信任政策,才能 SageMaker 授予擔任該角色的權限。要瞭解有關 IAM 信任策略的更多資訊,請參閱基於資源的策略部分的策略和權限AWS Identity and Access Management文件。

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

如需有關建立和管理 IAM 角色和政策的詳細資訊,請參閱AWS Identity and Access Management 使用者指南中的下列主題:

建立可調用 Amazon A2I API 作業的使用者

若要用 Amazon A2I 來建立和啟動 Amazon Rekognition、Amazon Textract,或 Amazon A2I 執行期 API 的人工循環,您必須使用具有調用 Amazon A2I 作業許可的使用者。若要執行此操作,請使用 IAM 主控台將 AmazonAugmentedAIFullAccess 受管政策連接到新的或現有的使用者。

此政策授予使用者從 API 呼叫 API 操作的權限,以建立和管理流程定義,以及用於人工迴圈建立和管理的 Amazon Augmented AI 執行階段 API。 SageMaker 若要進一步了解這些 API 作業,請參閱在 Amazon 增強版 AI 中使用 API

AmazonAugmentedAIFullAccess 不會授與使用 Amazon Rekognition 或 Amazon Textract API 作業的許可。

注意

您也可以將 AmazonAugmentedAIFullAccess 政策連接到用來建立和啟動人工循環的 IAM 角色。

若要提供存取權,請新增權限至您的使用者、群組或角色:

  • 使用者和群組位於 AWS IAM Identity Center:

    建立權限合集。請按照 AWS IAM Identity Center 使用者指南 中的 建立權限合集 說明進行操作。

  • 透過身分提供者在 IAM 中管理的使用者:

    建立聯合身分的角色。請按照 IAM 使用者指南為第三方身分提供者 (聯合) 建立角色 中的指示進行操作。

  • IAM 使用者:

如需詳細資訊,請參閱 AWS Identity and Access Management 使用者指南中的新增和移除 IAM 身分許可

使用調用 Amazon A2I、Amazon Textract 和 Amazon Rekognition API 作業的許可來建立使用者

若要建立一個使用者:有權調用內建任務類型使用的 API 作業 (即,適用於 Amazon Rekognition 的 DetectModerationLables,和適用於 AnalyzeDocument 的 Amazon Textract),並有權使用所有Amazon A2I API 作業,請連接 IAM 受管政策,AmazonAugmentedAIIntegratedAPIAccess。當您想要授予廣泛許可至使用 Amazon A2I 搭配多種任務類型的使用者時,可能會想要使用此政策。若要進一步了解這些 API 作業,請參閱在 Amazon 增強版 AI 中使用 API

注意

您也可以將 AmazonAugmentedAIIntegratedAPIAccess 政策連接到用來建立和啟動人工循環的 IAM 角色。

若要提供存取權,請新增權限至您的使用者、群組或角色:

  • 使用者和群組位於 AWS IAM Identity Center:

    建立權限合集。請按照 AWS IAM Identity Center 使用者指南 中的 建立權限合集 說明進行操作。

  • 透過身分提供者在 IAM 中管理的使用者:

    建立聯合身分的角色。請按照 IAM 使用者指南為第三方身分提供者 (聯合) 建立角色 中的指示進行操作。

  • IAM 使用者:

如需詳細資訊,請參閱 AWS Identity and Access Management 使用者指南中的新增和移除 IAM 身分許可

啟用工作者任務範本預覽

若要自訂工作者在處理任務時看到的介面和指示,您可以建立工作者任務範本。您可以使用CreateHumanTaskUi作業或 SageMaker 主控台建立範本。

若要預覽範本,您需要具有下列許可的 IAM 角色,以讀取在使用者介面上呈現的 Amazon S3 物件。

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

對於 Amazon Rekognition 和 Amazon Textract 任務類型,您可以使用主控台的 Amazon Augmented AI 部分預覽您的範本。 SageMaker 對於自訂任務類型,您可以調用作 RenderUiTemplate 操作來預覽範本。若要預覽範本,請遵循任務類型的指示:

  • Amazon Rekognition 和 Amazon Textract 任務類型 — 在 SageMaker 主控台中,請在所述程序中使用角色的 Amazon 資源名稱 (ARN)。建立工作者任務範本

  • RenderUiTemplate 操作的自訂任務類型中,使用在 RoleArn 參數中角色的 ARN。

搭配加密儲存貯體使用 Amazon A2I AWS KMS

如果您指定 AWS Key Management Service (AWS KMS) 客戶受管金鑰來加密中OutputConfig的輸出資料 CreateFlowDefinition,則必須新增與該金鑰類似以下內容的 IAM 政策。本政策會提供您用來建立人工循環許可的 IAM 執行角色,以使用此金鑰來執行 "Action" 中列出的所有動作。若要深入瞭解這些動作,請參閱 AWS Key Management Service 開發人員指南中的AWS KMS 權限

要使用此政策,請將 "Principal" 中的 IAM 服務角色 ARN,取代為您建立人工審核工作流程 (流程定義) 時所使用的執行角色的 ARN。使用 CreateFlowDefinition 建立標籤工作時,這是您為 RoleArn 指定的 ARN。請注意,您無法在主控台中建立流程定義時提供 KmsKeyId

{ "Sid": "AllowUseOfKmsKey", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/service-role/example-role" }, "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:DescribeKey" ], "Resource": "*" }

其他許可和安全性資源