翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
で SDK 認証を設定します AWS
AWS のサービス を使用して開発する際には、AWS によりコードがどのように認証するかを設定する必要があります。環境と利用可能な AWS のアクセスに応じて、AWS リソースへのプログラムによるアクセスを設定する方法は異なります。
SDK のさまざまな認証方法については、『SDK およびツールリファレンスガイド』の AWS「認証とアクセス」を参照してください。
このトピックでは、新しいユーザーがローカルで開発しており、雇用主から認証方法を与えられておらず、AWS IAM Identity Center を使って一時的な認証情報を取得する予定であることを前提としています。ご使用の環境がこれらの前提条件に該当しない場合、このトピックの情報の一部が当てはまらない場合や、情報がすでに提供されている場合があります。
この環境を構成するにはいくつかのステップが必要で、その概要は以下のとおりです。
IAM Identity Center の有効化と設定
IAM Identity Center を使用するには、まず IAM Identity Center を有効にして設定する必要があります。SDK でこれを行う方法の詳細については、『AWSSDK およびツールリファレンスガイド』の IAM Identity Center 認証に関するトピックのステップ 1 を参照してください。具体的には、「IAM Identity Center 経由のアクセスを確立していません」にある必要な指示に従ってください。
IAM アイデンティティセンターを使用するように SDK を設定します。
IAM ID センターを使用するように SDK を設定する方法に関する情報は、『AWSSDK およびツールリファレンスガイド』の IAM ID センター認証に関するトピックのステップ 2 に記載されています。この設定を完了すると、システムには以下の要素が含まれるようになります。
-
アプリケーションを実行する前に AWS アクセスポータルセッションを開始するために使用する AWS CLI。
-
SDK AWS
config
[default]
から参照できる設定値のセットを含むプロファイルを含む共有ファイル。このファイルの場所を確認するには、AWS SDK とツールのリファレンスガイドの「共有ファイルの場所」を参照してください。は、にリクエストを送信する前に、プロファイルの SSO AWS SDK for .NET トークンプロバイダーを使用して認証情報を取得します。AWSIAM 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
重要
AWS IAM Identity Center認証にを使用している場合は、SSO NuGet 解決が機能するようにアプリケーションが次のパッケージを参照する必要があります。
-
AWSSDK.SSO
-
AWSSDK.SSOOIDC
これらのパッケージを参照しないと、実行時例外が発生します。
AWS アクセスポータルセッションを開始する
AWS のサービス にアクセスするアプリケーションを実行する前に、SDK が IAM Identity Center 認証を使用して認証情報を解決するためのアクティブな AWS アクセスポータルセッションが必要です。設定したセッションの長さによっては、アクセスが最終的に期限切れになり、SDK で認証エラーが発生します。AWS アクセスポータルにサインインするには、AWS CLI で次のコマンドを実行します。
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
を実行している場合は、認証情報を入力するように要求されません。
サインインプロセス中に、データへの AWS CLI アクセスを許可するように求められる場合があります。AWS CLI は SDK for Python 上に構築されているため、アクセス許可メッセージには botocore
の名前のさまざまなバリエーションが含まれる場合があります。
追加情報
-
開発環境での IAM Identity Center と SSO の使用に関する追加情報については、シングルサインオン (SSO)高度な認可セクションのを参照してください。この情報には、代替方法やより高度な方法のほか、これらの方法の使用方法を示すチュートリアルも含まれています。
-
プロファイルや環境変数の使用など、SDK の認証に関するその他のオプションについては、『AWSSDK and Tools リファレンスガイド』の設定に関する章を参照してください。
-
ベストプラクティスの詳細については、IAM ユーザーガイドの「IAM でのセキュリティのベストプラクティス」を参照してください。
-
短期 AWS 認証情報を作成するには、IAM ユーザーガイドの「一時的セキュリティ認証情報」を参照してください。
-
その他の認証情報プロバイダーについては、AWS SDK とツールのリファレンスガイドの「標準化された認証情報プロバイダー」を参照してください。