IAM ロールをカスタマイズする - Amazon EMR

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

IAM ロールをカスタマイズする

IAM サービスロールとアクセス許可をカスタマイズして、セキュリティ要件に応じて権限を制限することもできます。アクセス許可をカスタマイズするには、新しいロールおよびポリシーを作成することをお勧めします。まず、デフォルトのロール (AmazonElasticMapReduceforEC2RoleAmazonElasticMapReduceRole) の管理ポリシーのアクセス許可を確認します。次に、内容をコピーして新しいポリシーステートメントに貼り付け、必要に応じてアクセス許可を変更します。変更したアクセス許可ポリシーを、作成したロールにアタッチします。ロールとポリシーを使用するには、適切なIAMアクセス許可が必要です。詳細については、「ユーザーおよびグループによるロールの作成および変更を許可する」を参照してください。

のカスタムEMRロールを作成する場合はEC2、同じ名前のインスタンスプロファイルを自動的に作成する基本的なワークフローに従います。Amazon EC2 では、異なる名前のインスタンスプロファイルとロールを作成できますが、Amazon EMR はこの設定をサポートしていないため、クラスターの作成時に「無効なインスタンスプロファイル」エラーが発生します。

重要

サービス要件が変更されても、インラインポリシーは自動的に更新されません。インラインポリシーを作成およびアタッチすると、サービスの更新によって突然アクセス許可エラーが発生することがあるので注意してください。詳細については、「 ユーザーガイド」の「 管理ポリシーとインラインポリシーIAM」および「」を参照してくださいクラスターの作成時にカスタムIAMロールを指定する

IAM ロールの操作の詳細については、 IAMユーザーガイドの以下のトピックを参照してください。

クラスターの作成時にカスタムIAMロールを指定する

クラスターの作成時に、Amazon のサービスロールEMRと Amazon EC2インスタンスプロファイルのロールを指定します。クラスターを作成するユーザーには、ロールを取得して Amazon およびEMREC2インスタンスに割り当てるアクセス許可が必要です。それ以外の場合、アカウントは呼び出しエラーが発生する権限がありませんEC2。詳細については、「ユーザーおよびグループによるロールの作成および変更を許可する」を参照してください。

コンソールを使用してカスタムロールを指定する

クラスターを作成するときは、Amazon のカスタムサービスロールEMR、EC2インスタンスプロファイルのカスタムロール、および高度なオプション を使用してカスタム Auto Scaling ロールを指定できます。クイックオプション を使用すると、EC2インスタンスプロファイルのデフォルトのサービスロールとデフォルトのロールが指定されます。詳細については、「IAM Amazon が使用する サービスロール EMR」を参照してください。

Console
コンソールでカスタムIAMロールを指定するには

コンソールでクラスターを作成するときは、Amazon のカスタムサービスロールEMRとEC2インスタンスプロファイルのカスタムロールを指定する必要があります。詳細については、「IAM Amazon が使用する サービスロール EMR」を参照してください。

  1. にサインインする AWS Management Consoleで、https://console.aws.amazon.com/emr で Amazon EMRコンソールを開きます。

  2. 左側のナビゲーションペインの EMRでEC2クラスター を選択し、クラスターの作成 を選択します。

  3. 「セキュリティ設定とアクセス許可IAM」で、インスタンスプロファイルのロールAmazon フィールドのサービスロールEMRを見つけます。各ロールタイプで、リストからロールを選択します。アカウント内のロールで、そのロールタイプに適切な信頼ポリシーが指定されているもののみ表示されます。

  4. クラスターに適用するその他のオプションを選択します。

  5. クラスターを起動するには、[クラスターの作成] を選択します。

を使用する AWS CLI カスタムロールを指定するには

Amazon のサービスロールEMRとクラスターEC2インスタンスのサービスロールは、 の create-cluster コマンドでオプションを明示的に使用して指定できます。 AWS CLI。 --service-role オプションを使用して、サービスロールを指定します。--ec2-attributes オプションの InstanceProfile引数を使用して、EC2インスタンスプロファイルのロールを指定します。

Auto Scaling ロールは、別のオプション --auto-scaling-role を使用して指定されます。詳細については、「カスタムポリシーによる自動スケーリングをインスタンスグループに使用する」を参照してください。

を使用してカスタムIAMロールを指定するには AWS CLI
  • 次のコマンドは、カスタムサービスロールを指定します。MyCustomServiceRoleForEMR、およびEC2インスタンスプロファイルのカスタムロール。MyCustomServiceRoleForClusterEC2Instances、クラスターの起動時。この例では、デフォルトの Amazon EMRロールを使用します。

    注記

    読みやすくするために、Linux 行連続文字 (\) が含まれています。Linux コマンドでは、これらは削除することも、使用することもできます。Windows の場合、削除するか、キャレット (^) に置き換えてください。

    aws emr create-cluster --name "Test cluster" --release-label emr-7.2.0 \ --applications Name=Hive Name=Pig --service-role MyCustomServiceRoleForEMR \ --ec2-attributes InstanceProfile=MyCustomServiceRoleForClusterEC2Instances,\ KeyName=myKey --instance-type m5.xlarge --instance-count 3

--use-default-roles オプションではなく、これらのオプションを使用して、明示的にデフォルトロールを指定できます。--use-default-roles オプションは、 の config ファイルで定義されているEC2インスタンスプロファイルのサービスロールとロールを指定します。 AWS CLI.

次の例は、 の config ファイルの内容を示しています。 AWS CLI は Amazon のカスタムロールを指定しますEMR。この設定ファイルでは、 --use-default-rolesオプションを指定すると、クラスターは を使用して作成されます。MyCustomServiceRoleForEMR また、MyCustomServiceRoleForClusterEC2Instances。 デフォルトでは、 config ファイルはデフォルトを service_roleAmazonElasticMapReduceRole、デフォルトを instance_profileに指定しますEMR_EC2_DefaultRole

[default] output = json region = us-west-1 aws_access_key_id = myAccessKeyID aws_secret_access_key = mySecretAccessKey emr = service_role = MyCustomServiceRoleForEMR instance_profile = MyCustomServiceRoleForClusterEC2Instances