

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 控制对任务模板的访问权限
<a name="iam-job-template"></a>

借助 `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 结合使用](iam-execution-role.md) 中的**控制对执行角色的访问权限**。

如果在上述 `StartJobRun` 操作策略中没有为给定用户或角色指定任何条件，则表示允许该用户或角色使用其具有读取权限的任意任务模板或使用任意执行角色在指定的虚拟集群上调用 `StartJobRun` 操作。