によるツール認証の設定 AWS - AWS Tools for PowerShell

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

によるツール認証の設定 AWS

で開発 AWS する場合、コードが でどのように認証されるかを確立する必要があります AWS のサービス。 AWS リソースへのプログラムによるアクセスを設定するには、環境と利用可能な AWS アクセスに応じて、さまざまな方法があります。

Tools for のさまざまな認証方法については PowerShell、「 SDK とツールリファレンスガイド」の「認証とアクセス」を参照してください。 AWS SDKs

このトピックでは、新しいユーザーがローカルで開発中で、雇用主から認証方法が与えられておらず、 AWS IAM Identity Center を使用して一時的な認証情報を取得することを前提としています。ご使用の環境がこれらの前提条件に当てはまらない場合、このトピックの情報の一部はお客様に該当しない場合や、既に提供されている可能性があります。

この環境を構成するにはいくつかのステップが必要で、その概要は以下のとおりです。

IAM Identity Center の有効化と設定

を使用するには AWS IAM Identity Center、まず有効にして設定する必要があります。でこれを行う方法の詳細については PowerShell、「 SDK とツールのリファレンスガイド」の「IAM Identity Center 認証」トピックのステップ 1 を参照してください。 AWS SDKs 具体的には、「IAM Identity Center 経由のアクセスを確立していません」にある必要な指示に従ってください。

IAM Identity Center を使用する PowerShell ように のツールを設定します。

注記

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

次の手順では、Tools for が一時的な認証情報を取得 PowerShell するために使用する SSO 情報で共有 AWS configファイルを更新します。この手順の結果として、 AWS アクセスポータルセッションも開始されます。共有configファイルにすでに SSO 情報があり、Tools for を使用して アクセスポータルセッションを開始する方法だけを知りたい場合は PowerShell、このトピックの次のセクション「」を参照してくださいAWS アクセスポータルセッションを開始する

  1. まだ開いていない場合は、一般的なコマンドレットを含め、オペレーティングシステムと環境 AWS Tools for PowerShell に適した を開いて PowerShell インストールします。これを行う方法については、「AWS Tools for PowerShell のインストール」を参照してください。

    例えば、Windows PowerShell で Tools for のモジュール化されたバージョンをインストールする場合、次のようなコマンドを実行する可能性が高くなります。

    Install-Module -Name AWS.Tools.Installer Install-AWSToolsModule AWS.Tools.Common
  2. 以下のコマンドを実行します。サンプルプロパティ値を IAM Identity Center 設定の値に置き換えます。これらのプロパティとその検索方法については、「 SDK とツールのリファレンスガイド」の「IAM Identity Center 認証情報プロバイダーの設定」を参照してください。 AWS SDKs

    $params = @{ ProfileName = 'my-sso-profile' AccountId = '111122223333' RoleName = 'SamplePermissionSet' SessionName = 'my-sso-session' StartUrl = 'https://provided-domain.awsapps.com/start' SSORegion = 'us-west-2' RegistrationScopes = 'sso:account:access' }; Initialize-AWSSSOConfiguration @params

    または、 コマンドレットを単独で使用して、、Initialize-AWSSSOConfigurationTools for でプロパティ値 PowerShell の入力を求めることもできます。

    特定のプロパティ値に関する考慮事項:

    • IAM Identity Center を有効にして設定する手順に従った場合、 の値は である-RoleName可能性がありますPowerUserAccess。ただし、IAM Identity Center アクセス許可セットを PowerShell 作業用に作成した場合は、代わりにそれを使用します。

    • IAM Identity Center を設定した を必ず使用 AWS リージョン してください。

  3. この時点で、共有 AWS configファイルには、Tools for から参照できる設定値のセットmy-sso-profileを含む というプロファイルが含まれています PowerShell。このファイルの場所を確認するには、AWS SDK とツールのリファレンスガイドの「共有ファイルの場所」を参照してください。

    Tools for PowerShell は、リクエストを に送信する前に、プロファイルの SSO トークンプロバイダーを使用して認証情報を取得します AWS。IAM Identity Center アクセス許可セットに接続された IAM ロールである sso_role_name値は、アプリケーションで AWS のサービス 使用されている へのアクセスを許可する必要があります。

    次のサンプルは、上記の コマンドを使用して作成されたプロファイルを示しています。一部のプロパティ値とその順序は、実際のプロファイルで異なる場合があります。プロファイルの sso-sessionプロパティはmy-sso-session、 AWS アクセスポータルセッションを開始するための設定を含む という名前のセクションを参照します。

    [profile my-sso-profile] sso_account_id=111122223333 sso_role_name=SamplePermissionSet sso_session=my-sso-session [sso-session my-sso-session] sso_region=us-west-2 sso_registration_scopes=sso:account:access sso_start_url=https://provided-domain.awsapps.com/start/
  4. 既にアクティブな AWS アクセスポータルセッションがある場合は、Tools for から既にログインしていることが PowerShell 通知されます。

    そうでない場合、Tools for はデフォルトのウェブブラウザで SSO 認証ページを自動的に開 PowerShell こうとします。ブラウザのプロンプトに従います。これには、SSO 認証コード、ユーザー名とパスワード、 AWS IAM Identity Center アカウントとアクセス権限セットへのアクセス権限が含まれる場合があります。

    Tools for は、 SSO ログインが成功したこと PowerShell を通知します。

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

