Amazon EMR 管理ポリシー - Amazon EMR

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

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 ポリシーの変更点をまとめたものです。

Amazon EMR マネージドポリシーの変更
ポリシータイプ ポリシー名 ポリシーの目的 v2 ポリシーへの変更

デフォルトの EMR サービスロールとアタッチされた管理ポリシー

ロール名: EMR_DefaultRole

V1 ポリシー (廃止予定): AmazonElasticMapReduceロール (EMR サービスロール)

V2 (範囲制限) ポリシー名: AmazonEMRServicePolicy_v2

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

ポリシーは新しいアクセス許可 を追加します"ec2:DescribeInstanceTypeOfferings"。この API オペレーションは、特定のアベイラビリティーゾーンのリストでサポートされているインスタンスタイプのリストを返します。

アタッチされたユーザー、ロール、またはグループによる完全な Amazon EMR アクセスのための IAM 管理ポリシー

V2 (範囲制限) ポリシー名: AmazonEMRServicePolicy_v2

EMR アクションに対する完全なアクセス許可をユーザーに許可します。リソースの iam:PassRole permissions が含まれます。

ポリシーは、ユーザーがこのポリシーを使用する前にリソースにユーザータグを追加する必要があるという前提条件を追加します。管理ポリシーを使用するためにリソースにタグを付ける を参照してください。

iam:PassRole action には、iam:PassedToService condition を指定されたサービスに設定する必要があります。デフォルトでは、Amazon EC2、Amazon S3、およびその他のサービスへのアクセスは許可されていません。「フルアクセス用の IAM 管理ポリシー (v2 管理デフォルトポリシー)」を参照してください。

アタッチされたユーザー、ロール、またはグループによる読み取り専用アクセスのための IAM 管理ポリシー

V1 ポリシー (非推奨化予定): AmazonElasticMapReduceReadOnlyAccess

V2 (範囲制限) ポリシー名: AmazonEMRReadOnlyAccessPolicy_v2

Amazon EMR アクションに対する読み取り専用アクセス許可をユーザーに許可します。

アクセス許可によって、指定された elasticmapreduce の読み取り専用アクションのみが許可されます。Amazon S3 へのアクセスは、デフォルトではアクセスが許可されていません。「読み取り専用アクセス用の IAM 管理ポリシー (v2 管理デフォルトポリシー)」を参照してください。

デフォルトの EMR サービスロールとアタッチされた管理ポリシー

ロール名: EMR_DefaultRole

V1 ポリシー (廃止予定): AmazonElasticMapReduceロール (EMR サービスロール)

V2 (範囲制限) ポリシー名: AmazonEMRServicePolicy_v2

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

v2 サービスロールと v2 デフォルトポリシーは、非推奨のロールとポリシーを置き換えます。このポリシーは、ユーザーがこのポリシーを使用する前にリソースにユーザータグを追加する必要があるという前提条件を追加します。「管理ポリシーを使用するためにリソースにタグを付ける」を参照してください 「Amazon EMR のサービスロール (EMR ロール)」を参照してください

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

V1 ポリシー (廃止予定): EMR_EC2_DefaultRole (インスタンスプロファイル)

廃止されたポリシー名: AmazonElasticMapReduceforEC2Role

EMR クラスターで実行されているアプリケーションが、Amazon S3 などの他の AWS リソースにアクセスできるようにします。例えば、Amazon S3 からのデータを処理する Apache Spark ジョブを実行する場合、ポリシーでそのようなリソースへのアクセスを許可する必要があります。

デフォルトロールとデフォルトポリシーの両方が非推奨予定です。代替の AWS デフォルトのマネージドロールやポリシーはありません。リソースベースまたは ID ベースのポリシーを提供する必要があります。つまり、デフォルトでは、EMR クラスターで実行されているアプリケーションは、ポリシーに手動で追加しない限り、Amazon S3 やその他のリソースにアクセスできません。デフォルトのロールとデフォルトの管理ポリシー を参照してください。

その他の EC2 サービスロールポリシー

現在のポリシー名: AmazonElasticMapReduceforAutoScalingRole、 AmazonElasticMapReduceEditorsRole、AmazonEMRCleanupPolicy

自動スケーリング、ノートブック、または EC2 リソースのクリーンアップを使用する場合に、Amazon EMR が他の AWS リソースにアクセスし、アクションを実行するために必要なアクセス許可を提供します。

v2 で変更はありません。

iam の保護:PassRole

Amazon EMR のフルアクセス許可のデフォルトの管理ポリシーには、次を含む iam:PassRole セキュリティ設定が組み込まれています。

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

  • iam:PassedToService elasticmapreduce.amazonaws.comや などの指定された AWS サービスでのみポリシーを使用できるようにする 条件ec2.amazonaws.com

AmazonEMRFullAccess Policy_v2 および AmazonEMRServicePolicy_v2 ポリシーの JSON バージョンは、IAM コンソールで表示できます。v2 管理ポリシーを使用して新しいクラスターを作成することが推奨されます。

カスタムポリシーを作成するには、管理ポリシーから始め、条件にしたがって編集することをお勧めします。

ユーザー (プリンシパル) にポリシーをアタッチする方法については、「IAM ユーザーガイド」の「Working with managed policies using the AWS Management Console」を参照してください。

管理ポリシーを使用するためにリソースにタグを付ける

AmazonEMRServicePolicy_v2AmazonEMRFullAccess Policy_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 コンソールを再設計しました。新しいコンソールでは自動タグ機能はまだ使用できません。また、新しいコンソールでは、タグ付けが必要なリソース (VPC/サブネット) も表示されません。古いコンソールと新しいコンソールエクスペリエンスの違いの詳細については、「Amazon EMR コンソール」を参照してください。

  • 事前定義のタグを渡す必要はありません。Amazon EMR はタグを自動的に追加し、適切なコンポーネントに伝播します。

  • 手動でタグ付けする必要があるコンポーネントの場合、リソースにタグ付けするのに必要なアクセス許可を持っていれば、古い Amazon EMR コンソールがそれらのコンポーネントに自動的にタグ付けしようとします。リソースにタグ付けするためのアクセス許可を持っていない場合、または新しいコンソールを使用する場合は、管理者にリソースのタグ付けを依頼してください。

  • すべての前提条件が満たされない限り、v2 管理ポリシーを使用してクラスターを起動することはできません。

  • 古い Amazon EMR コンソールには、タグ付けする必要があるリソース (VPC/サブネット) が表示されます。

AWS Amazon EMR の マネージドポリシー

AWS 管理ポリシーは、 によって作成および管理されるスタンドアロンポリシーです AWS。 AWS 管理ポリシーは、多くの一般的なユースケースにアクセス許可を付与するように設計されているため、ユーザー、グループ、ロールにアクセス許可の割り当てを開始できます。

AWS 管理ポリシーは、すべての AWS お客様が使用できるため、特定のユースケースに対して最小特権のアクセス許可を付与しない場合があることに注意してください。ユースケース別にカスタマーマネージドポリシーを定義して、マネージドポリシーを絞り込むことをお勧めします。

AWS 管理ポリシーで定義されているアクセス許可は変更できません。が AWS 管理ポリシーで定義されたアクセス許可 AWS を更新すると、ポリシーがアタッチされているすべてのプリンシパル ID (ユーザー、グループ、ロール) が更新されます。 は、新しい AWS のサービス が起動されたとき、または既存のサービスで新しい API AWS オペレーションが使用可能になったときに、 AWS 管理ポリシーを更新する可能性が最も高くなります。

詳細については、「IAM ユーザーガイド」の「AWS マネージドポリシー」を参照してください。