AWS のサービスおよびリソースへのアクセス許可を Amazon EMR に付与する IAM サービスロールの設定 - Amazon EMR

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

AWS のサービスおよびリソースへのアクセス許可を Amazon EMR に付与する IAM サービスロールの設定

Amazon EMR およびアプリケーション (Hadoop や Spark など) は、実行時に AWS の他のリソースにアクセスしてアクションを実行するための権限が必要です。Amazon EMR 内の各クラスターは、Amazon EC2 インスタンスプロファイル向けのサービスロールおよびロールが必要です。詳細については、「IAM ユーザーガイド」の「IAMロール」および「インスタンスプロファイルの使用」を参照してください。これらのロールにアタッチされている IAM ポリシーにより、クラスターはユーザーに代わって AWS の他のサービスとやり取りできます。

クラスターで Amazon EMR の自動スケーリングを使用する場合は、追加のロール (Auto Scaling ロール) が必要になります。EMR Notebooks を使用する場合は、EMR Notebooks の AWS サービスロールが必要です。

Amazon EMR は、各ロールのアクセス許可を決定するデフォルトのロールとデフォルトの管理ポリシーを提供します。管理ポリシーは、AWS で作成して管理するため、サービス要件が変更されると自動的に更新されます。「IAM ユーザーガイド」の「AWS 管理ポリシー」を参照してください。

アカウントで初めてクラスターやノートブックを作成する場合、Amazon EMR のロールはまだありません。ロールを作成すると、IAM コンソール (https://console.aws.amazon.com/iam/) でロール、ロールにアタッチされたポリシー、およびポリシーで許可または拒否されるアクセス許可を確認できます。Amazon EMR で作成および使用するデフォルトのロールを指定できます。また、独自のロールを作成して、これをクラスターの作成時に個別に指定してアクセス許可をカスタマイズできます。さらに、AWS CLI を使用してクラスターを作成するときに使用するデフォルトのロールを指定できます。詳細については、「IAM ロールのカスタマイズ」を参照してください。

Amazon EMR にサービスロールを渡すアクセス許可のアイデンティティベースのポリシーの変更

Amazon EMR フルアクセス権限のデフォルトの管理ポリシー (AmazonEMRFullAccessPolicy_v2) と Amazon EMR サービスポリシー (AmazonEMRServicePolicy_v2) と置き換えることができる soon-to-be-deprecated ポリシー。v2 ポリシーには、次を含む新しい iam:PassRole セキュリティ設定が組み込まれています。

  • 特定のデフォルトの Amazon EMR ロール専用の iam:PassRole アクセス許可。

  • elasticmapreduce.amazonaws.comec2.amazonaws.com など、指定した AWS のサービスのみで使用できる iam:PassedToService 条件。

IAM コンソールで AmazonEMRFullAccessPolicy_v2 および AmazonEMRServicePolicy_v2 ポリシーの JSON バージョンを表示できます。

v2 管理ポリシーを使用して新しいクラスターを作成することをお勧めします。

サービスロールの概要

次の表は、Amazon EMR に関連する IAM サービスロールを簡単に参照できる一覧です。

関数 デフォルトロール 説明 デフォルト管理ポリシー

Amazon EMR のサービスロール (EMR ロール)

EMR_DefaultRole

リソースをプロビジョニングしてサービスレベルのアクションを実行する際にユーザーに代わって AWS の他のサービスを呼び出すことを Amazon EMR に許可します。このロールは、すべてのクラスターに必須です。

AmazonElasticMapReduceRole

重要

スポットインスタンスをリクエストするには、サービスにリンクされたロールが必要です。このロールが存在しない場合、EMR サービスロールには、作成するためのアクセス権限が必要です。ない場合はエラーが表示されます。スポットインスタンスをリクエストする場合は、このポリシーを更新して、このサービスにリンクされたロールの作成を許可するステートメントを含める必要があります。詳細については、「Linux インスタンス用 Amazon EC2 ユーザーガイド」の「Amazon EMR のサービスロール (EMR ロール)」および「スポットインスタンスリクエスト向けのサービスにリンクされたロール」を参照してください。

クラスター EC2 インスタンスのサービスロール (EC2 インスタンスプロファイル)

EMR_EC2_DefaultRole

クラスターインスタンスに対して Hadoop エコシステム上で実行されるアプリケーションプロセスは、このロールを使用して AWS の他のサービスを呼び出します。EMRFS を使用して Amazon S3 のデータにアクセスする場合は、Amazon S3 のデータの場所に応じて引き受ける各種ロールを指定できます。例えば、複数のチームが単一の Amazon S3 データ「ストレージアカウント」にアクセスできます。詳細については、「Amazon S3 への EMRFS リクエストの IAM ロールを設定する」を参照してください。このロールは、すべてのクラスターに必須です。

AmazonElasticMapReduceforEC2Role。 詳細については、次を参照してください。クラスター EC2 インスタンスのサービスロール (EC2 インスタンスプロファイル)

EMR のオートスケーリングのサービスロール (Auto Scaling ロール)

EMR_AutoScaling_DefaultRole

動的なスケーリング環境用の追加のアクションを許可します。Amazon EMR でオートスケーリングを使用するクラスターでのみ必須です。詳細については、「カスタムポリシーによる自動スケーリングをインスタンスグループに使用する 」を参照してください。

AmazonElasticMapReduceforAutoScalingRole。 詳細については、次を参照してください。EMR のオートスケーリングのサービスロール (Auto Scaling ロール)

EMR Notebooks のサービスロール

EMR_Notebooks_DefaultRole

EMR Notebooks が AWS の他のリソースにアクセスしてアクションを実行するために必要なアクセス許可を提供します。EMR Notebooks を使用する場合にのみ必須です。

AmazonElasticMapReduceEditorsRole。 詳細については、次を参照してください。EMR Notebooks のサービスロール

S3FullAccessPolicy もデフォルトでアタッチされます。このポリシーの内容は次のとおりです。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "s3:*", "Resource": "*" } ] }

サービスにリンクされたロール

AWSServiceRoleForEMRCleanup

Amazon EMR では、サービスにリンクされたロールが自動的に作成されます。Amazon EMR のサービスが Amazon EC2 リソースをクリーンアップできなくなった場合、Amazon EMR はこのロールを使用してクリーンアップできます。クラスターでスポットインスタンスを使用している場合、Amazon EMR のサービスロール (EMR ロール) にアタッチされているアクセス許可ポリシーは、サービスにリンクされたロールの作成を許可する必要があります。詳細については、「Amazon EMR でのサービスにリンクされたロールのアクセス許可」を参照してください。

AmazonEMRCleanupPolicy