

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

# 設定服務和資源的 Amazon EMR 許可的 IAM AWS 服務角色
<a name="emr-iam-roles"></a>

Amazon EMR 和應用程式 (例如 Hadoop 和 Spark) 需要許可，才可存取其他 AWS 資源和在它們執行時執行動作。Amazon EMR 中的每個叢集都必須有*服務角色*和適用於 Amazon EC2 *執行個體設定檔*的角色。如需詳細資訊，請參閱《IAM 使用者指南》**中的 [IAM 角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html)和[使用執行個體設定檔](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-ec2_instance-profiles.html)。附接至這些角色的 IAM 政策提供對叢集的許可，可代表使用者與其他 AWS 服務相互運作。

如果您的叢集在 Amazon EMR 中使用自動擴展，則需要額外的角色 (Auto Scaling 角色)。如果您使用 EMR Notebooks，則需要 EMR Notebooks AWS 的服務角色。

Amazon EMR 為決定每個角色的許可提供預設角色和預設受管政策。受管政策由 建立和維護 AWS，因此會在服務需求變更時自動更新。請參閱《IAM 使用者指南》**中的 [AWS 受管政策](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#aws-managed-policies.html)。

如果您是第一次在帳戶中建立叢集或筆記本，Amazon EMR 的角色尚未存在。在您建立它們後，您可以檢視角色、附接至他們的政策，以及政策在 IAM 主控台 ([https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)) 中允許或拒絕的許可。您可以指定要讓 Amazon EMR 建立和使用的預設角色，可以在建立叢集以自訂許可時建立自己的角色並個別指定，也可以指定使用 AWS CLI建立叢集時要使用的預設角色。如需詳細資訊，請參閱[使用 Amazon EMR 自訂 IAM 角色](emr-iam-roles-custom.md)。

## 修改身分型政策以許可傳遞 Amazon EMR 的服務角色
<a name="emr-iam-roles-passrole"></a>

Amazon EMR 完整許可預設受管政策包含 `iam:PassRole` 安全組態，包括下列項目：
+ 僅適用於特定預設 Amazon EMR 角色的 `iam:PassRole` 許可。
+ `iam:PassedToService` 條件，可讓您僅將政策與指定的 AWS 服務搭配使用，例如 `elasticmapreduce.amazonaws.com`和 `ec2.amazonaws.com`。

您可以在 IAM 主控台中檢視 [AmazonEMRFullAccessPolicy\_v2](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/service-role/AmazonEMRFullAccessPolicy_v2) 和 [AmazonEMRServicePolicy\_v2](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/service-role/AmazonEMRServicePolicy_v2) 政策的 JSON 版本。建議您建立具有 v2 受管政策的新叢集。

## 服務角色摘要
<a name="emr-iam-roles-summary"></a>

下表列出與 Amazon EMR 關聯的 IAM 服務角色以供快速參考。


| 函式 | 預設角色 | Description | 預設受管政策 | 
| --- | --- | --- | --- | 
| [Amazon EMR 的服務角色 (EMR 角色)](emr-iam-role.md) | `EMR_DefaultRole_V2` | 允許 Amazon EMR 在佈建資源和執行 AWS 服務層級動作時代表您呼叫其他 服務。所有叢集皆需要這個角色。 | `AmazonEMRServicePolicy_v2` 請求 Spot 執行個體需要服務連結角色。如果此角色不存在，則 Amazon EMR 服務角色必須有建立它的許可，否則會發生許可錯誤。如果計劃請求 Spot 執行個體，您必須更新此政策，以包含允許建立此服務連結角色的陳述式。如需詳細資訊，請參閱《*Amazon EC2 使用者指南*》中的 Spot 執行個體請求[Amazon EMR 的服務角色 (EMR 角色)](emr-iam-role.md)的服務連結角色。 [https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-requests.html#service-linked-roles-spot-instance-requests](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-requests.html#service-linked-roles-spot-instance-requests)  | 
| [叢集 EC2 執行個體的服務角色 (EC2 執行個體設定檔)](emr-iam-role-for-ec2.md) | `EMR_EC2_DefaultRole` | 在叢集執行個體上的 Hadoop 生態系統上執行的應用程式程序，會在呼叫其他 AWS 服務時使用此角色。對於使用 EMRFS 在 Amazon S3 中存取資料，您可以根據 Amazon S3 中的資料位置指定要擔任的不同角色。例如，多個團隊可存取單一 Amazon S3 資料「儲存帳戶」。如需詳細資訊，請參閱[設定向 Amazon S3 請求使用 EMRFS 的 IAM 角色](emr-emrfs-iam-roles.md)。所有叢集皆需要這個角色。 | `AmazonElasticMapReduceforEC2Role`。如需詳細資訊，請參閱 [叢集 EC2 執行個體的服務角色 (EC2 執行個體設定檔)](emr-iam-role-for-ec2.md)。 | 
| [Amazon EMR 中自動擴展的服務角色 (Auto Scaling 角色)](emr-iam-role-automatic-scaling.md) | `EMR_AutoScaling_DefaultRole` | 可允許其他動作來動態擴展環境。對於在 Amazon EMR 中使用自動擴展的叢集才需要此項目。如需詳細資訊，請參閱[使用自動擴展搭配 Amazon EMR 中執行個體群組的自訂政策](emr-automatic-scaling.md)。 | `AmazonElasticMapReduceforAutoScalingRole`。如需詳細資訊，請參閱 [Amazon EMR 中自動擴展的服務角色 (Auto Scaling 角色)](emr-iam-role-automatic-scaling.md)。 | 
| [EMR Notebooks 的服務角色](emr-managed-notebooks-service-role.md) | `EMR_Notebooks_DefaultRole` | 提供 EMR 筆記本存取其他 AWS 資源和執行動作所需的許可。僅在使用 EMR Notebooks 時才需要此項目。 | `AmazonElasticMapReduceEditorsRole`。如需詳細資訊，請參閱 [EMR Notebooks 的服務角色](emr-managed-notebooks-service-role.md)。<br />根據預設，也會連接 `S3FullAccessPolicy`。以下是此政策的內容。  JSON   

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "s3:*"
      ],
      "Resource": [
        "*"
      ],
      "Sid": "AllowS3"
    }
  ]
}
```     | 
| [服務連結角色](using-service-linked-roles.md) | `AWSServiceRoleForEMRCleanup` | Amazon EMR 會自動建立服務連結角色。如果 Amazon EMR 服務已失去清除 Amazon EC2 資源的能力，Amazon EMR 可以使用此角色來清除。如果叢集使用 Spot 執行個體，連接到 [Amazon EMR 的服務角色 (EMR 角色)](emr-iam-role.md) 的許可政策必須允許建立服務連結角色。如需詳細資訊，請參閱[使用 Amazon EMR 的服務連結角色](using-service-linked-roles.md)。 | `AmazonEMRCleanupPolicy` | 

**Topics**
+ [修改身分型政策以許可傳遞 Amazon EMR 的服務角色](#emr-iam-roles-passrole)
+ [服務角色摘要](#emr-iam-roles-summary)
+ [Amazon EMR 使用的 IAM 服務角色](emr-iam-service-roles.md)
+ [使用 Amazon EMR 自訂 IAM 角色](emr-iam-roles-custom.md)
+ [設定向 Amazon S3 請求使用 EMRFS 的 IAM 角色](emr-emrfs-iam-roles.md)
+ [使用資源型政策來存取 AWS Glue Data Catalog](emr-iam-roles-glue.md)
+ [將 IAM 角色與直接呼叫 AWS 服務的應用程式搭配使用](emr-iam-roles-calling.md)
+ [允許使用者和群組以建立和修改角色](emr-iam-roles-create-permissions.md)