為 Ground Truth 標籤工作建立 SageMaker 執行角色 - Amazon SageMaker

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

為 Ground Truth 標籤工作建立 SageMaker 執行角色

設定標籤工作時,您需要提供執行角色 ,這是 SageMaker 具有啟動和執行標籤任務許可的角色。

此角色必須授予下列項目的 Ground Truth 存取許可:

  • Amazon S3 以擷取輸入資料,並將輸出資料寫入至 Amazon S3 儲存貯體。您可以透過提供儲存貯體 授予IAM角色存取整個儲存貯體的許可ARN,也可以授予角色存取儲存貯體中特定資源的許可。例如, 儲存貯體ARN的 可能看起來類似於 ,arn:aws:s3:::amzn-s3-demo-bucket1而 Amazon S3 儲存貯體中資源ARN的 可能看起來類似於 arn:aws:s3:::amzn-s3-demo-bucket1/prefix/file-name.png。若要將動作套用至 Amazon S3 儲存貯體中的所有資源,您可以使用萬用字元:*。例如:arn:aws:s3:::amzn-s3-demo-bucket1/prefix/*。如需更多資訊,請參閱 Amazon Simple Storage Service 使用者指南中的 Amazon S3 資源

  • CloudWatch 記錄工作者指標和標籤任務狀態。

  • AWS KMS 用於資料加密。(選用)

  • AWS Lambda 用於在建立自訂工作流程時處理輸入和輸出資料。

此外,如果您建立串流標籤工作,則此角色必須具有存取許可:

  • Amazon SQS建立與用於管理標籤請求的SQS佇列互動。

  • Amazon SNS從您的 Amazon SNS輸入主題訂閱和擷取訊息,並將訊息傳送至 Amazon SNS輸出主題。

所有這些許可都可以透過 AmazonSageMakerGroundTruthExecution 受管政策進行授權,而例外情形如下:

  • Amazon S3 儲存貯體的資料和儲存磁碟區加密。若要了解如何設定這些許可,請參閱使用 AWS KMS的加密輸出資料和儲存磁碟區

  • 選取及調用函式名稱中不包含 GtRecipeSageMakerSagemakersagemaker、或 LabelingFunction 的 Lambda 函式之權限。

  • Amazon S3 儲存貯體的字首或儲存貯體名稱不包含 GroundTruthGroundtruthgroundtruthSageMakerSagemakersagemaker,或是物件標籤名稱中包含 SageMaker (不區分大小寫)。

如果您需要比 AmazonSageMakerGroundTruthExecution 更為精細的許可,請使用下列政策範例,建立符合您特定使用案例的執行角色。

內建任務類型 (非串流) 執行角色需求

下列政策將為內建任務類型授權建立標籤工作。此執行政策不包含 AWS KMS 資料加密或解密的許可。ARN 使用您自己的 Amazon S3 取代每個以斜體表示的紅色ARNs。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "S3ViewBuckets", "Effect": "Allow", "Action": [ "s3:ListBucket", "s3:GetBucketLocation" ], "Resource": [ "arn:aws:s3:::<input-bucket-name>", "arn:aws:s3:::<output-bucket-name>" ] }, { "Sid": "S3GetPutObjects", "Effect": "Allow", "Action": [ "s3:AbortMultipartUpload", "s3:GetObject", "s3:PutObject" ], "Resource": [ "arn:aws:s3:::<input-bucket-name>/*", "arn:aws:s3:::<output-bucket-name>/*" ] }, { "Sid": "CloudWatch", "Effect": "Allow", "Action": [ "cloudwatch:PutMetricData", "logs:CreateLogStream", "logs:CreateLogGroup", "logs:DescribeLogStreams", "logs:PutLogEvents" ], "Resource": "*" } ] }

內建任務類型 (串流) 執行角色需求

如果您建立串流標籤工作,則必須將類似下列內容的政策,新增至用於建立標籤工作的執行角色。若要縮小政策的範圍,請將 *中的 取代Resource為您想要授予IAM角色存取和使用許可的特定 AWS 資源。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:AbortMultipartUpload", "s3:GetObject", "s3:PutObject" ], "Resource": [ "arn:aws:s3:::<input-bucket-name>/*", "arn:aws:s3:::<output-bucket-name>/*" ] }, { "Effect": "Allow", "Action": [ "s3:GetObject" ], "Resource": "*", "Condition": { "StringEqualsIgnoreCase": { "s3:ExistingObjectTag/SageMaker": "true" } } }, { "Effect": "Allow", "Action": [ "s3:GetBucketLocation", "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::<input-bucket-name>", "arn:aws:s3:::<output-bucket-name>" ] }, { "Sid": "CloudWatch", "Effect": "Allow", "Action": [ "cloudwatch:PutMetricData", "logs:CreateLogStream", "logs:CreateLogGroup", "logs:DescribeLogStreams", "logs:PutLogEvents" ], "Resource": "*" }, { "Sid": "StreamingQueue", "Effect": "Allow", "Action": [ "sqs:CreateQueue", "sqs:DeleteMessage", "sqs:GetQueueAttributes", "sqs:GetQueueUrl", "sqs:ReceiveMessage", "sqs:SendMessage", "sqs:SendMessageBatch", "sqs:SetQueueAttributes" ], "Resource": "arn:aws:sqs:*:*:*GroundTruth*" }, { "Sid": "StreamingTopicSubscribe", "Effect": "Allow", "Action": "sns:Subscribe", "Resource": [ "arn:aws:sns:<aws-region>:<aws-account-number>:<input-topic-name>", "arn:aws:sns:<aws-region>:<aws-account-number>:<output-topic-name>" ], "Condition": { "StringEquals": { "sns:Protocol": "sqs" }, "StringLike": { "sns:Endpoint": "arn:aws:sns:<aws-region>:<aws-account-number>:*GroundTruth*" } } }, { "Sid": "StreamingTopic", "Effect": "Allow", "Action": [ "sns:Publish" ], "Resource": [ "arn:aws:sns:<aws-region>:<aws-account-number>:<input-topic-name>", "arn:aws:sns:<aws-region>:<aws-account-number>:<output-topic-name>" ] }, { "Sid": "StreamingTopicUnsubscribe", "Effect": "Allow", "Action": [ "sns:Unsubscribe" ], "Resource": [ "arn:aws:sns:<aws-region>:<aws-account-number>:<input-topic-name>", "arn:aws:sns:<aws-region>:<aws-account-number>:<output-topic-name>" ] } ] }

自訂任務類型的執行角色需求

如果您要建立自訂標籤工作流程,請將下列陳述式新增至執行角色政策,如同在 內建任務類型 (非串流) 執行角色需求內建任務類型 (串流) 執行角色需求 中找到的執行角色政策。

此政策將執行角色授予 Invoke 您註釋前和註釋後 Lambda 函式的權限。

{ "Sid": "LambdaFunctions", "Effect": "Allow", "Action": [ "lambda:InvokeFunction" ], "Resource": [ "arn:aws:lambda:<region>:<account-id>:function:<pre-annotation-lambda-name>", "arn:aws:lambda:<region>:<account-id>:function:<post-annotation-lambda-name>" ] }

自動化資料標籤權限需求

如果您想要在啟用自動資料標籤的情況下建立標籤任務,您必須 1) 將一個政策新增至附加至執行角色IAM的政策,以及 2) 更新執行角色的信任政策。

下列陳述式允許將IAM執行角色傳遞至 SageMaker ,以便分別用來執行用於主動學習和自動化資料標籤的訓練和推論任務。將此陳述式新增至執行角色政策,就像在 內建任務類型 (非串流) 執行角色需求內建任務類型 (串流) 執行角色需求 中找到的執行角色政策。arn:aws:iam::<account-number>:role/<role-name> 以執行角色 取代 ARN。您可以在 IAM 角色 下的IAM主控台ARN中找到您的角色

{ "Effect": "Allow", "Action": [ "iam:PassRole" ], "Resource": "arn:aws:iam::<account-number>:role/<execution-role-name>", "Condition": { "StringEquals": { "iam:PassedToService": [ "sagemaker.amazonaws.com" ] } } }

下列陳述式允許 SageMaker 擔任執行角色,以建立和管理 SageMaker 訓練和推論任務。此政策必須新增至執行角色的信任關係。若要了解如何新增或修改IAM角色信任政策,請參閱 IAM 使用者指南中的修改角色

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