のバージョン 5 (V5) AWS Tools for PowerShell がリリースされました。
変更の中断とアプリケーションの移行については、「移行トピック」を参照してください。
翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
AWS Tools for PowerShell を使用した の認証 AWS
開発 AWS 時にコードが で認証される方法を確立する必要があります AWS のサービス。環境と利用可能なアクセスに応じて、 AWS リソースへのプログラムによる AWS アクセスを設定する方法はさまざまです。
Tools for PowerShell のさまざまな認証方法については、「AWS SDK およびツールリファレンスガイド」の「認証とアクセス」を参照してください。
このトピックでは、新しいユーザーがローカルで開発中であり、雇用主から認証方法が与えられておらず、 AWS IAM Identity Center を使用して一時的な認証情報を取得することを前提としています。ご使用の環境がこれらの前提条件に当てはまらない場合、このトピックの情報の一部はお客様に該当しない場合や、既に提供されている可能性があります。
この環境を構成するにはいくつかのステップが必要で、その概要は以下のとおりです。
IAM Identity Center の有効化と設定
を使用するには AWS IAM Identity Center、まず有効にして設定する必要があります。PowerShell でこれを行う方法の詳細については、「AWS SDK およびツールリファレンスガイド」の IAM Identity Center 認証に関するトピックのステップ 1 を参照してください。具体的には、「IAM Identity Center 経由のアクセスを確立していません」にある必要な指示に従ってください。
IAM Identity Center を使用するように Tools for PowerShell を設定します。
注記
Tools for PowerShell のバージョン 4.1.538 以降では、このトピックで説明するように、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 アクセスポータルセッションを開始する。
-
まだ実行していない場合は、PowerShell を開き、一般的なコマンドレットを含むオペレーティングシステムと環境 AWS Tools for PowerShell に適した をインストールします。これを行う方法については、「の使用を開始する AWS Tools for PowerShell」を参照してください。
例えば、Windows に Tools for PowerShell のモジュール化されたバージョンをインストールする場合、ほとんどの場合、次のようなコマンドを実行します。
Install-Module -Name AWS.Tools.Installer Install-AWSToolsModule AWS.Tools.Common
-
以下のコマンドを実行してください。サンプルプロパティ値を 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または、コマンドレット自体、、および Tools for PowerShell を使用して
Initialize-AWSSSOConfiguration
、プロパティ値の入力を求めることもできます。特定のプロパティ値に関する考慮事項:
-
IAM Identity Center を有効にして設定する手順に従うだけで、 の値は になる
-RoleName
場合がありますPowerUserAccess
。ただし、PowerShell 作業専用の IAM Identity Center アクセス許可セットを作成した場合は、代わりにそれを使用します。 -
IAM Identity Center を設定した AWS リージョン を使用してください。
-
-
この時点で、共有 AWS
config
ファイルには、Tools for PowerShell から参照できる一連の設定値my-sso-profile
を持つ というプロファイルが含まれています。このファイルの場所を確認するには、AWS SDK とツールのリファレンスガイドの「共有ファイルの場所」を参照してください。Tools for PowerShell は、リクエストを AWSに送信する前に、プロファイルの SSO トークンプロバイダー設定を使用して認証情報を取得します。
sso_role_name
値は、IAM Identity Center アクセス許可セットに接続された IAM ロールであり、アプリケーションで AWS のサービス 使用されている へのアクセスを許可する必要があります。次のサンプルは、上記のコマンドを使用して作成されたプロファイルを示しています。一部のプロパティ値とその順序は、実際のプロファイルで異なる場合があります。プロファイルの
sso-session
プロパティは、 AWS アクセスポータルセッションを開始するための設定を含むmy-sso-session
という名前のセクションを参照します。[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/
-
アクティブな AWS アクセスポータルセッションが既にある場合は、Tools for PowerShell から既にログインしていることが通知されます。
そうでない場合、Tools for PowerShell はデフォルトのウェブブラウザで SSO 認可ページを自動的に開こうとします。ブラウザのプロンプトに従います。プロンプトには、SSO 認可コード、ユーザー名とパスワード、 AWS IAM Identity Center アカウントとアクセス許可セットへのアクセス許可が含まれる場合があります。
Tools for PowerShell は、SSO ログインが成功したことを通知します。
AWS アクセスポータルセッションを開始する
にアクセスするコマンドを実行する前に AWS のサービス、Tools for PowerShell が IAM Identity Center 認証を使用して認証情報を解決できるように、アクティブな AWS アクセスポータルセッションが必要です。 AWS アクセスポータルにサインインするには、PowerShell で次のコマンドを実行します。ここで、 -ProfileName my-sso-profile
は、このトピックの前のセクションの手順に従ったときに共有config
ファイルで作成されたプロファイルの名前です。
Invoke-AWSSSOLogin -ProfileName my-sso-profile
アクティブな AWS アクセスポータルセッションが既にある場合は、Tools for PowerShell から既にログインしていることが通知されます。
そうでない場合、Tools for PowerShell はデフォルトのウェブブラウザで SSO 認可ページを自動的に開こうとします。ブラウザのプロンプトに従います。プロンプトには、SSO 認可コード、ユーザー名とパスワード、 AWS IAM Identity Center アカウントとアクセス許可セットへのアクセス許可が含まれる場合があります。
Tools for PowerShell は、SSO ログインが成功したことを通知します。
アクティブなセッションが既にあるかどうかをテストするには、必要に応じてAWS.Tools.SecurityToken
モジュールをインストールまたはインポートした後に次のコマンドを実行します。
Get-STSCallerIdentity -ProfileName my-sso-profile
Get-STSCallerIdentity
コマンドレットへのレスポンスは、共有config
ファイルで設定された IAM Identity Center アカウントとアクセス許可セットを報告します。
例
以下は、Tools for PowerShell で IAM Identity Center を使用する方法の例です。以下を想定しています。
-
IAM Identity Center を有効にし、このトピックで前述したように構成している。SSO プロパティは、このトピックの前半で設定した
my-sso-profile
プロファイルにあります。 -
Initialize-AWSSSOConfiguration
またはInvoke-AWSSSOLogin
コマンドレットを使用してログインすると、ユーザーは少なくとも Amazon S3 の読み取り専用アクセス許可を持ちます。 -
そのユーザーは一部の S3 バケットを閲覧できる。
必要に応じてAWS.Tools.S3
モジュールをインストールまたはインポートし、次の PowerShell コマンドを使用して S3 バケットのリストを表示します。
Get-S3Bucket -ProfileName my-sso-profile
追加情報
-
プロファイルや環境変数の使用など、Tools for PowerShell の認証に関するその他のオプションについては、「AWS SDK およびツールリファレンスガイド」の設定に関する章を参照してください。
一部のコマンドでは、 AWS リージョンを指定する必要があります。そのためには、
-Region
コマンドレットオプション、[default]
プロファイル、AWS_REGION
環境変数など、さまざまな方法があります。詳細については、このガイドの AWS リージョンを指定する AWS Tools for PowerShellの「」と SDK およびツールリファレンスガイドのAWS 「リージョン」を参照してください。 AWS SDKs-
ベストプラクティスの詳細については、IAM ユーザーガイドの「IAM でのセキュリティのベストプラクティス」を参照してください。
-
短期 AWS 認証情報を作成するには、IAM ユーザーガイドの「一時的なセキュリティ認証情報」を参照してください。
-
その他の認証情報プロバイダーについては、AWS SDK とツールのリファレンスガイドの「標準化された認証情報プロバイダー」を参照してください。