AWS のサービスを直接呼び出すアプリケーションで IAM ロールを使用する - Amazon EMR

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

AWS のサービスを直接呼び出すアプリケーションで IAM ロールを使用する

クラスターの EC2 インスタンスで実行されているアプリケーションは、EC2 インスタンスプロファイルを使用して、 AWS サービスを呼び出すときに一時的なセキュリティ認証情報を取得できます。

Amazon EMR のリリース 2.3.0 以降で使用できる Hadoop のバーションは、IAM ロールを利用できるように更新されています。アプリケーションが Hadoop アーキテクチャ上で厳密に実行され、 のどのサービスも直接呼び出さない場合は AWS、変更を加えずに IAM ロールと連携する必要があります。

アプリケーションで のサービス AWS を直接呼び出す場合は、IAM ロールを利用するためにサービスを更新する必要があります。これにより、アプリケーションは、クラスターの EC2 インスタンスの /etc/hadoop/conf/core-site.xml からアカウント認証情報を取得する代わりに、SDK を利用して IAM ロールを使うリソースにアクセスしたり、EC2 インスタンスメタデータを呼び出して一時的な認証情報を取得したりできます。

SDK を使用して IAM ロールで AWS リソースにアクセスするには
EC2 インスタンスメタデータから一時的な認証情報を取得するには
  • 指定された IAM ロールで実行されている EC2 インスタンスから次の URL を呼び出します。これにより、関連する一時的なセキュリティ認証情報 (AccessKeyId、 SecretAccessKey SessionToken、および有効期限) が返されます。次の例では Amazon EMR のデフォルトのインスタンスプロファイル (EMR_EC2_DefaultRole) を使用しています。

    GET http://169.254.169.254/latest/meta-data/iam/security-credentials/EMR_EC2_DefaultRole

IAM ロールを使用するアプリケーションの記述の詳細については、Amazon EC2 インスタンスで実行されるアプリケーションに AWS リソースへのアクセス権を付与する」を参照してください。

一時的なセキュリティ認証情報の詳細については、「一時的セキュリティ認証情報の使用」ガイドの「一時的な認証情報の使用」を参照してください。