

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

# Amazon EMR で IAM が機能する仕組み
<a name="security_iam_service-with-iam"></a>

IAM を使用して Amazon EMR へのアクセスを管理する前に、Amazon EMR で使用できる IAM 機能について理解しておく必要があります。


**Amazon EMR で使用できる IAM の機能**  

| IAM 機能 | Amazon EMR サポート | 
| --- | --- | 
|  [アイデンティティベースのポリシー](#security_iam_service-with-iam-id-based-policies)  |   あり  | 
|  [リソースベースのポリシー](#security_iam_service-with-iam-resource-based-policies)  |   はい  | 
|  [ポリシーアクション](#security_iam_service-with-iam-id-based-policies-actions)  |   あり  | 
|  [ポリシーリソース](#security_iam_service-with-iam-id-based-policies-resources)  |   あり  | 
|  [ポリシー条件キー](#security_iam_service-with-iam-id-based-policies-conditionkeys)  |   あり  | 
|  [ACL](#security_iam_service-with-iam-acls)  |   なし   | 
|  [ABAC (ポリシー内のタグ)](#security_iam_service-with-iam-tags)  |  あり  | 
|  [一時的な認証情報](#security_iam_service-with-iam-roles-tempcreds)  |   あり  | 
|  [プリンシパルアクセス権限](#security_iam_service-with-iam-principal-permissions)  |   あり  | 
|  [サービスロール](#security_iam_service-with-iam-roles-service)  | いいえ | 
|  [サービスリンクロール](#security_iam_service-with-iam-roles-service-linked)  |  はい  | 

Amazon EMR およびその他の AWS のサービスがほとんどの IAM 機能と連携する方法の概要については、IAM *ユーザーガイド*の[AWS 「IAM と連携する のサービス](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html)」を参照してください。

## Amazon EMR の ID ベースのポリシー
<a name="security_iam_service-with-iam-id-based-policies"></a>

**アイデンティティベースのポリシーのサポート:** あり

アイデンティティベースポリシーは、IAM ユーザー、ユーザーグループ、ロールなど、アイデンティティにアタッチできる JSON 許可ポリシードキュメントです。これらのポリシーは、ユーザーとロールが実行できるアクション、リソース、および条件をコントロールします。アイデンティティベースポリシーの作成方法については、「*IAM ユーザーガイド*」の「[カスタマー管理ポリシーでカスタム IAM アクセス許可を定義する](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html)」を参照してください。

IAM アイデンティティベースのポリシーでは、許可または拒否するアクションとリソース、およびアクションを許可または拒否する条件を指定できます。JSON ポリシーで使用できるすべての要素について学ぶには、「*IAM ユーザーガイド*」の「[IAM JSON ポリシーの要素のリファレンス](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements.html)」を参照してください。

### Amazon EMR の ID ベースのポリシーの例
<a name="security_iam_service-with-iam-id-based-policies-examples"></a>



Amazon EMR のアイデンティティベースポリシーの例を確認するには、「[Amazon EMR のアイデンティティベースポリシーの例](security_iam_id-based-policy-examples.md)」を参照してください。

## Amazon EMR 内のリソースベースのポリシー
<a name="security_iam_service-with-iam-resource-based-policies"></a>

**リソースベースのポリシーのサポート:** あり

リソースベースのポリシーは、リソースに添付する JSON ポリシードキュメントです。リソースベースのポリシーには例として、IAM *ロールの信頼ポリシー*や Amazon S3 *バケットポリシー*があげられます。リソースベースのポリシーをサポートするサービスでは、サービス管理者はポリシーを使用して特定のリソースへのアクセスをコントロールできます。ポリシーがアタッチされているリソースの場合、指定されたプリンシパルがそのリソースに対して実行できるアクションと条件は、ポリシーによって定義されます。リソースベースのポリシーで、[プリンシパルを指定する](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html)必要があります。プリンシパルには、アカウント、ユーザー、ロール、フェデレーティッドユーザー、または を含めることができます AWS のサービス。

クロスアカウントアクセスを有効にするには、全体のアカウント、または別のアカウントの IAM エンティティを、リソースベースのポリシーのプリンシパルとして指定します。詳細については、IAM ユーザーガイド**の[IAM でのクロスアカウントリソースアクセス](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-cross-account-resource-access.html)を参照してください。

## Amazon EMR のポリシーアクション
<a name="security_iam_service-with-iam-id-based-policies-actions"></a>

**ポリシーアクションのサポート:** あり

管理者は JSON AWS ポリシーを使用して、誰が何にアクセスできるかを指定できます。つまり、どの**プリンシパル**がどの**リソース**に対してどのような**条件下で****アクション**を実行できるかということです。

JSON ポリシーの `Action` 要素にはポリシー内のアクセスを許可または拒否するために使用できるアクションが記述されます。このアクションは関連付けられたオペレーションを実行するためのアクセス許可を付与するポリシーで使用されます。



Amazon EMR のアクションのリストについては、「*サービス認可リファレンス*」の「[Actions, resources, and condition keys for Amazon EMR](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonemroneksemrcontainers.html)」を参照してください。

Amazon EMR のポリシーアクションは、アクションの前に次のプレフィックスを使用します。

```
EMR
```

単一のステートメントで複数のアクションを指定するには、アクションをカンマで区切ります。

```
"Action": [
      "EMR:action1",
      "EMR:action2"
         ]
```





Amazon EMR のアイデンティティベースポリシーの例を確認するには、「[Amazon EMR のアイデンティティベースポリシーの例](security_iam_id-based-policy-examples.md)」を参照してください。

## Amazon EMR のポリシーリソース
<a name="security_iam_service-with-iam-id-based-policies-resources"></a>

**ポリシーリソースのサポート:** あり

管理者は JSON AWS ポリシーを使用して、誰が何にアクセスできるかを指定できます。つまり、どの**プリンシパル**がどの**リソース**に対してどのような**条件**下で**アクション**を実行できるかということです。

`Resource` JSON ポリシー要素はアクションが適用されるオブジェクトを指定します。ベストプラクティスとして、[Amazon リソースネーム (ARN)](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference-arns.html) を使用してリソースを指定します。リソースレベルのアクセス許可をサポートしないアクションの場合は、ステートメントがすべてのリソースに適用されることを示すために、ワイルドカード (\$1) を使用します。

```
"Resource": "*"
```

Amazon EMR リソースのタイプとその ARN のリストについては、「*サービス認可リファレンス*」の「[Resources Defined by Amazon EMR](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonelasticmapreduce.html#amazonelasticmapreduce-resources-for-iam-policies)」を参照してください。各リソースの ARN を指定できるアクションについては、「[Actions, resources, and condition keys for Amazon EMR](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonemroneksemrcontainers.html)」を参照してください。





Amazon EMR のアイデンティティベースポリシーの例を確認するには、「[Amazon EMR のアイデンティティベースポリシーの例](security_iam_id-based-policy-examples.md)」を参照してください。

## Amazon EMR のポリシー条件キー
<a name="security_iam_service-with-iam-id-based-policies-conditionkeys"></a>

**サービス固有のポリシー条件キーのサポート:** あり

管理者は JSON AWS ポリシーを使用して、誰が何にアクセスできるかを指定できます。つまり、どの**プリンシパル**がどの**リソース**に対してどのような**条件下で****アクション**を実行できるかということです。

`Condition` 要素は、定義された基準に基づいてステートメントが実行される時期を指定します。イコールや未満などの[条件演算子](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html)を使用して条件式を作成して、ポリシーの条件とリクエスト内の値を一致させることができます。すべての AWS グローバル条件キーを確認するには、*「IAM ユーザーガイド*」の[AWS 「グローバル条件コンテキストキー](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html)」を参照してください。

Amazon EMR の条件キーのリスト、および条件キーを使用できるアクションとリソースについては、「*サービス認可リファレンス*」の「[Actions, resources, and condition keys for Amazon EMR](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonemroneksemrcontainers.html)」を参照してください。

Amazon EMR のアイデンティティベースポリシーの例を確認するには、「[Amazon EMR のアイデンティティベースポリシーの例](security_iam_id-based-policy-examples.md)」を参照してください。

## Amazon EMR のアクセスコントロールリスト (ACL)
<a name="security_iam_service-with-iam-acls"></a>

**ACL のサポート:** なし 

アクセスコントロールリスト (ACL) は、どのプリンシパル (アカウントメンバー、ユーザー、またはロール) がリソースにアクセスするためのアクセス許可を持つかを制御します。ACL はリソースベースのポリシーに似ていますが、JSON ポリシードキュメント形式は使用しません。

## Amazon EMR での属性ベースのアクセスコントロール (ABAC)
<a name="security_iam_service-with-iam-tags"></a>


|  |  | 
| --- |--- |
| ABAC のサポート (ポリシー内のタグ) | はい | 

属性ベースのアクセス制御 (ABAC) は、タグと呼ばれる属性に基づいてアクセス許可を定義する認可戦略です。IAM エンティティと AWS リソースにタグをアタッチし、プリンシパルのタグがリソースのタグと一致するときにオペレーションを許可するように ABAC ポリシーを設計できます。

タグに基づいてアクセスを管理するには、`aws:ResourceTag/key-name`、`aws:RequestTag/key-name`、または `aws:TagKeys` の条件キーを使用して、ポリシーの[条件要素](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html)でタグ情報を提供します。

サービスがすべてのリソースタイプに対して 3 つの条件キーすべてをサポートする場合、そのサービスの値は**あり**です。サービスが一部のリソースタイプに対してのみ 3 つの条件キーのすべてをサポートする場合、値は「**部分的**」になります。

ABAC の詳細については、「*IAM ユーザーガイド*」の「[ABAC 認可でアクセス許可を定義する](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction_attribute-based-access-control.html)」を参照してください。ABAC をセットアップする手順を説明するチュートリアルについては、「*IAM ユーザーガイド*」の「[属性ベースのアクセスコントロール (ABAC) を使用する](https://docs.aws.amazon.com/IAM/latest/UserGuide/tutorial_attribute-based-access-control.html)」を参照してください。

## Amazon EMR での一時認証情報の使用
<a name="security_iam_service-with-iam-roles-tempcreds"></a>

**一時的な認証情報のサポート:** あり

一時的な認証情報は、 AWS リソースへの短期的なアクセスを提供し、フェデレーションまたは切り替えロールを使用する場合に自動的に作成されます。 AWS では、長期的なアクセスキーを使用する代わりに、一時的な認証情報を動的に生成することをお勧めします。詳細については、「*IAM ユーザーガイド*」の「[IAM の一時的な認証情報](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp.html)」および「[AWS のサービス と IAM との連携](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html)」を参照してください。

## Amazon EMR のクロスサービスプリンシパルのアクセス許可
<a name="security_iam_service-with-iam-principal-permissions"></a>

**転送アクセスセッション (FAS) のサポート:** あり

 転送アクセスセッション (FAS) は、 を呼び出すプリンシパルのアクセス許可と AWS のサービス、ダウンストリームサービス AWS のサービス へのリクエストをリクエストする を使用します。FAS リクエストを行う際のポリシーの詳細については、「[転送アクセスセッション](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_forward_access_sessions.html)」を参照してください。

## Amazon EMR のサービスロール
<a name="security_iam_service-with-iam-roles-service"></a>


|  |  | 
| --- |--- |
| サービスロールのサポート | いいえ | 

## Amazon EMR のサービスリンクロール
<a name="security_iam_service-with-iam-roles-service-linked"></a>


|  |  | 
| --- |--- |
| サービスリンクロールのサポート | Yes | 

サービスにリンクされたロールの作成または管理の詳細については、「[IAM と提携するAWS のサービス](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html)」を参照してください。表の「**サービスリンクロール**」列に `Yes` と記載されたサービスを見つけます。サービスにリンクされたロールに関するドキュメントをサービスで表示するには、**[はい]** リンクを選択します。

## IAM ポリシーを持つクラスターとノートブックのタグをアクセスコントロールに使用する
<a name="emr-tag-based-access"></a>

EMR Notebooks および EMR クラスターに関連した Amazon EMR アクションに対する許可は、アイデンティティベースの IAM ポリシーを用いたタグベースのアクセスコントロールを使用して調整できます。ノートブック、クラスター、またはその両方に特定のタグキーまたはキーと値の組み合わせがある場合にのみ特定のアクションを許可するには、`Condition` 要素 (`Condition` ブロックとも呼ばれる) 内で*条件キー*を使用できます。`CreateEditor` アクション (EMR Notebooks が作成される)、`RunJobFlow` アクション (クラスターが作成される) を制限することもできます。これにより、タグに対するリクエストが、リソースの作成時に送信されなければならないようにすることができます。

Amazon EMR では、`Condition` 要素で使用できる条件キーは、リクエストパラメータとして `ClusterID` または `NotebookID` を必要とする Amazon EMR API アクションにのみ適用されます。たとえば、[ModifyInstanceGroups](https://docs.aws.amazon.com/ElasticMapReduce/latest/API/API_ModifyInstanceGroups.html) アクションはコンテキストキーをサポートしません。`ClusterID` はオプションのパラメータではないからです。

EMR ノートブックを作成すると、デフォルトのタグが適用されます。このタグのキー文字列は `creatorUserId` で、ノートブックを作成した IAM ユーザー ID の値に設定されています。ノートブックに対して許可されるアクションを作成者のみに制限するのに便利です。

Amazon EMR で次の条件キーを使用できます。
+ `elasticmapreduce:ResourceTag/TagKeyString` 条件コンテキストキーを使用して、指定した `TagKeyString` のあるタグを持つクラスターまたはノートブックのユーザーアクションを許可または拒否します。`ClusterID` と `NotebookID` の両方を渡す場合、条件がクラスターとノートブッククラスターの両方に適用されます。つまり、両方のリソースに、タグキー文字または指定するキーと値の組み合わせが必要です。`Resource` 要素を使用してステートメントを制限できるため、必要に応じてクラスターまたはノートブックにのみ適用されます。詳細については、「[Amazon EMR のアイデンティティベースポリシーの例](security_iam_id-based-policy-examples.md)」を参照してください。
+ アクション/API コールを持つ特定のタグを必要としている `elasticmapreduce:RequestTag/TagKeyString` 条件コンテキストキーを使用します。たとえば、この条件コンテキストキーとともに `CreateEditor` アクションを使用して、`TagKeyString` を持つキーがノートブック作成時に適用されるよう要求することができます。

## 例
<a name="security_iam_service-with-iam-id-based-policies-examples"></a>

Amazon EMR アクションのリストを確認するには、「*IAM ユーザーガイド*」の「[Amazon EMR で定義されるアクション](https://docs.aws.amazon.com/IAM/latest/UserGuide/list_amazonelasticmapreduce.html#amazonelasticmapreduce-actions-as-permissions)」を参照してください。