翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Amazon EMR 管理ポリシー
必要な Amazon EMR アクションにフルアクセスまたは読み取り専用アクセスを付与する最も簡単な方法は、Amazon EMR の IAM 管理ポリシーを使用することです。管理ポリシーは、アクセス権限の条件が変更された場合に、自動的に更新されるというメリットを提供します。インラインポリシーを使用する場合は、サービスの変更によってアクセス許可エラーが発生する場合があります。
Amazon EMR は、新しい管理ポリシー (v2 ポリシー) を優先して、既存の管理ポリシー (v1 ポリシー) を廃止します。新しい マネージドポリシーは、 AWS ベストプラクティスに合わせてスコープダウンされています。既存の v1 管理ポリシーが廃止されると、これらのポリシーを新しい IAM ロールまたはユーザーにアタッチできなくなります。廃止されたポリシーを使用している既存のロールおよびユーザーは、それらを引き続き使用できます。v2 管理ポリシーは、タグを使用してアクセスを制限します。指定された Amazon EMR アクションのみが許可され、EMR 固有のキーでタグ付けされたクラスターリソースが必要です。新しい v2 ポリシーを使用する前に、ドキュメントを慎重に確認することをお勧めします。
v1 ポリシーには非推奨のマークが付けられ、IAM コンソールの [Policies] (ポリシー) リストの横に警告アイコンとともに表示されます。非推奨ポリシーには、次の特徴があります。
-
現在アタッチされているすべてのユーザー、グループ、およびロールで引き続き機能します。中断される処理はありません。
-
新しいユーザー、グループ、またはロールにアタッチすることはできません。現在のエンティティからポリシーのいずれかをデタッチした場合、再アタッチすることはできません。
-
現在のすべてのエンティティから v1 ポリシーをデタッチすると、ポリシーは表示されなくなり、使用できなくなります。
次の表は、現在のポリシー (v1) ポリシーと v2 ポリシーの変更点をまとめたものです。
ポリシータイプ | ポリシー名 | ポリシーの目的 | v2 ポリシーへの変更 |
---|---|---|---|
デフォルトの EMR サービスロールとアタッチされた管理ポリシー |
ロール名: EMR_DefaultRole V1 ポリシー (非推奨化予定): AmazonElasticMapReduceRole (EMR サービスロール) V2 (範囲制限) ポリシー名: AmazonEMRServicePolicy_v2 |
リソースをプロビジョニングし AWS 、サービスレベルのアクションを実行するときに、Amazon EMR がユーザーに代わって他の サービスを呼び出すことを許可します。このロールは、すべてのクラスターに必須です。 |
ポリシーは新しいアクセス許可 |
アタッチされたユーザー、ロール、またはグループによる完全な Amazon EMR アクセスのための IAM 管理ポリシー |
V2 (範囲制限) ポリシー名: AmazonEMRServicePolicy_v2 |
EMR アクションに対する完全なアクセス許可をユーザーに許可します。リソースに対する iam:PassRole アクセス許可が含まれます。 |
ポリシーは、ユーザーがこのポリシーを使用する前にリソースにユーザータグを追加する必要があるという前提条件を追加します。「管理ポリシーを使用するためにリソースにタグを付ける」を参照してください。 iam:PassRole アクションでは、指定されたサービスに iam:PassedToService 条件を設定する必要があります。デフォルトでは、Amazon EC2、Amazon S3、およびその他のサービスへのアクセスは許可されていません。「フルアクセス用の IAM 管理ポリシー (v2 管理デフォルトポリシー)」を参照してください。 |
アタッチされたユーザー、ロール、またはグループによる読み取り専用アクセスのための IAM 管理ポリシー |
V1 ポリシー (非推奨化予定): AmazonElasticMapReduceReadOnlyAccess V2 (範囲制限) ポリシー名: AmazonEMRReadOnlyAccessPolicy_v2 |
Amazon EMR アクションに対する読み取り専用アクセス許可をユーザーに許可します。 |
アクセス許可によって、指定された elasticmapreduce の読み取り専用アクションのみが許可されます。Amazon S3 へのアクセスは、デフォルトではアクセスが許可されていません。「読み取り専用アクセス用の IAM 管理ポリシー (v2 管理デフォルトポリシー)」を参照してください。 |
デフォルトの EMR サービスロールとアタッチされた管理ポリシー |
ロール名: EMR_DefaultRole V1 ポリシー (非推奨化予定): AmazonElasticMapReduceRole (EMR サービスロール) V2 (範囲制限) ポリシー名: AmazonEMRServicePolicy_v2 |
リソースをプロビジョニングし AWS 、サービスレベルのアクションを実行するときに、Amazon EMR がユーザーに代わって他の サービスを呼び出すことを許可します。このロールは、すべてのクラスターに必須です。 |
v2 サービスロールと v2 デフォルトポリシーは、非推奨のロールとポリシーを置き換えます。このポリシーは、ユーザーがこのポリシーを使用する前にリソースにユーザータグを追加する必要があるという前提条件を追加します。「」を参照してください管理ポリシーを使用するためにリソースにタグを付ける 「」を参照してくださいAmazon EMR のサービスロール (EMR ロール) |
クラスター EC2 インスタンスのサービスロール (EC2 インスタンスプロファイル) |
ロール名: EMR_EC2_DefaultRole 非推奨のポリシー名:AmazonElasticMapReduceforEC2Role |
EMR クラスターで実行されているアプリケーションが、Amazon S3 などの他の AWS リソースにアクセスできるようにします。例えば、Amazon S3 からのデータを処理する Apache Spark ジョブを実行する場合、ポリシーでそのようなリソースへのアクセスを許可する必要があります。 |
デフォルトロールとデフォルトポリシーの両方が非推奨予定です。代替の AWS デフォルトのマネージドロールまたはポリシーはありません。リソースベースまたは ID ベースのポリシーを提供する必要があります。つまり、デフォルトでは、EMR クラスターで実行されているアプリケーションは、ポリシーに手動で追加しない限り、Amazon S3 やその他のリソースにアクセスできません。「デフォルトのロールとデフォルトの管理ポリシー」を参照してください。 |
その他の EC2 サービスロールポリシー |
現在のポリシー名: AmazonElasticMapReduceforAutoScalingRole、AmazonElasticMapReduceEditorsRole, AmazonEMRCleanupPolicy |
Amazon EMR が他の AWS リソースにアクセスし、アクションを実行するため (自動スケーリング、ノートブックを使用する場合)、または EC2 リソースをクリーンアップするために必要なアクセス許可を提供します。 |
v2 で変更はありません。 |
iam:PassRole の保護
Amazon EMR のフルアクセス許可のデフォルトの管理ポリシーには、次を含む iam:PassRole
セキュリティ設定が組み込まれています。
特定のデフォルトの Amazon EMR ロール専用の
iam:PassRole
アクセス許可。iam:PassedToService
elasticmapreduce.amazonaws.com
や など、指定された AWS サービスでのみポリシーを使用できるようにする 条件ec2.amazonaws.com
。
IAM コンソールで AmazonEMRFullAccessPolicy_v2
カスタムポリシーを作成するには、管理ポリシーから始め、条件にしたがって編集することをお勧めします。
ユーザー (プリンシパル) にポリシーをアタッチする方法については、「IAM ユーザーガイド」の「Working with managed policies using the AWS Management Console」を参照してください。
管理ポリシーを使用するためにリソースにタグを付ける
AmazonEMRServicePolicy_v2 および AmazonEMRFullAccessPolicy_v2 は、Amazon EMR がプロビジョニングまたは使用するリソースへの範囲が制限されたアクセス権限に依存します。事前に定義されたユーザータグが関連付けられているリソースのみにアクセスを制限することで、範囲制限を行います。これらの 2 つのポリシーのいずれかを使用する場合は、クラスターをプロビジョニングする際に、事前定義のユーザータグ for-use-with-amazon-emr-managed-policies =
true
を渡す必要があります。Amazon EMR はそのタグを自動的に伝播します。さらに、次のセクションにリストされているリソースにユーザータグを追加する必要があります。Amazon EMR コンソールを使用してクラスターを起動する場合は、「Amazon EMR コンソールで v2 管理ポリシーを使用してクラスターを起動する際の考慮事項」を参照してください。
管理ポリシーを使用するには、CLI、SDK、またはその他の方法を使用してクラスターをプロビジョニングする際に、ユーザータグ for-use-with-amazon-emr-managed-policies = true
を渡します。
タグを渡すと、Amazon EMR は、作成したプライベートサブネット ENI、EC2 インスタンス、および EBS ボリュームにタグを伝播します。Amazon EMR は、作成するセキュリティグループにも自動的にタグ付けします。ただし、特定のセキュリティグループで Amazon EMR を起動するには、タグを付ける必要があります。Amazon EMR によって作成されていないリソースの場合は、それらのリソースにタグを追加する必要があります。例えば、Amazon EC2 サブネット、EC2 セキュリティグループ (Amazon EMR によって作成されていない場合)、VPC (Amazon EMR でセキュリティグループを作成する場合) にタグを付ける必要があります。VPC で v2 管理ポリシーを使用してクラスターを起動するには、事前定義のユーザータグでそれらの VPC にタグを付ける必要があります。「Amazon EMR コンソールで v2 管理ポリシーを使用してクラスターを起動する際の考慮事項」を参照してください。
伝播されたユーザー指定のタグ付け
Amazon EMR は、クラスターの作成時に指定した Amazon EMR タグを使用して、作成したリソースにタグを付けます。Amazon EMR は、クラスターの存続期間中に作成したリソースにタグを適用します。
Amazon EMR は、次のリソースのユーザータグを伝播します。
-
プライベートサブネット ENI (サービスアクセス Elastic Network Interface)
-
EC2 インスタンス
-
EBS ボリューム
-
EC2 起動テンプレート
自動的にタグ付けされたセキュリティグループ
Amazon EMR は、create cluster コマンドで指定したタグに関係なく、Amazon EMR の v2 管理ポリシーに必要なタグ for-use-with-amazon-emr-managed-policies
を使用して、作成した EC2 セキュリティグループにタグ付けします。v2 管理ポリシーの導入前に作成されたセキュリティグループの場合、Amazon EMR はセキュリティグループに自動的にタグを付けません。アカウントにすでに存在するデフォルトのセキュリティグループで v2 管理ポリシーを使用する場合は、for-use-with-amazon-emr-managed-policies = true
を使用して、セキュリティグループに手動でタグを付ける必要があります。
手動でタグ付けされたクラスターリソース
Amazon EMR のデフォルトロールからアクセスできるように、一部のクラスターリソースに手動でタグ付けする必要があります。
-
Amazon EMR 管理ポリシータグ
for-use-with-amazon-emr-managed-policies
を使用して、EC2 セキュリティグループと EC2 サブネットに手動でタグ付けする必要があります。 -
Amazon EMR でデフォルトのセキュリティグループを作成する場合は、VPC に手動でタグ付けする必要があります。EMR は、デフォルトのセキュリティグループがまだ存在しない場合、特定のタグを使用してセキュリティグループを作成しようとします。
Amazon EMR は、次のリソースに自動的にタグ付けします。
-
EMR が作成した EC2 セキュリティグループ
次のリソースに手動でタグ付けを行う必要があります。
-
EC2 サブネット
-
EC2 セキュリティグループ
必要に応じて、次のリソースに手動でタグ付けできます。
-
VPC - Amazon EMR でセキュリティグループを作成する場合のみ
Amazon EMR コンソールで v2 管理ポリシーを使用してクラスターを起動する際の考慮事項
Amazon EMR コンソールで v2 管理ポリシーを使用してクラスターをプロビジョニングできます。コンソールを使用して Amazon EMR クラスターを起動する場合の考慮事項を以下にいくつか示します。
-
事前定義のタグを渡す必要はありません。Amazon EMR はタグを自動的に追加し、適切なコンポーネントに伝播します。
-
手動でタグ付けする必要があるコンポーネントの場合、リソースにタグ付けするのに必要なアクセス許可を持っていれば、古い Amazon EMR コンソールがそれらのコンポーネントに自動的にタグ付けしようとします。リソースにタグ付けするためのアクセス許可を持っていない場合、またはコンソールを使用する場合は、管理者にリソースのタグ付けを依頼してください。
-
すべての前提条件が満たされない限り、v2 管理ポリシーを使用してクラスターを起動することはできません。
-
古い Amazon EMR コンソールには、タグ付けする必要があるリソース (VPC/サブネット) が表示されます。
AWS Amazon EMR の マネージドポリシー
AWS 管理ポリシーは、 によって作成および管理されるスタンドアロンポリシーです AWS。 AWS 管理ポリシーは、多くの一般的なユースケースにアクセス許可を付与するように設計されているため、ユーザー、グループ、ロールにアクセス許可の割り当てを開始できます。
AWS 管理ポリシーは、すべての AWS お客様が使用できるため、特定のユースケースに対して最小特権のアクセス許可を付与しない場合があることに注意してください。ユースケースに固有のカスタマー管理ポリシーを定義して、アクセス許可を絞り込むことをお勧めします。
AWS 管理ポリシーで定義されているアクセス許可は変更できません。が AWS 管理ポリシーで定義されたアクセス許可 AWS を更新すると、ポリシーがアタッチされているすべてのプリンシパル ID (ユーザー、グループ、ロール) に影響します。 AWS は、新しい AWS のサービス が起動されたとき、または既存のサービスで新しい API オペレーションが利用可能になったときに、 AWS 管理ポリシーを更新する可能性が最も高くなります。
詳細については「IAM ユーザーガイド」の「AWS マネージドポリシー」を参照してください。