にアクセスするコマンドを実行する前に AWS のサービス、Tools for が IAM Identity Center 認証を使用して認証情報を解決できるように PowerShell 、アクティブな AWS アクセスポータルセッションが必要です。 AWS アクセスポータルにサインインするには、 で次のコマンドを実行します。ここで PowerShell、 -ProfileName my-sso-profileは、このトピックの前のセクションの手順に従ったときに共有configファイルで作成されたプロファイルの名前です。

Invoke-AWSSSOLogin -ProfileName my-sso-profile

既にアクティブな AWS アクセスポータルセッションがある場合は、Tools for から既にログインしていることが PowerShell 通知されます。

そうでない場合、Tools for はデフォルトのウェブブラウザで SSO 認証ページを自動的に開 PowerShell こうとします。ブラウザのプロンプトに従います。これには、SSO 認証コード、ユーザー名とパスワード、 AWS IAM Identity Center アカウントとアクセス権限セットへのアクセス権限が含まれる場合があります。

Tools for は、 SSO ログインが成功したこと PowerShell を通知します。

既にアクティブなセッションがあるかどうかをテストするには、必要に応じてAWS.Tools.SecurityTokenモジュールをインストールまたはインポートした後に次のコマンドを実行します。

Get-STSCallerIdentity -ProfileName my-sso-profile

Get-STSCallerIdentity コマンドレットへの応答は、共有 config ファイルに設定されている IAM Identity Center アカウントとアクセス許可セットを報告します。

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

  • IAM Identity Center を有効にし、このトピックで前述したように構成している。SSO プロパティは、このトピックの前半で設定した my-sso-profileプロファイルにあります。

  • Initialize-AWSSSOConfiguration または コマンドレットを通じてログインすると、ユーザーには Amazon Invoke-AWSSSOLogin Amazon S3に対する少なくとも読み取り専用のアクセス許可が付与されます。

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

必要に応じてAWS.Tools.S3モジュールをインストールまたはインポートし、次の PowerShell コマンドを使用して S3 バケットのリストを表示します。

Get-S3Bucket -ProfileName my-sso-profile

追加情報

  • プロファイルや環境変数の使用など PowerShell、Tools for の認証に関するその他のオプションについては、「 SDK とツールのリファレンスガイド」の「設定」の章を参照してください。 AWS SDKs

  • 一部のコマンドでは、 AWS リージョンを指定する必要があります。そのためには、 コマンドレットオプション、 -Region [default]プロファイル、AWS_REGION環境変数など、さまざまな方法があります。詳細については、このガイドAWS リージョンを指定するの「」と AWS SDKsAWS 「リージョン」を参照してください。

  • ベストプラクティスの詳細については、IAM ユーザーガイドの「IAM でのセキュリティのベストプラクティス」を参照してください。

  • 短期 AWS 認証情報を作成するには、「IAM ユーザーガイド」の「一時的なセキュリティ認証情報」を参照してください。

  • その他の認証情報プロバイダーについては、AWS SDK とツールのリファレンスガイドの「標準化された認証情報プロバイダー」を参照してください。