

AWS Tools for PowerShell V4 がメンテナンスモードになりました。

[AWS Tools for PowerShell V5](https://docs.aws.amazon.com/powershell/v5/userguide/) に移行することをお勧めします。移行方法の詳細と情報については、[メンテナンスモードのお知らせ](https://aws.amazon.com/blogs/developer/aws-tools-for-powershell-v4-maintenance-mode-announcement/)を参照してください。

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

# ポータルログインに AWS CLI を使用する
<a name="creds-idc-cli"></a>

Tools for PowerShell のバージョン 4.1.538 以降、SSO 認証情報の設定および AWS アクセスポータルセッションの開始には、「[AWS でツール認証を設定する](creds-idc.md)」で説明しているように、[https://docs.aws.amazon.com/powershell/v4/reference/index.html?page=Initialize-AWSSSOConfiguration.html&tocid=Initialize-AWSSSOConfiguration](https://docs.aws.amazon.com/powershell/v4/reference/index.html?page=Initialize-AWSSSOConfiguration.html&tocid=Initialize-AWSSSOConfiguration) および [https://docs.aws.amazon.com/powershell/v4/reference/index.html?page=Invoke-AWSSSOLogin.html&tocid=Invoke-AWSSSOLogin](https://docs.aws.amazon.com/powershell/v4/reference/index.html?page=Invoke-AWSSSOLogin.html&tocid=Invoke-AWSSSOLogin) コマンドレットを使用することをお勧めします。このバージョン以降の Tools for PowerShell にアクセスできない場合、またはそれらのコマンドレットを使用できない場合でも、AWS CLI を使用して同様のタスクを実行できます。

## AWS CLI から、IAM Identity Center を使用するように Tools for PowerShell を設定します。
<a name="idc-config-sdk-cli"></a>

まだ行っていない場合は、先に進む前に必ず [IAM Identity Center を有効にして設定](creds-idc.md#idc-config-sso)してください。

AWS CLI から IAM Identity Center を使用するように Tools for PowerShell を設定する方法に関する情報は、「*AWS SDK とツールのリファレンスガイド*」の [IAM Identity Center 認証](https://docs.aws.amazon.com/sdkref/latest/guide/access-sso.html)に関するトピックの**ステップ 2** に記載されています。この設定を完了すると、システムには以下の要素が含まれるようになります。
+ アプリケーションを実行する前に AWS アクセスポータルセッションを開始するために使用する AWS CLI。
+ Tools for PowerShell から参照できる構成値のセットを含む[`[default]` プロファイル](https://docs.aws.amazon.com/sdkref/latest/guide/file-format.html#file-format-profile) を含む AWS `config` 共有ファイル。このファイルの場所を確認するには、「*AWS SDK とツールのリファレンスガイド*」の「[共有ファイルの場所](https://docs.aws.amazon.com/sdkref/latest/guide/file-location.html)」を参照してください。Tools for PowerShell は、リクエストを AWS に送信する前に、プロファイルの SSO トークンプロバイダー設定を使用して認証情報を取得します。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
  ```

**重要**  
SSO 解決が機能するには、PowerShell セッションに次のモジュールをインストールしてインポートする必要があります。  
`AWS.Tools.SSO`
`AWS.Tools.SSOOIDC`
古いバージョンの Tools for PowerShell を使用していて、これらのモジュールがない場合は、「Assembly AWSSDK.SSOOIDC could not be found...」 (Assembly AWSSDK.SSOOIDC が見つかりません...) のようなエラーが表示されます。

## AWS アクセスポータルセッションを開始する
<a name="idc-start-portal-cli"></a>

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 SDK とツールのリファレンスガイド*」の「[プロファイル](https://docs.aws.amazon.com/sdkref/latest/guide/file-format.html#file-format-profile)」セクションを参照してください。

アクティブなセッションが既にあるかどうかをテストするには、次の AWS CLI コマンドを実行します (名前付きプロファイルを使用している場合は、前述の点を考慮してください)。

```
aws sts get-caller-identity
```

このコマンドへの応答により、共有 `config` ファイルに設定されている IAM Identity Center アカウントとアクセス許可のセットが報告されます。

**注記**  
既にアクティブな AWS アクセスポータルセッションがあって `aws sso login` を実行している場合は、認証情報を入力するように要求されません。  
サインインプロセス中に、データへの AWS CLI アクセスを許可するように求められる場合があります。AWS CLI は SDK for Python 上に構築されているため、アクセス許可メッセージには `botocore` の名前のさまざまなバリエーションが含まれる場合があります。

## 例
<a name="idc-short-example-cli"></a>

以下は、Tools for PowerShell で IAM Identity Center を使用する方法の例です。以下を想定しています。
+ IAM Identity Center を有効にし、このトピックで前述したように構成している。SSO プロパティが `[default]` プロファイルにある。
+ `aws sso login` を使用して AWS CLI を通してログインすると、そのユーザーには少なくとも 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]` プロファイルを使用しているため、`-ProfileName` オプションを指定して `Get-S3Bucket` コマンドレットを呼び出す必要はありません。SSO トークンプロバイダー設定で名前付きプロファイルを使用している場合、コマンドは `Get-S3Bucket -ProfileName named-profile` です。名前付きプロファイルの詳細については、「*AWS SDK とツールのリファレンスガイド*」の「[プロファイル](https://docs.aws.amazon.com/sdkref/latest/guide/file-format.html#file-format-profile)」セクションを参照してください。

## 追加情報
<a name="idc-additional-info-cli"></a>
+ プロファイルや環境変数の使用など、Tools for PowerShell の認証に関するその他のオプションについては、「*AWS SDK とツールのリファレンスガイド*」の[設定](https://docs.aws.amazon.com/sdkref/latest/guide/creds-config-files.html)に関する章を参照してください。
+ 一部のコマンドでは、AWS リージョンを指定する必要があります。`-Region` コマンドレットオプション、`[default]` プロファイル、`AWS_REGION` 環境変数など、いくつかの指定方法があります。詳細については、このガイドの「[AWS リージョンを指定する](pstools-installing-specifying-region.md)」および「*AWS SDK とツールのリファレンスガイド*」の「[AWS リージョン](https://docs.aws.amazon.com/sdkref/latest/guide/feature-region.html)」を参照してください。
+ ベストプラクティスの詳細については、*IAM ユーザーガイド*の「[IAM でのセキュリティのベストプラクティス](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html)」を参照してください。
+ 短期 AWS 認証情報を作成するには、*IAM ユーザーガイド*の「[一時的セキュリティ認証情報](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp.html)」を参照してください。
+ その他の認証情報プロバイダーについては、「*AWS SDK とツールのリファレンスガイド*」の「[標準化された認証情報プロバイダー](https://docs.aws.amazon.com/sdkref/latest/guide/standardized-credentials.html)」を参照してください。