本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
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用於建立流程定義的角色,以查看您可以修改並連接用來建立流程定義角色的範例政策。這些是附加至主控台 Amazon A2I 區域的「人工審核工作流程」區段中建立的IAM角色的 SageMaker 政策。
-
若要建立和啟動人工迴圈,您可以
StartHumanLoop
在自訂 ML 應用程式中使用內建任務類型 (例如DetectModerationLabel
或AnalyzeDocument
) 的API作業,或使用 Amazon A2I 執行階段API作業。您需要將AmazonAugmentedAIFullAccess
受管政策附加到叫用這些API操作的使用者,才能授與這些服務的權限,才能使用 Amazon A2I 操作。如要瞭解如何作業,請參閱建立可以叫用 Amazon A2I API 操作的使用者。此原則不會授與叫用與內建工API作類型相關聯之 AWS 服務作業的權限。例如,
AmazonAugmentedAIFullAccess
不授與呼叫 Amazon RekognitionDetectModerationLabel
API 作業或 Amazon Textract 作業的權限。AnalyzeDocument
API您可以使用比較一般的政策,AmazonAugmentedAIIntegratedAPIAccess
,來授予這些許可。如需詳細資訊,請參閱建立具有叫用 Amazon A2I、亞馬遜 Textract 和亞馬遜重新認知操作的許可的使用者 API。當您想要授予使用者使用 Amazon A2I 和整合式 AWS 服務API操作的廣泛許可時,這是一個不錯的選擇。如果您想要設定更精密的許可,請參閱以 Amazon Rekognition 身分為基礎的政策範例和以 Amazon Textract 以身分為基礎的政策範例,以了解您可以用來授與使用這些個別服務的許可。
-
若要預覽自訂工作者任務 UI 範本,您需要具有權限的IAM角色,才能讀取在使用者介面上呈現的 Amazon S3 物件。請參閱啟用工作者任務範本預覽 中的政策範例。
主題
CORS權限要求
在 2020 年早些時候,Chrome 和 Firefox 等廣泛使用的瀏覽器更改了其基於圖像元數據旋轉圖像的默認行為,稱為EXIF數據
從 Chrome 89 開始, AWS 無法再自動阻止圖像旋轉,因為 Web 標準組 W3C 決定控制圖像旋轉的能力違反了網絡的同源政策。因此,若要確保人工在提交請求以建立人工迴圈時,以可預測的方向註解您的輸入影像,您必須將CORS標頭政策新增至包含輸入影像的 S3 儲存貯體。
重要
如果您未將CORS組態新增至包含輸入資料的 S3 儲存貯體,則這些輸入資料物件的人工審查任務會失敗。
您可以將CORS政策新增到包含 Amazon S3 主控台中輸入資料的 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 文件中的指GIF示,如何使用 Amazon S3 主控台新增CORS標頭政策。
將權限新增至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 使用指南》中的下列主題:
-
若要建立IAM角色,請參閱建立角色以將權限委派給IAM使用者。
-
若要了解如何建立IAM原則,請參閱建立IAM原則。
-
若要瞭解如何將IAM原則附加至角色,請參閱新增和移除IAM身分識別權限。
建立可以叫用 Amazon A2I API 操作的使用者
若要使用 Amazon A2I 為 Amazon 重新認知、亞馬遜 Textract 或亞馬遜 A2I 執行階段API建立和啟動人工迴圈,您必須使用具有許可的使用者來叫用 Amazon A2I 操作。若要這麼做,請使用主IAM控台將AmazonAugmentedAIFullAccess
此政策授予使用者從用 SageMaker API於建立和管理流程定義和管理的 Amazon Augmented AI 執行階段以呼叫API作業的權限,以API進行人工迴圈建立和管理。若要進一步了解這些API操作,請參閱APIs在 Amazon Augmented AI 中使用。
AmazonAugmentedAIFullAccess
不授予使用亞馬遜重新認知或亞 Amazon Textract 操作的許可。API
注意
您也可以將AmazonAugmentedAIFullAccess
原則附加至IAM用來建立和啟動人工迴圈的角色。
若要提供存取權,請新增權限至您的使用者、群組或角色:
-
使用者和群組位於 AWS IAM Identity Center:
建立權限合集。請按照 AWS IAM Identity Center 使用者指南 中的 建立權限合集 說明進行操作。
-
IAM透過身分識別提供者管理的使用者:
建立聯合身分的角色。請遵循《使用指南》中的〈為第三方身分識別提供IAM者 (同盟) 建立角色〉中的指示進行。
-
IAM使用者:
-
建立您的使用者可擔任的角色。請按照《用戶指南》中的「為IAM用戶創建角色」中的IAM說明進行操作。
-
(不建議) 將政策直接附加至使用者,或將使用者新增至使用者群組。請遵循《使用指南》中的「向使用者 (主控台) 新增權限」IAM 中的指示進行。
-
如需詳細資訊,請參閱AWS Identity and Access Management 使用指南中的新增和移除IAM身分識別權限。
建立具有叫用 Amazon A2I、亞馬遜 Textract 和亞馬遜重新認知操作的許可的使用者 API
若要建立具有叫用內建任務類型所使用之API操作之權限的使用者 (也就是DetectModerationLables
針對 Amazon Rekognition 和 Amazon Textract) 所使用的操作,以及AnalyzeDocument
允許使用所有 Amazon A2I API 操作的使用者,請附加受管政策。IAM AmazonAugmentedAIIntegratedAPIAccess
當您想要授予廣泛許可至使用 Amazon A2I 搭配多種任務類型的使用者時,可能會想要使用此政策。若要進一步了解這些API操作,請參閱APIs在 Amazon Augmented AI 中使用。
注意
您也可以將AmazonAugmentedAIIntegratedAPIAccess
原則附加至IAM用來建立和啟動人工迴圈的角色。
若要提供存取權,請新增權限至您的使用者、群組或角色:
-
使用者和群組位於 AWS IAM Identity Center:
建立權限合集。請按照 AWS IAM Identity Center 使用者指南 中的 建立權限合集 說明進行操作。
-
IAM透過身分識別提供者管理的使用者:
建立聯合身分的角色。請遵循《使用指南》中的〈為第三方身分識別提供IAM者 (同盟) 建立角色〉中的指示進行。
-
IAM使用者:
-
建立您的使用者可擔任的角色。請按照《用戶指南》中的「為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 權限。
若要使用此原則,請將ARN中"Principal"
的IAM服務角色取代為您用來建立人工審核工作流程 (流程定義) 的執行角色。ARN使用建立標籤工作時CreateFlowDefinition
,這是ARN您指定的RoleArn
。請注意,您無法在主控台中建立流程定義時提供 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": "*" }