

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

# Ground Truth ラベル付けジョブの SageMaker AI 実行ロールを作成する
<a name="sms-security-permission-execution-role"></a>

ラベル付けジョブを設定する場合は、*実行ロール*を用意する必要があります。これは、SageMaker AI がラベル付けジョブを開始および実行するための許可を持つロールです。

このロールは、以下へのアクセス許可を Ground Truth に付与する必要があります。
+ Amazon S3 を使用して入力データを取得し、Amazon S3 バケットに出力データを書き込みます。バケットの ARN を指定してバケット全体へのアクセス許可を IAM ロールに付与するか、バケット内の特定のリソースへのアクセス許可をロールに付与できます。例えば、バケットの 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 リソース](https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html)」を参照してください。
+ ワーカーメトリクスとラベル付けジョブステータスを記録する CloudWatch。
+ AWS KMS データ暗号化用。(オプション)
+ AWS Lambda カスタムワークフローの作成時に入出力データを処理するための 。

さらに、[ストリーミングラベル付けジョブ](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-streaming-labeling-job.html)には、このロールへのアクセス許可が必要です。
+ [ラベル付けリクエストの管理](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-streaming-labeling-job.html#sms-streaming-how-it-works-sqs)に使用する SQS キューとのやりとりを作成する Amazon SQS。
+ Amazon SNS では、Amazon SNS 入力トピックをサブスクライブしてメッセージを取得したり、Amazon SNS 出力トピックにメッセージを送信したりできます。

以下を*除いて*、これらのアクセス許可はすべて `[AmazonSageMakerGroundTruthExecution](https://console.aws.amazon.com/iam/home?#/policies/arn:aws:iam::aws:policy/AmazonSageMakerGroundTruthExecution)` 管理ポリシーで付与されます。
+ Amazon S3 バケットのデータとストレージボリュームの暗号化。これらのアクセス許可を構成する方法については、「[で出力データとストレージボリュームを暗号化する AWS KMS](sms-security-kms-permissions.md)」を参照してください。
+ 関数名に `GtRecipe`、`SageMaker`、`Sagemaker`、`sagemaker`、または `LabelingFunction` を含まない Lambda 関数を選択および呼び出すための許可。
+ プレフィックスまたはバケット名に `GroundTruth`、`Groundtruth`、`groundtruth`、`SageMaker`、`Sagemaker`、`sagemaker` を含まない、あるいは名前に `SageMaker` を含む [オブジェクトタグ](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-tagging.html) を含まない Amazon S3 バケット (大文字と小文字は区別されません)。

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

**Topics**
+ [組み込みタスクタイプ (非ストリーミング) の実行ロール要件](#sms-security-permission-execution-role-built-in-tt)
+ [組み込みタスクタイプ (ストリーミング) の実行ロール要件](#sms-security-permission-execution-role-built-in-tt-streaming)
+ [カスタムタスクタイプの実行ロール要件](#sms-security-permission-execution-role-custom-tt)
+ [自動データラベリングアクセス許可の要件](#sms-security-permission-execution-role-custom-auto-labeling)

## 組み込みタスクタイプ (非ストリーミング) の実行ロール要件
<a name="sms-security-permission-execution-role-built-in-tt"></a>

次のポリシーは、[組み込みタスクタイプ](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-task-types.html)のラベル付けジョブを作成するアクセス許可を付与します。この実行ポリシーには、 AWS KMS データの暗号化または復号のためのアクセス許可は含まれません。赤の斜体の ARN をそれぞれ独自の Amazon S3 ARN に置き換えます。

------
#### [ JSON ]

****  

```
{
    "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": "*"
        }
    ]
}
```

------

## 組み込みタスクタイプ (ストリーミング) の実行ロール要件
<a name="sms-security-permission-execution-role-built-in-tt-streaming"></a>

ストリーミングラベル付けジョブを作成する場合は、次のようなポリシーを、ラベル付けジョブの作成に使用する実行ロールに追加する必要があります。ポリシーの範囲を絞り込むには、 `*` `Resource`の を、IAM ロールにアクセスおよび使用するアクセス許可を付与する特定の AWS リソースに置き換えます。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "s3:AbortMultipartUpload",
                "s3:GetObject",
                "s3:PutObject"
            ],
            "Resource": [
                "arn:aws:s3:::{{amzn-s3-demo-bucket}}/*",
                "arn:aws:s3:::{{amzn-s3-demo-bucket2}}/*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3:GetObject"
            ],
            "Resource": "*",
            "Condition": {
                "StringEqualsIgnoreCase": {
                    "s3:ExistingObjectTag/SageMaker": "true"
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3:GetBucketLocation",
                "s3:ListBucket"
            ],
            "Resource": [
                "arn:aws:s3:::{{amzn-s3-demo-bucket}}",
                "arn:aws:s3:::{{amzn-s3-demo-bucket2}}"
            ]
        },
        {
            "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:SetQueueAttributes"
            ],
            "Resource": "arn:aws:sqs:*:*:*GroundTruth*"
        },
        {
            "Sid": "StreamingTopicSubscribe",
            "Effect": "Allow",
            "Action": "sns:Subscribe",
            "Resource": [
                "arn:aws:sns:{{us-east-1}}:{{111122223333}}:{{input-topic-name}}",
                "arn:aws:sns:{{us-east-1}}:{{111122223333}}:{{output-topic-name}}"
            ],
            "Condition": {
                "StringEquals": {
                    "sns:Protocol": "sqs"
                },
                "StringLike": {
                    "sns:Endpoint": "arn:aws:sns:{{us-east-1}}:{{111122223333}}:*GroundTruth*"
                }
            }
        },
        {
            "Sid": "StreamingTopic",
            "Effect": "Allow",
            "Action": [
                "sns:Publish"
            ],
            "Resource": [
                "arn:aws:sns:{{us-east-1}}:{{111122223333}}:{{input-topic-name}}",
                "arn:aws:sns:{{us-east-1}}:{{111122223333}}:{{output-topic-name}}"
            ]
        },
        {
            "Sid": "StreamingTopicUnsubscribe",
            "Effect": "Allow",
            "Action": [
                "sns:Unsubscribe"
            ],
            "Resource": [
                "arn:aws:sns:{{us-east-1}}:{{111122223333}}:{{input-topic-name}}",
                "arn:aws:sns:{{us-east-1}}:{{111122223333}}:{{output-topic-name}}"
            ]
        }
    ]
}
```

------

## カスタムタスクタイプの実行ロール要件
<a name="sms-security-permission-execution-role-custom-tt"></a>

[カスタムラベル付けワークフロー](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-custom-templates.html)を作成する場合は、[組み込みタスクタイプ (非ストリーミング) の実行ロール要件](#sms-security-permission-execution-role-built-in-tt) または [組み込みタスクタイプ (ストリーミング) の実行ロール要件](#sms-security-permission-execution-role-built-in-tt-streaming) にあるような実行ロールポリシーに次のステートメントを追加します。

このポリシーは、実行ロールに注釈前と注釈後の 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>"
    ]
}
```

## 自動データラベリングアクセス許可の要件
<a name="sms-security-permission-execution-role-custom-auto-labeling"></a>

[自動データラベリング機能](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-automated-labeling.html)を有効にしてラベル付けジョブを作成する場合は、1) 実行ロールにアタッチされた IAM ポリシーに 1 つのポリシーを追加し、2) 実行ロールの信頼ポリシーを更新する必要があります。

次のステートメントでは、IAM 実行ロールを SageMaker AI に渡して、アクティブラーニングと自動データラベリングに使用されるトレーニングジョブと推論ジョブを実行できるようにします。このステートメントを [組み込みタスクタイプ (非ストリーミング) の実行ロール要件](#sms-security-permission-execution-role-built-in-tt) または [組み込みタスクタイプ (ストリーミング) の実行ロール要件](#sms-security-permission-execution-role-built-in-tt-streaming) にあるような実行ロールポリシーに追加します。`{{arn:aws:iam::<account-number>:role/<role-name>}}` を実行ロール ARN に置き換えます。IAM ロール ARN は、IAM コンソールの **[Roles]** (ロール) にあります。

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

次のステートメントでは、SageMaker AI が実行ロールを引き受け、SageMaker のトレーニングジョブと推論ジョブを作成および管理できます。このポリシーは、実行ロールの信頼関係に追加する必要があります。IAM ロールの信頼ポリシーを追加または変更する方法については、IAM ユーザーガイドの「[Modifying a role](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_manage_modify.html)」 (ロールの変更) を参照してください。

------
#### [ JSON ]

****  

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

------

