翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
AWS SDK for Java 2.x のセットアップ
このセクションでは、 AWS SDK for Java 2.xを使用する開発環境とプロジェクトについて説明します。
設定の概要
AWS のサービス を使用して にアクセスするアプリケーションを正常に開発するには AWS SDK for Java、次の条件が必要です。
-
Java は、ユーザーに代わってリクエストを認証するための認証情報にアクセスできるSDK必要があります。
-
に設定されたIAMロールのアクセス許可は、アプリケーション AWS のサービス が必要とする へのアクセスを許可SDKする必要があります。PowerUserAccess AWS 管理ポリシーに関連付けられたアクセス許可は、ほとんどの開発ニーズに十分です。
-
以下の要素を備えた開発環境:
-
共有設定ファイルは、次のいずれかの方法で設定できます。
-
config
ファイルには IAM Identity Center のシングルサインオン設定が含まれているため、 は AWS 認証情報を取得SDKできます。 -
credentials
ファイルには一時的な認証情報が含まれています。
-
-
Maven
や Gradle などの構築オートメーションツール。 -
コードを使用するテキストエディター。
-
(オプションですが、推奨) IntelliJ 、Eclipse IDEA
、 などの IDE (統合開発環境)NetBeans 。 https://www.eclipse.org/ide/ を使用する場合IDE、 AWS Toolkitを統合して をより簡単に操作することもできます AWS のサービス。AWS Toolkit for IntelliJ と、AWS Toolkit for Eclipse は Java 開発に使用できる 2 つのツールキットです。
-
-
アプリケーションを実行する準備ができたら、アクティブな AWS アクセスポータルセッション。を使用して AWS Command Line Interface 、IAMアイデンティティセンターの AWS アクセスポータルへのサインインプロセスを開始します。
重要
この設定セクションの手順では、ユーザーまたは組織が IAM Identity Center を使用していることを前提としています。組織が IAM Identity Center とは独立して動作する外部 ID プロバイダーを使用している場合は、 SDK for Java が使用する の一時的な認証情報を取得する方法について説明します。以下の手順に従って、~/.aws/credentials
ファイルに一時的な認証情報を追加します。
ID プロバイダーが一時的な認証情報を自動的に~/.aws/credentials
ファイルに追加する場合は、プロファイル名を SDKまたは に提供する必要がない[default]
ように、プロファイル名が であることを確認します AWS CLI。
認証を設定する。
および ツールリファレンスガイドの AWS SDKs認証とアクセスのトピックでは、認証するさまざまなオプションについて説明します。が認証情報SDKを取得できるように、手順に従って IAM Identity Center へのアクセスを設定することをお勧めします。手順に従うと、 がリクエストSDKを認証できるようにシステムが設定されます。
のシングルサインオンアクセスのセットアップ SDK
が IAM Identity Center 認証SDKを使用できるように、プログラムによるアクセスセクションのステップ 2 を完了したら、システムには次の要素が含まれている必要があります。
-
アプリケーションを実行する前にAWS アクセスポータルセッションを開始 AWS CLIするために使用する 。
-
デフォルトプロファイルを含む
~/.aws/config
ファイル。SDK for Java は、プロファイルのSSOトークンプロバイダー設定を使用して、 にリクエストを送信する前に認証情報を取得します AWS。IAM Identity Center アクセス許可セットに接続されたIAMロールであるsso_role_name
値は、アプリケーションで AWS のサービス 使用されている へのアクセスを許可する必要があります。次のサンプル
config
ファイルは、SSOトークンプロバイダー設定で設定されたデフォルトのプロファイルを示しています。プロファイルのsso_session
設定は、指定されたsso-session
セクションを参照します。sso-session
セクションには、 AWS アクセスポータルセッションを開始するための設定が含まれています。[default] sso_session = my-sso sso_account_id =
111122223333
sso_role_name =SampleRole
region = us-east-1 output = json [sso-session my-sso] sso_region = us-east-1 sso_start_url =https://provided-domain.awsapps.com/start
sso_registration_scopes = sso:account:access
SSO トークンプロバイダー設定で使用される設定の詳細については、「 AWS SDKsおよび ツールリファレンスガイド」のSSO「トークンプロバイダー設定」を参照してください。
前述のように開発環境がプログラムによるアクセス用に設定されていない場合は、SDKsリファレンスガイドのステップ 2 に従ってください。
を使用してサインインする AWS CLI
にアクセスするアプリケーションを実行する前に AWS のサービス、 が IAM Identity Center 認証を使用して認証情報を解決するにはSDK、アクティブな AWS アクセスポータルセッションが必要です。で次のコマンドを実行して AWS CLI 、 AWS アクセスポータルにサインインします。
aws sso login
デフォルトのプロファイルを設定している場合は、--profile
オプションを指定してコマンドを呼び出す必要はありません。SSO トークンプロバイダー設定で名前付きプロファイルを使用している場合、コマンドは ですaws sso login --profile
。named-profile
アクティブなセッションが既にあるかどうかをテストするには、次の AWS CLI コマンドを実行します。
aws sts get-caller-identity
このコマンドへのレスポンスは、共有config
ファイルで設定された IAM Identity Center アカウントとアクセス許可セットを報告する必要があります。
注記
既にアクティブな AWS アクセスポータルセッションがあり、 を実行している場合はaws sso login
、認証情報を提供する必要はありません。
ただし、botocore
に情報へのアクセス許可を求めるダイアログが表示されます。botocore
は AWS CLI の基盤です。
許可を選択して、 AWS CLI および SDK Java の情報へのアクセスを許可します。
Java と構築ツールをインストールする
使用する開発環境には次が必要です。
-
Java 8 以降。は、Oracle Java SE 開発キット
、および 、Red Hat OpenJDK Amazon Corretto 、および Adoptium などの Open Java 開発キット (Open JDK) のディストリビューションで AWS SDK for Java 動作します。 -
Apache Maven、Gradle、IntelliJ などの Maven Central IDEをサポートするビルドツールまたは。 IntelliJ
-
Maven をインストールして使用する方法については、https://maven.apache.org/
を参照してください。 -
Gradle をインストールして使用する方法については、https://gradle.org/
を参照してください。 -
IntelliJ をインストールして使用する方法についてはIDEA、「」を参照してくださいhttps://www.jetbrains.com/idea/
。
-
追加認証オプション
プロファイルや環境変数の使用などSDK、 の認証に関するその他のオプションについては、 AWS SDKsおよび ツールリファレンスガイドの設定の章を参照してください。