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 にサービスロールを渡すアクセス許可のアイデンティティベースのポリシーの変更
Amazon EMR のフルアクセス許可のデフォルトの管理ポリシーには、次を含む iam:PassRole
セキュリティ設定が組み込まれています。
特定のデフォルトの Amazon EMR ロール専用の
iam:PassRole
アクセス許可。elasticmapreduce.amazonaws.com
やec2.amazonaws.com
など、指定した AWS のサービスのみで使用できるiam:PassedToService
条件。
IAM コンソールで AmazonEMRFullAccessPolicy_v2
サービスロールの概要
次の表は、Amazon EMR に関連する IAM サービスロールを簡単に参照できる一覧です。
機能 | デフォルトロール | 説明 | デフォルト管理ポリシー |
---|---|---|---|
|
リソースをプロビジョニングしてサービスレベルのアクションを実行する際にユーザーに代わって AWS の他のサービスを呼び出すことを Amazon EMR に許可します。このロールは、すべてのクラスターに必須です。 |
重要スポットインスタンスをリクエストするには、サービスリンクロールが必要です。このロールが存在しない場合、Amazon EMR サービスロールには、作成するためのアクセス許可が必要です。ない場合はアクセス許可エラーが発生します。スポットインスタンスをリクエストする場合は、このポリシーを更新して、このサービスにリンクされたロールの作成を許可するステートメントを含める必要があります。詳細については、「Amazon EC2 ユーザーガイド」の「Amazon EMR のサービスロール (EMR ロール)」および「スポットインスタンスリクエスト向けのサービスにリンクされたロール」を参照してください。 |
|
|
クラスターインスタンスに対して Hadoop エコシステム上で実行されるアプリケーションプロセスは、このロールを使用して AWS の他のサービスを呼び出します。EMRFS を使用して Amazon S3 のデータにアクセスする場合は、Amazon S3 のデータの場所に応じて引き受ける各種ロールを指定できます。例えば、複数のチームが単一の Amazon S3 データ「ストレージアカウント」にアクセスできます。詳細については、「Amazon S3 への EMRFS リクエストの IAM ロールを設定する」を参照してください。このロールは、すべてのクラスターに必須です。 |
|
|
|
動的なスケーリング環境用の追加のアクションを許可します。Amazon EMR でオートスケーリングを使用するクラスターでのみ必須です。詳細については、「カスタムポリシーによる自動スケーリングを Amazon EMR のインスタンスグループに使用する」を参照してください。 |
|
|
|
EMR Notebooks が AWS の他のリソースにアクセスしてアクションを実行するために必要なアクセス許可を提供します。EMR Notebooks を使用する場合にのみ必須です。 |
|
|
|
Amazon EMR では、サービスにリンクされたロールが自動的に作成されます。Amazon EMR のサービスが Amazon EC2 リソースをクリーンアップできなくなった場合、Amazon EMR はこのロールを使用してクリーンアップできます。クラスターでスポットインスタンスを使用している場合、Amazon EMR のサービスロール (EMR ロール) にアタッチされているアクセス許可ポリシーは、サービスにリンクされたロールの作成を許可する必要があります。詳細については、「Amazon EMR でのサービスにリンクされたロールの使用」を参照してください。 |
|