ジョブテンプレートへのアクセスの制御
StartJobRun ポリシーにより、ユーザーまたはロールは、指定したジョブテンプレートを使用してジョブのみを実行でき、指定されたジョブテンプレートを使用しないと StartJobRun 操作を実行できないように強制できます。そのためには、まず、以下に示すように、指定したジョブテンプレートに対する読み取り権限をユーザーまたはロールに付与してください。
- JSON
-
-
{
"Version":"2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"emr-containers:DescribeJobRun"
],
"Resource": [
"arn:aws:emr-containers:*:*:jobtemplate/job_template_1_id",
"arn:aws:emr-containers:*:*:jobtemplate/job_template_2_id"
],
"Sid": "AllowEMRCONTAINERSDescribejobtemplate"
}
]
}
指定したジョブテンプレートを使用する場合にのみユーザーまたはロールが StartJobRun 操作を呼び出せるようにするには、特定のユーザーまたはロールに以下の StartJobRun ポリシー権限を割り当てます。
- JSON
-
-
{
"Version":"2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"emr-containers:StartJobRun"
],
"Resource": [
"arn:aws:emr-containers:*:*:/virtualclusters/virtual_cluster_id"
],
"Condition": {
"ArnLike": {
"emr-containers:JobTemplateArn": [
"arn:aws:emr-containers:*:*:jobtemplate/job_template_1_id",
"arn:aws:emr-containers:*:*:jobtemplate/job_template_2_id"
]
}
},
"Sid": "AllowEMRCONTAINERSStartjobrun"
}
]
}
ジョブテンプレートが実行ロール ARN フィールド内にジョブテンプレートパラメータを指定している場合、ユーザーはこのパラメータに値を指定できるため、任意の実行ロールを使用して StartJobRun を呼び出すことができます。ユーザーが指定できる実行ロールを制限するには、「Amazon EMR on EKS でのジョブ実行ロールの使用」 の「実行ロールへのアクセスの制御」を参照してください。
特定のユーザーまたはロールに対して上記の StartJobRun アクションポリシーで条件が指定されていない場合、ユーザーまたはロールは、読み取りアクセス権のある任意のジョブテンプレートを使用するか、任意の実行ロールを使用して、指定された仮想クラスター上で StartJobRun アクションを呼び出すことができます。