

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

# Amazon EMR 用の EC2 インスタンスプロファイル
<a name="emr-ranger-iam-ec2"></a>

Amazon EMR は IAM サービスロールを使用して、ユーザーの代わりにクラスターのプロビジョニングと管理を行うためのアクションを実行します。EC2 インスタンスのサービスロール (Amazon EMR の EC2 インスタンスプロファイルとも呼ばれます) は、起動時にクラスター内のすべての EC2 インスタンスに割り当てられる特殊なサービスロールです。

Amazon S3 データおよび Apache Ranger およびその他の AWS サービスで保護された Hive メタストアとの EMR クラスターインタラクションのアクセス許可を定義するには、クラスターの起動`EMR_EC2_DefaultRole`時に の代わりに使用するカスタム EC2 インスタンスプロファイルを定義します。

詳細については、「[クラスター EC2 インスタンスのサービスロール (EC2 インスタンスプロファイル)](emr-iam-role-for-ec2.md)」および「[Amazon EMR で IAM ロールをカスタマイズする](emr-iam-roles-custom.md)」を参照してください。

Amazon EMR がセッションにタグを付け、TLS 証明書 AWS Secrets Manager を保存する にアクセスできるようにするには、デフォルトの EC2 インスタンスプロファイルに次のステートメントを追加する必要があります。

```
    {
      "Sid": "AllowAssumeOfRolesAndTagging",
      "Effect": "Allow",
      "Action": ["sts:TagSession", "sts:AssumeRole"],
      "Resource": [
        "arn:aws:iam::{{<AWS_ACCOUNT_ID>}}:role/{{<RANGER_ENGINE-PLUGIN_DATA_ACCESS_ROLE_NAME>}}",
        "arn:aws:iam::{{<AWS_ACCOUNT_ID>}}:role/{{<RANGER_USER_ACCESS_ROLE_NAME>}}"
      ]
    },
    {
        "Sid": "AllowSecretsRetrieval",
        "Effect": "Allow",
        "Action": "secretsmanager:GetSecretValue",
        "Resource": [
            "arn:aws:secretsmanager:{{<REGION>}}:{{<AWS_ACCOUNT_ID>}}:secret:{{<PLUGIN_TLS_SECRET_NAME>}}*",
            "arn:aws:secretsmanager:{{<REGION>}}:{{<AWS_ACCOUNT_ID>}}:secret:{{<ADMIN_RANGER_SERVER_TLS_SECRET_NAME>}}*"
        ]
    }
```

**注記**  
Secrets Manager アクセス許可については、シークレット名の末尾にあるワイルドカード (「\*」) を忘れないでください。そうしないと、リクエストは失敗します。ワイルドカードは、シークレットバージョン用です。

**注記**  
 AWS Secrets Manager ポリシーの範囲を、プロビジョニングに必要な証明書のみに制限します。