ポータルログイン AWS CLI に を使用する - AWS Tools for PowerShell

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

ポータルログイン AWS CLI に を使用する

Tools for PowerShell のバージョン 4.1.538 以降では、「」で説明されているように、SSO 認証情報を設定し、 AWS アクセスポータルセッションを開始する推奨方法は、 Initialize-AWSSSOConfigurationInvoke-AWSSSOLogin コマンドレットを使用することですによるツール認証の設定 AWS。Tools for PowerShell (以降) のそのバージョンにアクセスできない場合、またはこれらのコマンドレットを使用できない場合は、 を使用してこれらのタスクを実行できます AWS CLI。

Tools for PowerShell を設定して、 を介して IAM Identity Center を使用します AWS CLI。

まだ実行していない場合は、続行する前に IAM Identity Center を有効にして設定してください。

を通じて IAM Identity Center を使用するように Tools for PowerShell を設定する方法については AWS CLI 、AWS SDKs and Tools リファレンスガイドIAM Identity Center 認証のトピックのステップ 2 を参照してください。この設定を完了すると、システムには以下の要素が含まれるようになります。

  • アプリケーションを実行する前に AWS アクセスポータルセッションを開始する AWS CLIために使用される。

  • Tools for PowerShell から参照できる一連の設定値を持つ[default]プロファイルを含む共有 AWS configファイル。このファイルの場所を確認するには、AWS SDKs and Tools リファレンスガイドの共有ファイルの場所を参照してください。Tools for PowerShell は、リクエストを送信する前に、プロファイルの SSO トークンプロバイダーを使用して認証情報を取得します AWS。IAM Identity Center アクセス許可セットに接続された IAM ロールである sso_role_name値は、アプリケーションで AWS のサービス 使用されている へのアクセスを許可する必要があります。

    次のサンプルconfigファイルは、SSO トークンプロバイダーで設定された[default]プロファイルを示しています。プロファイルの 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
重要

PowerShell セッションでは、SSO 解決が機能するように、次のモジュールをインストールしてインポートする必要があります。

  • AWS.Tools.SSO

  • AWS.Tools.SSOOIDC

Tools for PowerShell の古いバージョンを使用していて、これらのモジュールがない場合は、「Assembly AWSSDK.SSOOIDC が見つかりませんでした...」のようなエラーが発生します。

AWS アクセスポータルセッションを開始する

アクセスするコマンドを実行する前に AWS のサービス、Tools for Windows PowerShell が IAM Identity Center 認証を使用して認証情報を解決できるように、アクティブな AWS アクセスポータルセッションが必要です。設定したセッションの長さによっては、アクセスが最終的に期限切れになり、Tools for Windows PowerShell に認証エラーが発生します。 AWS アクセスポータルにサインインするには、 で次のコマンドを実行します AWS CLI。

aws sso login

[default] プロファイルを使用しているため、 --profileオプションを使用して コマンドを呼び出す必要はありません。SSO トークンプロバイダーの設定で名前付きプロファイルを使用している場合、 コマンドはaws sso login --profile named-profile代わりに になります。名前付きプロファイルの詳細については、AWS SDKs and Tools リファレンスガイドプロファイルセクションを参照してください。

既にアクティブなセッションがあるかどうかをテストするには、次の AWS CLI コマンドを実行します (名前付きプロファイルと同じ考慮事項で)。

aws sts get-caller-identity

このコマンドへのレスポンスは、共有configファイルで設定された IAM Identity Center アカウントとアクセス許可セットを報告する必要があります。

注記

既にアクティブな AWS アクセスポータルセッションがあり、 を実行している場合はaws sso login、認証情報を提供する必要はありません。

サインインプロセスでは、データ AWS CLI へのアクセスを許可するように求められる場合があります。 AWS CLI は SDK for Python の上に構築されているため、アクセス許可メッセージにはbotocore名前のバリエーションが含まれている場合があります。

Tools for PowerShell で IAM Identity Center を使用する方法の例を次に示します。以下を想定しています。

  • IAM Identity Center を有効にし、このトピックで前述したように設定しました。SSO プロパティは[default]プロファイルにあります。

  • AWS CLI を使用して からログインするとaws sso login、そのユーザーには少なくとも Amazon S3 の読み取り専用アクセス許可があります。

  • そのユーザーは一部の S3 バケットを閲覧できる。

次の PowerShell コマンドを使用して、S3 バケットのリストを表示します。

Install-Module AWS.Tools.Installer Install-AWSToolsModule S3 # And if using an older version of the AWS Tools for PowerShell: Install-AWSToolsModule SSO, SSOOIDC # In older versions of the AWS Tools for PowerShell, we're not invoking a cmdlet from these modules directly, # so we must import them explicitly: Import-Module AWS.Tools.SSO Import-Module AWS.Tools.SSOOIDC # Older versions of the AWS Tools for PowerShell don't support the SSO login flow, so login with the CLI aws sso login # Now we can invoke cmdlets using the SSO profile Get-S3Bucket

上記のように、[default]プロファイルを使用しているため、 Get-S3Bucket -ProfileNameオプションを使用して コマンドレットを呼び出す必要はありません。SSO トークンプロバイダーの設定で名前付きプロファイルを使用している場合、 コマンドは ですGet-S3Bucket -ProfileName named-profile。名前付きプロファイルの詳細については、AWS SDKs and Tools リファレンスガイドプロファイルセクションを参照してください。

追加情報