Cookie の設定を選択する

当社は、当社のサイトおよびサービスを提供するために必要な必須 Cookie および類似のツールを使用しています。当社は、パフォーマンス Cookie を使用して匿名の統計情報を収集することで、お客様が当社のサイトをどのように利用しているかを把握し、改善に役立てています。必須 Cookie は無効化できませんが、[カスタマイズ] または [拒否] をクリックしてパフォーマンス Cookie を拒否することはできます。

お客様が同意した場合、AWS および承認された第三者は、Cookie を使用して便利なサイト機能を提供したり、お客様の選択を記憶したり、関連する広告を含む関連コンテンツを表示したりします。すべての必須ではない Cookie を受け入れるか拒否するには、[受け入れる] または [拒否] をクリックしてください。より詳細な選択を行うには、[カスタマイズ] をクリックしてください。

での IAM ロール認証情報の読み取り Amazon EC2 - AWS SDK for Java 2.x

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

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

での IAM ロール認証情報の読み取り Amazon EC2

IAM ロールを使用して、EC2 インスタンスで実行され、 AWS CLI または AWS API リクエストを行うアプリケーションの一時的な認証情報を管理できます。これは、EC2 インスタンス内でのアクセスキーの保存に推奨されます。 AWS ロールを EC2 インスタンスに割り当て、そのすべてのアプリケーションで使用できるようにするには、インスタンスにアタッチされたインスタンスプロファイルを作成します。インスタンスプロファイルにはロールが含まれ、EC2 インスタンスで実行されるプログラムは一時的な認証情報を取得できます。詳細については、「IAM ユーザーガイド」の「Amazon EC2 インスタンスで実行されるアプリケーションに IAM ロールを使用して許可を付与する」を参照してください。

このトピックでは、EC2 インスタンスで実行するように Java アプリケーションをセットアップし、SDK for Java が IAM ロール認証情報を取得できるようにする方法について説明します。

環境から IAM ロールの認証情報を取得する

アプリケーションが createメソッド (または builder().build()メソッド) を使用して AWS サービスクライアントを作成する場合、SDK for Java はデフォルトの認証情報プロバイダーチェーンを使用します。デフォルトの認証情報プロバイダーチェーンは、SDK が一時的な認証情報と交換できる設定要素の実行環境を検索します。デフォルトの認証情報プロバイダーチェーン セクションでは、検索プロセス全体について説明します。

デフォルトのプロバイダーチェーンの最後のステップは、アプリケーションが Amazon EC2 インスタンスで実行されている場合にのみ使用できます。このステップでは、SDK は InstanceProfileCredentialsProvider を使用して EC2 インスタンスプロファイルで定義されている IAM ロールを読み取ります。次に SDK はその IAM ロールの一時的な認証情報を取得します。

これらの認証情報は一時的なもので、最終的には失効しますが、InstanceProfileCredentialsProvider によって定期的に更新されるため、 AWSにアクセスを許可し続けることができます。

IAM ロールの認証情報をプログラムで取得する

InstanceProfileCredentialsProvider EC2 で最終的に を使用するデフォルトの認証情報プロバイダーチェーンの代わりに、 を使用してサービスクライアントを明示的に設定できますInstanceProfileCredentialsProvider。このアプローチは次のスニペットに示されています。

S3Client s3 = S3Client.builder() .credentialsProvider(InstanceProfileCredentialsProvider.create()) .build();

IAM ロールの認証情報を安全に取得する

デフォルトでは、EC2 インスタンスは IMDS (インスタンスメタデータサービス) を実行し、SDK の が設定された IAM ロールなどの情報InstanceProfileCredentialsProviderにアクセスできるようにします。EC2 インスタンスはデフォルトで 2 つのバージョンの IMDS を実行します。

  • インスタンスメタデータサービスバージョン 1 (IMDSv1) – リクエスト/レスポンスメソッド

  • インスタンスメタデータサービスバージョン 2 (IMDSv2) – セッション指向メソッド

IMDSv2 は IMDSv1 よりも安全なアプローチです。 IMDSv1

デフォルトでは、Java SDK は最初に IMDSv2 を試して IAM ロールを取得しますが、失敗した場合は IMDSv1 を試します。ただし、IMDSv1 は安全性が低いため、 は IMDSv2 のみを使用することをお勧めします。また、SDK が IMDSv1 を試すことを無効にする AWS ことをお勧めします。

より安全なアプローチを使用するには、次のいずれかの設定を の値で指定して、SDK が IMDSv1 を使用することを無効にしますtrue

  • 環境変数: AWS_EC2_METADATA_V1_DISABLED

  • JVM システムプロパティ: aws。disableEc2MetadataV1

  • 共有設定ファイルの設定: ec2_metadata_v1_disabled

これらの設定の 1 つを に設定するとtrue、最初の IMDSv2 呼び出しが失敗しても、SDK は IMDSv1 を使用して IMDSv2ロール認証情報をロードしません。

プライバシーサイト規約Cookie の設定
© 2025, Amazon Web Services, Inc. or its affiliates.All rights reserved.