Ground Truth ラベル付けジョブ SageMaker の実行ロールを作成する - Amazon SageMaker

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Ground Truth ラベル付けジョブ SageMaker の実行ロールを作成する

ラベル付けジョブを設定するときは、実行ロール を指定する必要があります。これは、ラベル付けジョブを開始して実行するアクセス許可 SageMaker を持つロールです。

このロールは、以下へのアクセス許可を Ground Truth に付与する必要があります。

  • Amazon S3 を使用して入力データを取得し、Amazon S3 バケットに出力データを書き込みます。バケット を指定して IAM ロールにバケット全体へのアクセス許可を付与するかARN、バケット内の特定のリソースにアクセスするためのロールへのアクセス許可を付与することができます。例えば、バケットARNの は に似arn:aws:s3:::awsexamplebucket1ていて、Amazon S3 バケット内のARNリソースの は に似ている場合がありますarn:aws:s3:::awsexamplebucket1/prefix/file-name.png。アクションを Amazon S3 バケット内のすべてのリソースに適用するには、ワイルドカード * を使用できます。例えば、arn:aws:s3:::awsexamplebucket1/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 関数を選択および呼び出すための許可。

  • プレフィックスまたはバケット名に GroundTruthGroundtruthgroundtruthSageMakerSagemakersagemaker を含まない、あるいは名前に SageMaker を含む オブジェクトタグ を含まない Amazon S3 バケット (大文字と小文字は区別されません)。

AmazonSageMakerGroundTruthExecution で提供されているものよりも詳細なアクセス許可が必要な場合は、次のポリシーの例を使用して、特定のユースケースに適合する実行ロールを作成します。

組み込みタスクタイプ (非ストリーミング) の実行ロール要件

次のポリシーは、組み込みタスクタイプのラベル付けジョブを作成するアクセス許可を付与します。この実行ポリシーには、 AWS KMS データの暗号化または復号のためのアクセス許可は含まれません。イタリック体の赤をそれぞれ独自の Amazon S3 ARNに置き換えます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": "*" } ] }

組み込みタスクタイプ (ストリーミング) の実行ロール要件

ストリーミングラベル付けジョブを作成する場合は、次のようなポリシーを、ラベル付けジョブの作成に使用する実行ロールに追加する必要があります。ポリシーの範囲を絞り込むには、 *の を、アクセスして使用するアクセス許可をIAMロールに付与するResource特定の 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>" ] } ] }

カスタムタスクタイプの実行ロール要件

カスタムラベル付けワークフローを作成する場合は、組み込みタスクタイプ (非ストリーミング) の実行ロール要件 または 組み込みタスクタイプ (ストリーミング) の実行ロール要件 にあるような実行ロールポリシーに次のステートメントを追加します。

このポリシーは、実行ロールに注釈前と注釈後の Lambda 関数 を Invoke する許可を与えます。

{ "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) 実行ロールにアタッチされたポリシーに 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" } }