

のバージョン 5 (V5) AWS Tools for PowerShell がリリースされました。

重要な変更とアプリケーションの移行については、[「移行トピック](https://docs.aws.amazon.com/powershell/v5/userguide/migrating-v5.html)」を参照してください。

 [https://docs.aws.amazon.com/powershell/v5/userguide/migrating-v5.html](https://docs.aws.amazon.com/powershell/v5/userguide/migrating-v5.html)

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

# の使用を開始する AWS Tools for PowerShell
<a name="pstools-getting-set-up"></a>

以下のトピックでは、コマンドレットを正常にインストールし、 AWS Tools for PowerShell で認証を設定する方法について説明します AWS。

**Topics**
+ [CloudShell にインストール済み](pstools-getting-set-up-cloudshell.md)
+ [Windows でのインストール](pstools-getting-set-up-windows.md)
+ [Linux または MacOS でのインストール](pstools-getting-set-up-linux-mac.md)
+ [による認証 AWS](creds-idc.md)

# AWS Tools for PowerShell にインストール済み AWS CloudShell
<a name="pstools-getting-set-up-cloudshell"></a>

`AWS.Tools` は、「 [AWS CloudShell ユーザーガイド](https://docs.aws.amazon.com/cloudshell/latest/userguide/)」の「プリインストールされたソフトウェア」の説明 AWS CloudShell に従って、 にプリインストールされています。 [https://docs.aws.amazon.com/cloudshell/latest/userguide/vm-specs.html#pre-installed-software](https://docs.aws.amazon.com/cloudshell/latest/userguide/vm-specs.html#pre-installed-software)コンソール認証情報は自動的に CloudShell に渡されるため、CloudShell を開くアクセス許可を持つユーザーは、追加のインストールや設定なしで Tools for PowerShell コマンドレットをすぐに実行できます。

CloudShell AWS Tools for PowerShell で を使用するには、次のようなステップを実行します。

1. [CloudShell コンソール](https://console.aws.amazon.com/cloudshell/home)を開きます。

1. `pwsh` を実行します。

1. など、必要な `AWS.Tools` PowerShell コマンドを実行します`Get-S3Bucket`。

# Windows AWS Tools for PowerShell での のインストール
<a name="pstools-getting-set-up-windows"></a>

にプリインストールされている Tools for PowerShell の詳細については AWS CloudShell、「」を参照してください[CloudShell にインストール済み](pstools-getting-set-up-cloudshell.md)。

Windows ベースのコンピュータは、次のいずれかの AWS Tools for PowerShell パッケージオプションを実行できます。
+ [**`AWS.Tools`**](ps-installing-awstools.md) - のモジュール化されたバージョン AWS Tools for PowerShell。各 AWS サービスは、個別の小さなモジュールでサポートされ、共有サポートモジュール `AWS.Tools.Common`および があります`AWS.Tools.Installer`。
+ [**AWSPowerShell.NetCore**](ps-installing-awspowershellnetcore.md) - の単一の大規模モジュールバージョン AWS Tools for PowerShell。すべての AWS サービスは、この単一の大きなモジュールでサポートされています。
**注記**  
単一のモジュールは大きすぎて [AWS Lambda](https://aws.amazon.com/lambda/) 関数で使用できない場合があることに注意してください。代わりに、上記のモジュール化されたバージョンを使用します。
+ [**AWSPowerShell**](ps-installing-awswindowspowershell.md) - のレガシー、Windows 固有のシングル、ラージモジュールバージョン AWS Tools for PowerShell。すべての AWS サービスは、この単一の大きなモジュールでサポートされています。

選択したパッケージは、実行中の Windows のリリースとエディションによって異なります。

**注記**  
 AWS Tools for PowerShell は、デフォルトですべての Windows ベースの Amazon マシンイメージ (AMIs。インストールされるオプションは、AMI によって異なります。多くの AMIs には AWSPowerShell モジュールがありますが、オプションが異なる場合もあります。例えば、Windows Server 2025 用の Amazon EC2 AMIsモジュラー`AWS.Tools`オプションを使用します。

のセットアップ AWS Tools for PowerShell には、以降のトピックで詳しく説明する以下の大まかなタスクが含まれます。

1. 環境に適した AWS Tools for PowerShell パッケージオプションをインストールします。

1. `Get-ExecutionPolicy` コマンドレットを実行して、スクリプトの実行が有効になっていることを確認します。

1.  AWS Tools for PowerShell モジュールを PowerShell セッションにインポートします。

## 前提条件
<a name="prerequisites"></a>

新しいバージョンの PowerShell (PowerShell Core を含む) は、Microsoft のウェブサイトの「[PowerShell のさまざまなバージョンのインストール](https://docs.microsoft.com/en-us/powershell/scripting/install/installing-powershell)」からダウンロードできます。

**Topics**
+ [前提条件](#prerequisites)
+ [のインストール `AWS.Tools` (推奨)](ps-installing-awstools.md)
+ [AWSPowerShell.NetCore をインストールする](ps-installing-awspowershellnetcore.md)
+ [AWSPowerShell のインストール (レガシー)](ps-installing-awswindowspowershell.md)

# Windows `AWS.Tools`に をインストールする (推奨)
<a name="ps-installing-awstools"></a>

前提条件やその他のオプションなど、Windows AWS Tools for PowerShell での のインストールに関する一般的な情報については、[親トピック](pstools-getting-set-up-windows.md)を参照してください。

にプリインストールされている Tools for PowerShell の詳細については AWS CloudShell、「」を参照してください[CloudShell にインストール済み](pstools-getting-set-up-cloudshell.md)。

Windows PowerShell 5.1 または PowerShell Core 6.0 以降で Windows を実行しているコンピュータ AWS Tools for PowerShell には、 のモジュール化されたバージョンをインストールできます。PowerShell Core をインストールする方法については、Microsoft のウェブサイトへの「[PowerShell のさまざまなバージョンのインストール](https://docs.microsoft.com/en-us/powershell/scripting/install/installing-powershell)」を参照してください。

次の 3 つの方法のいずれかで `AWS.Tools` をインストールできます。
+ `AWS.Tools.Installer` モジュール内のコマンドレットを使用する。このモジュールは、他の `AWS.Tools` モジュールのインストールと更新を簡素化します。`AWS.Tools.Installer` は `PowerShellGet` を必要とし、その最新版を自動的にダウンロードしてインストールします。`AWS.Tools.Installer` は、モジュールのバージョンを自動的に同期させます。あるモジュールの新しいバージョンをインストールまたは更新すると、`AWS.Tools.Installer` 内のコマンドレットによって、他のすべての `AWS.Tools` モジュールが同じバージョンに自動的に更新されます。

  この方法については後述の手順で説明します。
+ `[AWS.Tools.zip](https://sdk-for-net.amazonwebservices.com/ps/v5/latest/AWS.Tools.zip)` からモジュールをダウンロードし、モジュールフォルダの 1 つにそのモジュールを展開する。`PSModulePath` 環境変数の値を表示することで、モジュールフォルダを検出できます。
**警告**  
ZIP ファイルをダウンロードした後、展開する前にブロック解除が必要になる場合があります。そのために通常は、ファイルのプロパティを開き、**[General]** (全般) タブで **[Unblock]** (ブロック解除) チェックボックス (存在する場合) をオンにします。  
ZIP ファイルのブロック解除が必要だったが行わなかった場合は、「Import-Module : Could not load file or assembly」 (ファイルまたはアセンブリをロードできませんでした) のようなエラーが表示されることがあります。
+ `Install-Module` コマンドレットを使用して、PowerShell Gallery から各サービスモジュールをインストールします。

**`AWS.Tools.Installer` モジュールを使用して Windows に `AWS.Tools` をインストールするには**

1. PowerShell セッションを起動します。
**注記**  
PowerShell は、実際のタスクで必要とされる場合を除き、昇格されたアクセス許可を持つ管理者として実行*しない*ことをお勧めします。これは、潜在的なセキュリティリスクを避けるためであり、最小限の特権の原則にも反します。

1. モジュール化された `AWS.Tools` パッケージをインストールするには、次のコマンドを実行します。

   ```
   PS > Install-Module -Name AWS.Tools.Installer
   
   Untrusted repository
   You are installing the modules from an untrusted repository. If you trust this repository, change its InstallationPolicy value by running the Set-PSRepository cmdlet. Are you sure
    you want to install the modules from 'PSGallery'?
   [Y] Yes  [A] Yes to All  [N] No  [L] No to All  [S] Suspend  [?] Help (default is "N"): y
   ```

   リポジトリについて「信頼されていない」という通知を受けた場合は、これをインストールするかどうかを確認するメッセージが表示されます。PowerShell がモジュールをインストールできるようにするには、**y** を入力します。プロンプトを回避し、リポジトリを信頼せずにモジュールをインストールするには、`-Force` パラメータを指定してコマンドを実行します。

   ```
   PS > Install-Module -Name AWS.Tools.Installer -Force
   ```

1. コマンドレットを使用して、使用する AWS サービスごとに `Install-AWSToolsModule` モジュールをインストールできるようになりました。例えば、次のコマンドは Amazon EC2 モジュールと Amazon S3 モジュールをインストールします。このコマンドは、指定したモジュールの動作に必要な依存モジュールもインストールします。たとえば、最初の `AWS.Tools` サービスモジュールをインストールすると、`AWS.Tools.Common` もインストールされます。これは、すべての AWS サービスモジュールに必要な共有モジュールです。また、古いバージョンのモジュールを削除し、他のモジュールを同じ新しいバージョンに更新します。

   ```
   PS > Install-AWSToolsModule AWS.Tools.EC2,AWS.Tools.S3 -CleanUp
     Confirm
     Are you sure you want to perform this action?
     Performing the operation "Install-AWSToolsModule" on target "AWS Tools version 4.0.0.0".
     [Y] Yes  [A] Yes to All  [N] No  [L] No to All  [S] Suspend  [?] Help (default is "Y"):
   
     Installing module AWS.Tools.Common version 4.0.0.0
     Installing module AWS.Tools.EC2 version 4.0.0.0
     Installing module AWS.Tools.Glacier version 4.0.0.0
     Installing module AWS.Tools.S3 version 4.0.0.0
   
     Uninstalling AWS.Tools version 3.3.618.0
     Uninstalling module AWS.Tools.Glacier
     Uninstalling module AWS.Tools.S3
     Uninstalling module AWS.Tools.SimpleNotificationService
     Uninstalling module AWS.Tools.SQS
     Uninstalling module AWS.Tools.Common
   ```
**注記**  
`Install-AWSToolsModule` コマンドレットは、すべての要求されたモジュールを `PSGallery` という名前の `PSRepository` ([https://www.powershellgallery.com/](https://www.powershellgallery.com/)) からダウンロードし、これを信頼できるソースと見なします。この `PSRepository` の詳細を参照するには、`Get-PSRepository -Name PSGallery` コマンドを使用します。

   デフォルトでは、前のコマンドはモジュールを `%USERPROFILE%\Documents\WindowsPowerShell\Modules` フォルダにインストールします。コンピュータのすべてのユーザー用に AWS Tools for PowerShell をインストールするには、管理者として起動した PowerShell セッションで次のコマンドを実行する必要があります。例えば、次のコマンドは、すべてのユーザーがアクセスできる `%ProgramFiles%\WindowsPowerShell\Modules` フォルダに IAM モジュールをインストールします。

   ```
   PS > Install-AWSToolsModule AWS.Tools.IdentityManagement -Scope AllUsers
   ```

   他のモジュールをインストールするには、[PowerShell Gallery](https://www.powershellgallery.com/packages?q=aws) にある適切なモジュール名で同様のコマンドを実行します。

## スクリプト実行の有効化
<a name="enable-script-execution-aws-tools"></a>

 AWS Tools for PowerShell モジュールをロードするには、PowerShell スクリプト実行を有効にする必要があります。スクリプトの実行を有効にするには、`Set-ExecutionPolicy` のポリシーを設定するために `RemoteSigned` コマンドレットを実行します。詳細については、Microsoft Technet ウェブサイトの「[About Execution Policies](https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_execution_policies)」を参照してください。

**注記**  
この必要条件は、Windows を実行しているコンピュータのみに適用されます。`ExecutionPolicy` セキュリティ制限は、他のオペレーティングシステムには存在しません。

 **スクリプト実行を有効化するには** 

1. 実行ポリシーを設定するには管理者権限が必要です。管理者権限を持つユーザーとしてログインしていない場合は、管理者として PowerShell セッションを開きます。[**スタート**] ボタンをクリックし、[**すべてのプログラム**] を選択します。[**アクセサリ**] を選択し、[**Windows PowerShell**] を選択します。[**Windows PowerShell**] を右クリックして、コンテキストメニューから [**管理者として実行**] を選択します。

1. コマンドプロンプトで次のコマンドを入力します。

   ```
   PS > Set-ExecutionPolicy RemoteSigned 
   ```

**注記**  
64 ビットシステムでは、32 ビットバージョンの PowerShell である **Windows PowerShell (x86)** でもこれを行う必要があります。

実行ポリシーが正しく設定されていない場合、プロファイルなどのスクリプトを実行しようとすると、次のエラーが表示されます。

```
File C:\Users\username\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1 cannot be loaded because the execution
 of scripts is disabled on this system. Please see "get-help about_signing" for more details.
At line:1 char:2
+ . <<<<  'C:\Users\username\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1'
    + CategoryInfo          : NotSpecified: (:) [], PSSecurityException
    + FullyQualifiedErrorId : RuntimeException
```

Tools for Windows PowerShell インストーラは [PSModulePath](https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_psmodulepath) を更新し、`AWSPowerShell` モジュールが格納されているディレクトリの場所を反映します。

には AWS モジュールのディレクトリの場所`PSModulePath`が含まれているため、 `Get-Module -ListAvailable` コマンドレットにはモジュールが表示されます。

```
PS > Get-Module -ListAvailable

ModuleType Name                      ExportedCommands
---------- ----                      ----------------
Manifest   AppLocker                 {}
Manifest   BitsTransfer              {}
Manifest   PSDiagnostics             {}
Manifest   TroubleshootingPack       {}
Manifest   AWSPowerShell             {Update-EBApplicationVersion, Set-DPStatus, Remove-IAMGroupPol...
```

## バージョニング
<a name="pstools-versioning-aws-tools"></a>

AWS は、新しい AWS サービスや機能をサポートするために、 の新しいバージョン AWS Tools for PowerShell を定期的にリリースします。インストール済みのツールのバージョンを確認するには、[Get-AWSPowerShellVersion](https://docs.aws.amazon.com/powershell/v5/reference/items/Get-AWSPowerShellVersion.html) コマンドレットを実行します。

例えば、次のようになります。

```
PS > Get-AWSPowerShellVersion

AWS Tools for PowerShell
Version 5.0.3
Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.

Amazon Web Services SDK for .NET
Core Runtime Version 4.0.0.13
Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.

Release notes: https://github.com/aws/aws-tools-for-powershell/blob/main/changelogs/CHANGELOG.ALL.md

This software includes third party software subject to the following copyrights:
- Logging from log4net, Apache License
[http://logging.apache.org/log4net/license.html]
```

[Get-AWSPowerShellVersion](https://docs.aws.amazon.com/powershell/v5/reference/items/Get-AWSPowerShellVersion.html) コマンドに `-ListServiceVersionInfo`パラメータを追加して、ツールの最新バージョンでサポートされている AWS サービスのリストを表示することもできます。モジュール化 `AWS.Tools.*` オプションを使用すると、現在インポートしているモジュールのみが表示されます。

例えば、次のようになります。

```
PS > Get-AWSPowerShellVersion -ListServiceVersionInfo
...

Service                            Noun Prefix Module Name                       SDK
                                                                                 Assembly
                                                                                 Version
-------                            ----------- -----------                       -----------
AWS IAM Access Analyzer            IAMAA       AWS.Tools.AccessAnalyzer          3.7.400.33
AWS Account                        ACCT        AWS.Tools.Account                 3.7.400.33
AWS Certificate Manager Private... PCA         AWS.Tools.ACMPCA                  3.7.400.34
AWS Amplify                        AMP         AWS.Tools.Amplify                 3.7.401.28
Amplify Backend                    AMPB        AWS.Tools.AmplifyBackend          3.7.400.33
...
```

実行中の PowerShell のバージョンを確認するには、「`$PSVersionTable`」と入力して、\$1PSVersionTable [自動変数](https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_automatic_variables?view=powershell-6)の内容を表示します。

例えば、次のようになります。

```
PS > $PSVersionTable

Name                           Value
----                           -----
PSVersion                      6.2.2
PSEdition                      Core
GitCommitId                    6.2.2
OS                             Darwin 18.7.0 Darwin Kernel Version 18.7.0: Tue Aug 20 16:57:14 PDT 2019; root:xnu-4903.271.2~2/RELEASE_X86_64
Platform                       Unix
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0…}
PSRemotingProtocolVersion      2.3
SerializationVersion           1.1.0.1
WSManStackVersion              3.0
```

## Windows AWS Tools for PowerShell での の更新
<a name="pstools-updating-awstools"></a>

の更新バージョン AWS Tools for PowerShell がリリースされたら、定期的にローカルで実行しているバージョンを更新する必要があります。

### モジュール化された `AWS.Tools` モジュールを更新する
<a name="update-the-tools-for-powershell-awstools"></a>

`AWS.Tools` モジュールを最新バージョンに更新するには、次のコマンドを実行します。

```
PS > Update-AWSToolsModule -CleanUp
```

このコマンドは、現在インストールされているすべての`AWS.Tools`モジュールを更新し、更新に成功すると以前のバージョンを削除します。

**注記**  
`Update-AWSToolsModule` コマンドレットは、すべてのモジュールを `PSGallery` という名前の `PSRepository` ([https://www.powershellgallery.com/](https://www.powershellgallery.com/)) からダウンロードし、これを信頼できるソースと見なします。この の詳細については、 `Get-PSRepository -Name PSGallery` コマンドを使用します`PSRepository`。

# Windows で AWSPowerShell.NetCore をインストールする
<a name="ps-installing-awspowershellnetcore"></a>

前提条件やその他のオプションなど、Windows AWS Tools for PowerShell への のインストールに関する一般的な情報については、[親トピック](pstools-getting-set-up-windows.md)を参照してください。

にプリインストールされている Tools for PowerShell の詳細については AWS CloudShell、「」を参照してください[CloudShell にインストール済み](pstools-getting-set-up-cloudshell.md)。

**注記**  
AWSPowerShell.NetCore は、 のインストールに推奨される方法ではありません AWS Tools for PowerShell。推奨される方法については、[のインストール `AWS.Tools` (推奨)](ps-installing-awstools.md)代わりに「」を参照してください。

AWSPowerShell.NetCore は、PowerShell バージョン 3～5.1 または PowerShell Core 6.0 以降を搭載する Windows が実行されているコンピュータにインストールできます。PowerShell Core をインストールする方法については、Microsoft の PowerShell ウェブサイトの「[PowerShell のさまざまなバージョンのインストール](https://docs.microsoft.com/en-us/powershell/scripting/install/installing-powershell)」を参照してください。

AWSPowerShell.NetCore は、次の 2 つの方法のいずれかのでインストールできます。
+ [AWSPowerShell.NetCore.zip](https://sdk-for-net.amazonwebservices.com/ps/v5/latest/AWSPowerShell.NetCore.zip) からモジュールをダウンロードし、モジュールディレクトリの 1 つにそのモジュールを展開する。`PSModulePath` 環境変数の値を表示することで、モジュールディレクトリを検出できます。
**警告**  
ZIP ファイルをダウンロードした後、コンテンツを抽出する前に、ブロックを解除する必要がある場合があります。これは通常、ファイルのプロパティを開き、**全般**タブを表示し、ブロック**解除**チェックボックスがある場合はそれを選択することによって行われます。  
ZIP ファイルのブロックを解除する必要がある場合は、「Import-Module : Could not load file or assembly」のようなエラーが表示されることがあります。
+ 次の手順で説明するように、`Install-Module` コマンドレットを使用して PowerShell ギャラリーからインストールします。

**Install-Module コマンドレットを使用して PowerShell ギャラリーから AWSPowerShell.NetCore をインストールするには**

PowerShell ギャラリーから AWSPowerShell.NetCore をインストールするには、コンピュータで PowerShell 5.0 以降が実行されているか、[PowerShellGet](https://www.powershellgallery.com/packages/PowerShellGet) が PowerShell 3 以降で実行されている必要があります。以下のコマンドを実行してください。

```
PS > Install-Module -name AWSPowerShell.NetCore
```

PowerShell を管理者として実行している場合、前のコマンドはコンピュータ上の AWS Tools for PowerShell すべてのユーザーに をインストールします。管理者権限のない標準ユーザーとして PowerShell を実行している場合、同じコマンドが現在のユーザー AWS Tools for PowerShell に対してのみインストールされます。

現在のユーザーが管理者権限を持っている場合に、そのユーザーに対してのみインストールするには、次のように `-Scope CurrentUser` パラメータセットを使用してコマンドを実行します。

```
PS > Install-Module -name AWSPowerShell.NetCore -Scope CurrentUser
```

通常、PowerShell 3.0 以降のリリースでは、初めてモジュールでコマンドレットを実行したときにモジュールが PowerShell セッションにロードされますが、AWSPowerShell.NetCore モジュールは大きすぎるため、この機能をサポートしていません。代わりに、次のコマンドを実行して、AWSPowerShell.NetCore Core モジュールを PowerShell セッションに明示的にロードする必要があります。

```
PS > Import-Module AWSPowerShell.NetCore
```

AWSPowerShell.NetCore モジュールを PowerShell セッションに自動的にロードするには、そのコマンドを PowerShell プロファイルに追加します。PowerShell プロファイルの編集の詳細については、PowerShell ドキュメントの「[About Profiles](https://docs.microsoft.com/powershell/module/microsoft.powershell.core/about/about_profiles)」を参照してください。

## スクリプト実行の有効化
<a name="enable-script-execution-ps-core"></a>

 AWS Tools for PowerShell モジュールをロードするには、PowerShell スクリプト実行を有効にする必要があります。スクリプトの実行を有効にするには、`Set-ExecutionPolicy` のポリシーを設定するために `RemoteSigned` コマンドレットを実行します。詳細については、Microsoft Technet ウェブサイトの「[About Execution Policies](https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_execution_policies)」を参照してください。

**注記**  
この必要条件は、Windows を実行しているコンピュータのみに適用されます。`ExecutionPolicy` セキュリティ制限は、他のオペレーティングシステムには存在しません。

 **スクリプト実行を有効化するには** 

1. 実行ポリシーを設定するには管理者権限が必要です。管理者権限を持つユーザーとしてログインしていない場合は、管理者として PowerShell セッションを開きます。[**スタート**] ボタンをクリックし、[**すべてのプログラム**] を選択します。[**アクセサリ**] を選択し、[**Windows PowerShell**] を選択します。[**Windows PowerShell**] を右クリックして、コンテキストメニューから [**管理者として実行**] を選択します。

1. コマンドプロンプトで次のコマンドを入力します。

   ```
   PS > Set-ExecutionPolicy RemoteSigned 
   ```

**注記**  
64 ビットシステムでは、32 ビットバージョンの PowerShell である **Windows PowerShell (x86)** でもこれを行う必要があります。

実行ポリシーが正しく設定されていない場合、プロファイルなどのスクリプトを実行しようとすると、次のエラーが表示されます。

```
File C:\Users\username\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1 cannot be loaded because the execution
 of scripts is disabled on this system. Please see "get-help about_signing" for more details.
At line:1 char:2
+ . <<<<  'C:\Users\username\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1'
    + CategoryInfo          : NotSpecified: (:) [], PSSecurityException
    + FullyQualifiedErrorId : RuntimeException
```

Tools for Windows PowerShell インストーラは [PSModulePath](https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_psmodulepath) を更新し、`AWSPowerShell` モジュールが格納されているディレクトリの場所を反映します。

には AWS モジュールのディレクトリの場所`PSModulePath`が含まれているため、 `Get-Module -ListAvailable` コマンドレットにはモジュールが表示されます。

```
PS > Get-Module -ListAvailable

ModuleType Name                      ExportedCommands
---------- ----                      ----------------
Manifest   AppLocker                 {}
Manifest   BitsTransfer              {}
Manifest   PSDiagnostics             {}
Manifest   TroubleshootingPack       {}
Manifest   AWSPowerShell             {Update-EBApplicationVersion, Set-DPStatus, Remove-IAMGroupPol...
```

## バージョニング
<a name="pstools-versioning-ps-core"></a>

AWS は、新しい AWS サービスと機能をサポートするために、 の新しいバージョン AWS Tools for PowerShell を定期的にリリースします。インストール済みのツールのバージョンを確認するには、[Get-AWSPowerShellVersion](https://docs.aws.amazon.com/powershell/v5/reference/items/Get-AWSPowerShellVersion.html) コマンドレットを実行します。

例:

```
PS > Get-AWSPowerShellVersion

AWS Tools for PowerShell
Version 5.0.3
Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.

Amazon Web Services SDK for .NET
Core Runtime Version 4.0.0.13
Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.

Release notes: https://github.com/aws/aws-tools-for-powershell/blob/main/changelogs/CHANGELOG.ALL.md

This software includes third party software subject to the following copyrights:
- Logging from log4net, Apache License
[http://logging.apache.org/log4net/license.html]
```

[Get-AWSPowerShellVersion](https://docs.aws.amazon.com/powershell/v5/reference/items/Get-AWSPowerShellVersion.html) コマンドに `-ListServiceVersionInfo`パラメータを追加して、ツールの最新バージョンでサポートされている AWS サービスのリストを表示することもできます。モジュール化 `AWS.Tools.*` オプションを使用すると、現在インポートしているモジュールのみが表示されます。

例:

```
PS > Get-AWSPowerShellVersion -ListServiceVersionInfo
...

Service                            Noun Prefix Module Name                       SDK
                                                                                 Assembly
                                                                                 Version
-------                            ----------- -----------                       -----------
AWS IAM Access Analyzer            IAMAA       AWS.Tools.AccessAnalyzer          3.7.400.33
AWS Account                        ACCT        AWS.Tools.Account                 3.7.400.33
AWS Certificate Manager Private... PCA         AWS.Tools.ACMPCA                  3.7.400.34
AWS Amplify                        AMP         AWS.Tools.Amplify                 3.7.401.28
Amplify Backend                    AMPB        AWS.Tools.AmplifyBackend          3.7.400.33
...
```

実行中の PowerShell のバージョンを確認するには、「`$PSVersionTable`」と入力して、\$1PSVersionTable [自動変数](https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_automatic_variables?view=powershell-6)の内容を表示します。

例:

```
PS > $PSVersionTable

Name                           Value
----                           -----
PSVersion                      6.2.2
PSEdition                      Core
GitCommitId                    6.2.2
OS                             Darwin 18.7.0 Darwin Kernel Version 18.7.0: Tue Aug 20 16:57:14 PDT 2019; root:xnu-4903.271.2~2/RELEASE_X86_64
Platform                       Unix
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0…}
PSRemotingProtocolVersion      2.3
SerializationVersion           1.1.0.1
WSManStackVersion              3.0
```

## Windows AWS Tools for PowerShell での の更新
<a name="pstools-updating-ps-core"></a>

の更新バージョン AWS Tools for PowerShell がリリースされたら、定期的にローカルで実行しているバージョンを更新する必要があります。

### Tools for PowerShell Core の更新
<a name="update-the-tools-for-powershell-core"></a>

`Get-AWSPowerShellVersion` コマンドレットを実行して実行中のバージョンを確認し、[PowerShell Gallery](https://www.powershellgallery.com/packages/AWSPowerShell) ウェブサイトにある Tools for Windows PowerShell のバージョンと比較します。2～3 週間ごとにチェックすることをお勧めします。新しいコマンドと AWS サービスのサポートは、そのサポートでバージョンに更新した後にのみ利用できます。

AWSPowerShell.NetCore の新しいリリースをインストールする前に、既存のモジュールをアンインストールします。既存のパッケージをアンインストールする前に、開いているすべての PowerShell セッションを閉じます。次のコマンドを実行して、パッケージをアンインストールします。

```
PS > Uninstall-Module -Name AWSPowerShell.NetCore -AllVersions
```

パッケージがアンインストールされたら、次のコマンドを実行して、更新されたモジュールをインストールします。

```
PS > Install-Module -Name AWSPowerShell.NetCore
```

インストール後、コマンド `Import-Module AWSPowerShell.NetCore` を実行して、更新されたコマンドレットを PowerShell セッションにロードします。

# Windows PowerShell に AWSPowerShell をインストールする (レガシー)
<a name="ps-installing-awswindowspowershell"></a>

前提条件やその他のオプションなど、Windows AWS Tools for PowerShell での のインストールに関する一般的な情報については、[親トピック](pstools-getting-set-up-windows.md)を参照してください。

にプリインストールされている Tools for PowerShell の詳細については AWS CloudShell、「」を参照してください[CloudShell にインストール済み](pstools-getting-set-up-cloudshell.md)。

**注記**  
AWSPowerShell は、 のインストールに推奨される方法ではありません AWS Tools for PowerShell。推奨される方法については、[のインストール `AWS.Tools` (推奨)](ps-installing-awstools.md)代わりに「」を参照してください。

は、次の 2 つの方法のいずれか AWS Tools for Windows PowerShell でインストールできます。
+ [AWSPowerShell.zip](https://sdk-for-net.amazonwebservices.com/ps/v5/latest/AWSPowerShell.zip) からモジュールをダウンロードし、モジュールディレクトリの 1 つにそのモジュールを展開します。`PSModulePath` 環境変数の値を表示することで、モジュールディレクトリを検出できます。
**警告**  
ZIP ファイルをダウンロードした後、展開する前にブロック解除が必要になる場合があります。そのために通常は、ファイルのプロパティを開き、**[General]** (全般) タブで **[Unblock]** (ブロック解除) チェックボックス (存在する場合) をオンにします。  
ZIP ファイルのブロック解除が必要だったが行わなかった場合は、「Import-Module : Could not load file or assembly」 (ファイルまたはアセンブリをロードできませんでした) のようなエラーが表示されることがあります。
+ 次の手順で説明するように、`Install-Module` コマンドレットを使用して PowerShell ギャラリーからインストールする。

**Install-Module コマンドレットを使用して PowerShell ギャラリーから AWSPowerShell をインストールするには**

PowerShell 5.0 以降を実行している場合、または PowerShellGet on PowerShell 3 以降をインストールしている場合は、PowerShell Gallery から AWSPowerShell PowerShell をインストールできます。 PowerShell [PowerShellGet](https://www.powershellgallery.com/packages/PowerShellGet) 次のコマンドを実行して、Microsoft の [PowerShell ギャラリー](https://www.powershellgallery.com/packages/AWSPowerShell)から AWSPowerShell をインストールおよび更新できます。

```
 PS > Install-Module -Name AWSPowerShell
```

AWSPowerShell モジュールを PowerShell セッションに自動的にロードするには、前の `import-module` コマンドレットを PowerShell プロファイルに追加します。PowerShell プロファイルの編集の詳細については、PowerShell ドキュメントの「[About Profiles](https://docs.microsoft.com/powershell/module/microsoft.powershell.core/about/about_profiles?view=powershell-6)」を参照してください。

## スクリプト実行の有効化
<a name="enable-script-execution-windows-ps"></a>

 AWS Tools for PowerShell モジュールをロードするには、PowerShell スクリプト実行を有効にする必要があります。スクリプトの実行を有効にするには、`Set-ExecutionPolicy` のポリシーを設定するために `RemoteSigned` コマンドレットを実行します。詳細については、Microsoft Technet ウェブサイトの「[About Execution Policies](https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_execution_policies)」を参照してください。

**注記**  
この必要条件は、Windows を実行しているコンピュータのみに適用されます。`ExecutionPolicy` セキュリティ制限は、他のオペレーティングシステムには存在しません。

 **スクリプト実行を有効化するには** 

1. 実行ポリシーを設定するには管理者権限が必要です。管理者権限を持つユーザーとしてログインしていない場合は、管理者として PowerShell セッションを開きます。[**スタート**] ボタンをクリックし、[**すべてのプログラム**] を選択します。[**アクセサリ**] を選択し、[**Windows PowerShell**] を選択します。[**Windows PowerShell**] を右クリックして、コンテキストメニューから [**管理者として実行**] を選択します。

1. コマンドプロンプトで次のコマンドを入力します。

   ```
   PS > Set-ExecutionPolicy RemoteSigned 
   ```

**注記**  
64 ビットシステムでは、32 ビットバージョンの PowerShell である **Windows PowerShell (x86)** でもこれを行う必要があります。

実行ポリシーが正しく設定されていない場合、プロファイルなどのスクリプトを実行しようとすると、次のエラーが表示されます。

```
File C:\Users\username\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1 cannot be loaded because the execution
 of scripts is disabled on this system. Please see "get-help about_signing" for more details.
At line:1 char:2
+ . <<<<  'C:\Users\username\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1'
    + CategoryInfo          : NotSpecified: (:) [], PSSecurityException
    + FullyQualifiedErrorId : RuntimeException
```

Tools for Windows PowerShell インストーラは [PSModulePath](https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_psmodulepath) を更新し、`AWSPowerShell` モジュールが格納されているディレクトリの場所を反映します。

には AWS モジュールのディレクトリの場所`PSModulePath`が含まれているため、 `Get-Module -ListAvailable` コマンドレットにはモジュールが表示されます。

```
PS > Get-Module -ListAvailable

ModuleType Name                      ExportedCommands
---------- ----                      ----------------
Manifest   AppLocker                 {}
Manifest   BitsTransfer              {}
Manifest   PSDiagnostics             {}
Manifest   TroubleshootingPack       {}
Manifest   AWSPowerShell             {Update-EBApplicationVersion, Set-DPStatus, Remove-IAMGroupPol...
```

## バージョニング
<a name="pstools-versioning-windows-ps"></a>

AWS は、新しい AWS サービスや機能をサポートするために、 の新しいバージョン AWS Tools for PowerShell を定期的にリリースします。インストール済みのツールのバージョンを確認するには、[Get-AWSPowerShellVersion](https://docs.aws.amazon.com/powershell/v5/reference/items/Get-AWSPowerShellVersion.html) コマンドレットを実行します。

例えば、次のようになります。

```
PS > Get-AWSPowerShellVersion

AWS Tools for PowerShell
Version 5.0.3
Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.

Amazon Web Services SDK for .NET
Core Runtime Version 4.0.0.13
Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.

Release notes: https://github.com/aws/aws-tools-for-powershell/blob/main/changelogs/CHANGELOG.ALL.md

This software includes third party software subject to the following copyrights:
- Logging from log4net, Apache License
[http://logging.apache.org/log4net/license.html]
```

[Get-AWSPowerShellVersion](https://docs.aws.amazon.com/powershell/v5/reference/items/Get-AWSPowerShellVersion.html) コマンドに `-ListServiceVersionInfo`パラメータを追加して、ツールの最新バージョンでサポートされている AWS サービスのリストを表示することもできます。モジュール化 `AWS.Tools.*` オプションを使用すると、現在インポートしているモジュールのみが表示されます。

例えば、次のようになります。

```
PS > Get-AWSPowerShellVersion -ListServiceVersionInfo
...

Service                            Noun Prefix Module Name                       SDK
                                                                                 Assembly
                                                                                 Version
-------                            ----------- -----------                       -----------
AWS IAM Access Analyzer            IAMAA       AWS.Tools.AccessAnalyzer          3.7.400.33
AWS Account                        ACCT        AWS.Tools.Account                 3.7.400.33
AWS Certificate Manager Private... PCA         AWS.Tools.ACMPCA                  3.7.400.34
AWS Amplify                        AMP         AWS.Tools.Amplify                 3.7.401.28
Amplify Backend                    AMPB        AWS.Tools.AmplifyBackend          3.7.400.33
...
```

実行中の PowerShell のバージョンを確認するには、「`$PSVersionTable`」と入力して、\$1PSVersionTable [自動変数](https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_automatic_variables?view=powershell-6)の内容を表示します。

例えば、次のようになります。

```
PS > $PSVersionTable

Name                           Value
----                           -----
PSVersion                      6.2.2
PSEdition                      Core
GitCommitId                    6.2.2
OS                             Darwin 18.7.0 Darwin Kernel Version 18.7.0: Tue Aug 20 16:57:14 PDT 2019; root:xnu-4903.271.2~2/RELEASE_X86_64
Platform                       Unix
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0…}
PSRemotingProtocolVersion      2.3
SerializationVersion           1.1.0.1
WSManStackVersion              3.0
```

## Windows AWS Tools for PowerShell での の更新
<a name="pstools-updating-windows-ps"></a>

の更新バージョン AWS Tools for PowerShell がリリースされたら、定期的にローカルで実行しているバージョンを更新する必要があります。

### Tools for Windows PowerShell の更新
<a name="update-the-tools-for-windows-powershell"></a>

`Get-AWSPowerShellVersion` コマンドレットを実行して実行中のバージョンを確認し、[PowerShell Gallery](https://www.powershellgallery.com/packages/AWSPowerShell) ウェブサイトにある Tools for Windows PowerShell のバージョンと比較します。2～3 週間ごとにチェックすることをお勧めします。新しいコマンドと AWS サービスのサポートは、そのサポートでバージョンに更新した後にのみ利用できます。
+ `Install-Module` コマンドレットを使用してインストールした場合は、次のコマンドを実行します。

  ```
  PS > Uninstall-Module -Name AWSPowerShell -AllVersions
  PS > Install-Module -Name AWSPowerShell
  ```
+ ダウンロードした ZIP ファイルを使用してインストールした場合:

  1. [Tools for PowerShell](https://aws.amazon.com/powershell/) ウェブサイトから最新バージョンをダウンロードします。ダウンロードしたファイル名に含まれるパッケージのバージョン番号と、`Get-AWSPowerShellVersion` コマンドレットの実行時に取得したバージョン番号を比較します。

  1. ダウンロードバージョンがインストールしたバージョンよりも高い場合は、すべての Tools for Windows PowerShell コンソールを閉じます。

  1. 新しいバージョンの Tools for Windows PowerShell をインストールします。

インストール後、`Import-Module AWSPowerShell` を実行して、更新されたコマンドレットを PowerShell セッションにロードします。または、**スタート**メニューからカスタム AWS Tools for PowerShell コンソールを実行します。

# Linux または macOS AWS Tools for PowerShell への のインストール
<a name="pstools-getting-set-up-linux-mac"></a>

にプリインストールされている Tools for PowerShell の詳細については AWS CloudShell、「」を参照してください[CloudShell にインストール済み](pstools-getting-set-up-cloudshell.md)。

Linux または macOS コンピュータ AWS Tools for PowerShell に をインストールするには、次の 2 つのパッケージオプションから選択できます。
+ [**`AWS.Tools`**](install-aws.tools-on-linux-macos.md) – のモジュール化されたバージョン AWS Tools for PowerShell。各 AWS サービスは、個別の小さなモジュールでサポートされ、共有サポートモジュール があります`AWS.Tools.Common`。
+ [**AWSPowerShell.NetCore**](install-netcore-on-linux-macos.md) – の単一、ラージモジュールバージョン AWS Tools for PowerShell。すべての AWS サービスは、この単一の大きなモジュールでサポートされています。
**注記**  
単一のモジュールは大きすぎて [AWS Lambda](https://aws.amazon.com/lambda/) 関数で使用できない場合があることに注意してください。代わりに、上記のモジュール化されたバージョンを使用します。

Linux または macOS を実行しているコンピュータでこれらのいずれかをセットアップするには、以降のトピックで詳しく説明する以下のタスクが必要です。

1. サポートされているシステムに PowerShell Core 6.0 以降をインストールします。

1. Microsoft PowerShell Core のインストール後、システムシェルで `pwsh` を実行して PowerShell を起動します。

1. `AWS.Tools` または AWSPowerShell.NetCore のいずれかをインストールします。

1. 適切な `Import-Module` コマンドレットを実行して、モジュールを PowerShell セッションにインポートします。

1. [Initialize-AWSDefaultConfiguration](https://docs.aws.amazon.com/powershell/v5/reference/items/Initialize-AWSDefaultConfiguration.html) コマンドレットを実行して、 AWS 認証情報を指定します。

## 前提条件
<a name="prerequisites"></a>

を実行するには AWS Tools for PowerShell Core、コンピュータが PowerShell Core 6.0 以降を実行している必要があります。
+ サポートされている Linux プラットフォームの一覧と、Linux ベースのコンピュータに PowerShell の最新バージョンをインストールする方法については、マイクロソフトのウェブサイトで 「[Linux に PowerShell をインストールする](https://docs.microsoft.com/en-us/powershell/scripting/install/installing-powershell-core-on-linux)」を参照してください。一部の Linux ベースのオペレーティングシステム (Arch、Kali、Raspbian など) は、公式にはサポートされていませんが、さまざまなレベルのコミュニティサポートがあります。
+ サポートされている macOS バージョンと macOS に PowerShell の最新バージョンをインストールする方法については、マイクロソフトのウェブサイトで 「[macOS に PowerShell をインストールする](https://docs.microsoft.com/en-us/powershell/scripting/install/installing-powershell-core-on-macos)」を参照してください。

**Topics**
+ [前提条件](#prerequisites)
+ [のインストール `AWS.Tools` (推奨)](install-aws.tools-on-linux-macos.md)
+ [AWSPowerShell.NetCore をインストールする](install-netcore-on-linux-macos.md)

# Linux または macOS `AWS.Tools`に をインストールする (推奨)
<a name="install-aws.tools-on-linux-macos"></a>

前提条件やその他のオプションなど、Linux または macOS AWS Tools for PowerShell への のインストールに関する一般的な情報については、[親トピック](pstools-getting-set-up-linux-mac.md)を参照してください。

にプリインストールされている Tools for PowerShell の詳細については AWS CloudShell、「」を参照してください[CloudShell にインストール済み](pstools-getting-set-up-cloudshell.md)。

PowerShell Core 6.0 以降を実行しているコンピュータ AWS Tools for PowerShell には、モジュール化されたバージョンの をインストールできます。PowerShell Core をインストールする方法については、Microsoft の PowerShell ウェブサイトの「[PowerShell のさまざまなバージョンのインストール](https://docs.microsoft.com/en-us/powershell/scripting/install/installing-powershell)」を参照してください。

次の 3 つの方法のいずれかで `AWS.Tools` をインストールできます。
+ `AWS.Tools.Installer` モジュール内のコマンドレットを使用する。このモジュールは、他の `AWS.Tools` モジュールのインストールと更新を簡素化します。`AWS.Tools.Installer` は `PowerShellGet` を必要とし、その最新版を自動的にダウンロードしてインストールします。`AWS.Tools.Installer` は、モジュールのバージョンを自動的に同期させます。あるモジュールの新しいバージョンをインストールまたは更新すると、`AWS.Tools.Installer` 内のコマンドレットによって、他のすべての `AWS.Tools` モジュールが同じバージョンに自動的に更新されます。

  この方法については後述の手順で説明します。
+ `[AWS.Tools.zip](https://sdk-for-net.amazonwebservices.com/ps/v5/latest/AWS.Tools.zip)` からモジュールをダウンロードし、モジュールディレクトリの 1 つにそのモジュールを展開します。`$Env:PSModulePath` 変数の値を出力することで、モジュールディレクトリを検出できます。
+ `Install-Module` コマンドレットを使用して、PowerShell Gallery から各サービスモジュールをインストールします。

**`AWS.Tools.Installer` モジュールを使用して Linux または macOS に `AWS.Tools` をインストールするには**

1. 次のコマンドを実行して、PowerShell コアセッションを開始します。

   ```
   $ pwsh
   ```
**注記**  
PowerShell は、実際のタスクで必要とされる場合を除き、昇格されたアクセス許可を持つ管理者として実行*しない*ことをお勧めします。これは、潜在的なセキュリティリスクを避けるためであり、最小限の特権の原則にも反します。

1. `AWS.Tools.Installer` モジュールを使用してモジュール化された `AWS.Tools` パッケージをインストールするには、次のコマンドを実行します。

   ```
   PS > Install-Module -Name AWS.Tools.Installer
   
   Untrusted repository
   You are installing the modules from an untrusted repository. If you trust this repository, change its InstallationPolicy value by running the Set-PSRepository cmdlet. Are you sure
    you want to install the modules from 'PSGallery'?
   [Y] Yes  [A] Yes to All  [N] No  [L] No to All  [S] Suspend  [?] Help (default is "N"): y
   ```

   リポジトリが「信頼されていない」と通知された場合は、インストールするかどうかを尋ねられます。PowerShell がモジュールをインストールできるようにするには、**y** を入力します。プロンプトを回避し、リポジトリを信頼せずにモジュールをインストールするには、次のコマンドを実行します。

   ```
   PS > Install-Module -Name AWS.Tools.Installer -Force
   ```

1. これで、使用するサービスごとにモジュールをインストールできます。例えば、次のコマンドは Amazon EC2 モジュールと Amazon S3 モジュールをインストールします。このコマンドは、指定したモジュールの動作に必要な依存モジュールもインストールします。たとえば、最初の `AWS.Tools` サービスモジュールをインストールすると、`AWS.Tools.Common` もインストールされます。これは、すべての AWS サービスモジュールに必要な共有モジュールです。また、古いバージョンのモジュールを削除し、他のモジュールを同じ新しいバージョンに更新します。

   ```
   PS > Install-AWSToolsModule AWS.Tools.EC2,AWS.Tools.S3 -CleanUp
   Confirm
   Are you sure you want to perform this action?
     Performing the operation "Install-AWSToolsModule" on target "AWS Tools version 4.0.0.0".
     [Y] Yes  [A] Yes to All  [N] No  [L] No to All  [S] Suspend  [?] Help (default is "Y"):
   
     Installing module AWS.Tools.Common version 4.0.0.0
     Installing module AWS.Tools.EC2 version 4.0.0.0
     Installing module AWS.Tools.Glacier version 4.0.0.0
     Installing module AWS.Tools.S3 version 4.0.0.0
   
     Uninstalling AWS.Tools version 3.3.618.0
     Uninstalling module AWS.Tools.Glacier
     Uninstalling module AWS.Tools.S3
     Uninstalling module AWS.Tools.SimpleNotificationService
     Uninstalling module AWS.Tools.SQS
     Uninstalling module AWS.Tools.Common
   ```
**注記**  
`Install-AWSToolsModule` コマンドレットは、すべての要求されたモジュールを `PSGallery` という名前の `PSRepository` ([https://www.powershellgallery.com/](https://www.powershellgallery.com/)) からダウンロードし、このリポジトリを信頼できるソースと見なします。この `PSRepository` の詳細を参照するには、`Get-PSRepository -Name PSGallery` コマンドを使用します。

   前のコマンドは、システムのデフォルトディレクトリにモジュールをインストールします。実際のディレクトリは、オペレーティングシステムのディストリビューションとバージョン、およびインストールした PowerShell のバージョンによって異なります。例えば、PowerShell 7 を RHEL 互換システムにインストールした場合、デフォルトのモジュールは `/opt/microsoft/powershell/7/Modules` (または`$PSHOME/Modules`) に配置され、ユーザーモジュールは `~/.local/share/powershell/Modules` に配置される可能性が最も高くなります。詳細については、Microsoft PowerShell ウェブサイトの「[Linux に PowerShell をインストールする](https://learn.microsoft.com/en-us/powershell/scripting/install/installing-powershell-on-linux)」を参照してください。モジュールがインストールされている場所を確認するには、次のコマンドを実行します。

   ```
   PS > Get-Module -ListAvailable
   ```

   他のモジュールをインストールするには、[PowerShell Gallery](https://www.powershellgallery.com/packages?q=aws) にある適切なモジュール名で同様のコマンドを実行します。

## スクリプトの実行
<a name="enable-script-execution-aws-tools"></a>

`Set-ExecutionPolicy` コマンドは、Windows 以外のシステムでは使用できません。`Get-ExecutionPolicy` は実行できます。これは、Windows 以外のシステムで実行されている PowerShell Core のデフォルトの実行ポリシー設定が `Unrestricted` であることを示します。詳細については、Microsoft Technet ウェブサイトの「[About Execution Policies](https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_execution_policies?view=powershell-5.1)」を参照してください。

 には AWS モジュールのディレクトリの場所`PSModulePath`が含まれているため、 `Get-Module -ListAvailable` コマンドレットにはインストールしたモジュールが表示されます。

**`AWS.Tools`**

```
PS > Get-Module -ListAvailable

    Directory: /Users/username/.local/share/powershell/Modules

ModuleType Version    Name                                PSEdition ExportedCommands
---------- -------    ----                                --------- ----------------
Binary     3.3.563.1  AWS.Tools.Common                    Desk      {Clear-AWSHistory, Set-AWSHistoryConfiguration, Initialize-AWSDefaultConfiguration, Clear-AWSDefaultConfigurat…
```

## PowerShell セッションの初期化
<a name="linux-config-init-aws-tools"></a>

のインストール後に Linux ベースまたは macOS ベースのシステムで PowerShell を起動する場合は AWS Tools for PowerShell、[Initialize-AWSDefaultConfiguration](https://docs.aws.amazon.com/powershell/v5/reference/items/Initialize-AWSDefaultConfiguration.html) を実行して、使用する AWS アクセスキーを指定する必要があります。`Initialize-AWSDefaultConfiguration` の詳細については、「[AWS 認証情報の使用](specifying-your-aws-credentials.md)」を参照してください。

**注記**  
の以前の (3.3.96.0 より前の) リリースでは AWS Tools for PowerShell、このコマンドレットの名前は でした`Initialize-AWSDefaults`。

## バージョニング
<a name="pstools-versioning-aws-tools"></a>

AWS は、新しい AWS サービスや機能をサポートするために、 の新しいバージョン AWS Tools for PowerShell を定期的にリリースします。インストール AWS Tools for PowerShell した のバージョンを確認するには、[Get-AWSPowerShellVersion](https://docs.aws.amazon.com/powershell/v5/reference/items/Get-AWSPowerShellVersion.html) コマンドレットを実行します。

例えば、次のようになります。

```
PS > Get-AWSPowerShellVersion

AWS Tools for PowerShell
Version 5.0.3
Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.

Amazon Web Services SDK for .NET
Core Runtime Version 4.0.0.13
Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.

Release notes: https://github.com/aws/aws-tools-for-powershell/blob/main/changelogs/CHANGELOG.ALL.md

This software includes third party software subject to the following copyrights:
- Logging from log4net, Apache License
[http://logging.apache.org/log4net/license.html]
```

現在のバージョンのツールでサポートされている AWS サービスのリストを表示するには、[Get-AWSPowerShellVersion](https://docs.aws.amazon.com/powershell/v5/reference/items/Get-AWSPowerShellVersion.html) コマンドレットに `-ListServiceVersionInfo`パラメータを追加します。

実行中の PowerShell のバージョンを確認するには、「`$PSVersionTable`」と入力して、`$PSVersionTable` [自動変数](https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_automatic_variables?view=powershell-6)の内容を表示します。

例えば、次のようになります。

```
PS > $PSVersionTable
Name                           Value
----                           -----
PSVersion                      6.2.2
PSEdition                      Core
GitCommitId                    6.2.2
OS                             Darwin 18.7.0 Darwin Kernel Version 18.7.0: Tue Aug 20 16:57:14 PDT 2019; root:xnu-4903.271.2~2/RELEASE_X86_64
Platform                       Unix
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0…}
PSRemotingProtocolVersion      2.3
SerializationVersion           1.1.0.1
WSManStackVersion              3.0
```

## Linux または macOS AWS Tools for PowerShell での の更新
<a name="pstools-updating-linux-aws-tools"></a>

の更新バージョン AWS Tools for PowerShell がリリースされたら、定期的にローカルで実行しているバージョンを更新する必要があります。

### モジュール化された `AWS.Tools` モジュールを更新する
<a name="update-aws.tools-all-systems"></a>

`AWS.Tools` モジュールを最新バージョンに更新するには、次のコマンドを実行します。

```
PS > Update-AWSToolsModule -CleanUp
```

このコマンドは、現在インストールされているすべての`AWS.Tools`モジュールを更新し、更新に成功すると以前のバージョンを削除します。

**注記**  
`Update-AWSToolsModule` コマンドレットは、すべてのモジュールを `PSGallery` という名前の `PSRepository` ([https://www.powershellgallery.com/](https://www.powershellgallery.com/)) からダウンロードし、これを信頼できるソースと見なします。この の詳細については、 `Get-PSRepository -Name PSGallery` コマンドを使用します`PSRepository`。

## 関連情報
<a name="pstools-seealso-setup-aws-tools"></a>
+  [の設定と使用 AWS Tools for PowerShell](pstools-getting-started.md) 
+  [での AWS サービスの呼び出し AWS Tools for PowerShell](pstools-using.md) 

# Linux または MacOS に AWSPowerShell.NetCore をインストールする
<a name="install-netcore-on-linux-macos"></a>

前提条件やその他のオプションなど、Linux または macOS AWS Tools for PowerShell への のインストールに関する一般的な情報については、[親トピック](pstools-getting-set-up-linux-mac.md)を参照してください。

にプリインストールされている Tools for PowerShell の詳細については AWS CloudShell、「」を参照してください[CloudShell にインストール済み](pstools-getting-set-up-cloudshell.md)。

**注記**  
AWSPowerShell.NetCore は、 のインストールに推奨される方法ではありません AWS Tools for PowerShell。推奨される方法については、[のインストール `AWS.Tools` (推奨)](install-aws.tools-on-linux-macos.md)代わりに「」を参照してください。

AWSPowerShell.NetCore の新しいリリースにアップグレードするには、[Linux または macOS AWS Tools for PowerShell での の更新](#pstools-updating-linux-netcore) の手順に従います。最初に AWSPowerShell.NetCore の以前のバージョンをアンインストールします。

次の 2 つの方法のうちの 1 つで AWSPowerShell.NetCore をインストールできます。
+ `[AWSPowerShell.NetCore.zip](https://sdk-for-net.amazonwebservices.com/ps/v5/latest/AWSPowerShell.NetCore.zip)` からモジュールをダウンロードし、モジュールディレクトリの 1 つにそのモジュールを展開します。`$Env:PSModulePath` 変数の値を出力することで、モジュールディレクトリを検出できます。
+ 次の手順で説明するように、`Install-Module` コマンドレットを使用して PowerShell ギャラリーからインストールする。

**Install-Module コマンドレットを使用して Linux または macOS に AWSPowerShell.NetCore をインストールするには**

次のコマンドを実行して、PowerShell コアセッションを開始します。

```
$ pwsh
```

**注記**  
`sudo pwsh` を実行して、昇格された、管理者権限で PowerShellを実行することで PowerShell を起動*しない*ことをお勧めします。これは、潜在的なセキュリティリスクを避けるためであり、最小限の特権の原則にも反します。

PowerShell ギャラリーから AWSPowerShell.NetCore 単一モジュールパッケージをインストールするには、次のコマンドを実行します。

```
PS > Install-Module -Name AWSPowerShell.NetCore

Untrusted repository
You are installing the modules from an untrusted repository. If you trust this repository, change its InstallationPolicy value by running the Set-PSRepository cmdlet. Are you sure
 you want to install the modules from 'PSGallery'?
[Y] Yes  [A] Yes to All  [N] No  [L] No to All  [S] Suspend  [?] Help (default is "N"): y
```

リポジトリが「信頼されていない」と通知された場合は、インストールするかどうかを尋ねられます。PowerShell がモジュールをインストールできるようにするには、**y** を入力します。リポジトリを信頼せずにプロンプトを回避するには、次のコマンドを実行します。

```
PS > Install-Module -Name AWSPowerShell.NetCore -Force
```

コンピュータ AWS Tools for PowerShell のすべてのユーザーに をインストールしない限り、このコマンドを root として実行する必要はありません。これを行うには、`sudo pwsh` を使用して開始した PowerShell セッションで、次のコマンドを実行します。

```
PS > Install-Module -Scope AllUsers -Name AWSPowerShell.NetCore -Force
```

## スクリプトの実行
<a name="enable-script-execution-netcore"></a>

`Set-ExecutionPolicy` コマンドは、Windows 以外のシステムでは使用できません。`Get-ExecutionPolicy` は実行できます。これは、Windows 以外のシステムで実行されている PowerShell Core のデフォルトの実行ポリシー設定が `Unrestricted` であることを示します。詳細については、Microsoft Technet ウェブサイトの「[About Execution Policies](https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_execution_policies?view=powershell-5.1)」を参照してください。

 には AWS モジュールのディレクトリの場所`PSModulePath`が含まれているため、 `Get-Module -ListAvailable` コマンドレットにはインストールしたモジュールが表示されます。

**AWSPowerShell.NetCore**

```
PS > Get-Module -ListAvailable

Directory: /Users/username/.local/share/powershell/Modules

ModuleType Version    Name                                ExportedCommands
---------- -------    ----                                ----------------
Binary     3.3.563.1  AWSPowerShell.NetCore
```

## を使用するように PowerShell コンソールを設定する AWS Tools for PowerShell Core (AWSPowerShell.NetCore のみ)
<a name="pstools-config-ps-window-netcore"></a>

PowerShell Core は、通常、モジュールでコマンドレットを実行するたびにモジュールを自動的にロードします。しかし、これはサイズが大きいため AWSPowerShell.NetCore には機能しません。AWSPowerShell.NetCore コマンドレットの実行を開始するには、まず `Import-Module AWSPowerShell.NetCore` コマンドを実行する必要があります。これは、`AWS.Tools` モジュール内のコマンドレットには必要ありません。

## PowerShell セッションの初期化
<a name="linux-config-init-netcore"></a>

のインストール後に Linux ベースまたは macOS ベースのシステムで PowerShell を起動する場合は AWS Tools for PowerShell、[Initialize-AWSDefaultConfiguration](https://docs.aws.amazon.com/powershell/v5/reference/items/Initialize-AWSDefaultConfiguration.html) を実行して、使用する AWS アクセスキーを指定する必要があります。`Initialize-AWSDefaultConfiguration` の詳細については、「[AWS 認証情報の使用](specifying-your-aws-credentials.md)」を参照してください。

**注記**  
の以前の (3.3.96.0 より前の) リリースでは AWS Tools for PowerShell、このコマンドレットの名前は でした`Initialize-AWSDefaults`。

## バージョニング
<a name="pstools-versioning-netcore"></a>

AWS は、新しい AWS サービスや機能をサポートするために、 の新しいバージョン AWS Tools for PowerShell を定期的にリリースします。インストール AWS Tools for PowerShell した のバージョンを確認するには、[Get-AWSPowerShellVersion](https://docs.aws.amazon.com/powershell/v5/reference/items/Get-AWSPowerShellVersion.html) コマンドレットを実行します。

例えば、次のようになります。

```
PS > Get-AWSPowerShellVersion

AWS Tools for PowerShell
Version 5.0.3
Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.

Amazon Web Services SDK for .NET
Core Runtime Version 4.0.0.13
Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.

Release notes: https://github.com/aws/aws-tools-for-powershell/blob/main/changelogs/CHANGELOG.ALL.md

This software includes third party software subject to the following copyrights:
- Logging from log4net, Apache License
[http://logging.apache.org/log4net/license.html]
```

現在のバージョンのツールでサポートされている AWS サービスのリストを表示するには、[Get-AWSPowerShellVersion](https://docs.aws.amazon.com/powershell/v5/reference/items/Get-AWSPowerShellVersion.html) コマンドレットに `-ListServiceVersionInfo`パラメータを追加します。

実行中の PowerShell のバージョンを確認するには、「`$PSVersionTable`」と入力して、`$PSVersionTable` [自動変数](https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_automatic_variables?view=powershell-6)の内容を表示します。

例えば、次のようになります。

```
PS > $PSVersionTable
Name                           Value
----                           -----
PSVersion                      6.2.2
PSEdition                      Core
GitCommitId                    6.2.2
OS                             Darwin 18.7.0 Darwin Kernel Version 18.7.0: Tue Aug 20 16:57:14 PDT 2019; root:xnu-4903.271.2~2/RELEASE_X86_64
Platform                       Unix
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0…}
PSRemotingProtocolVersion      2.3
SerializationVersion           1.1.0.1
WSManStackVersion              3.0
```

## Linux または macOS AWS Tools for PowerShell での の更新
<a name="pstools-updating-linux-netcore"></a>

の更新バージョン AWS Tools for PowerShell がリリースされたら、定期的にローカルで実行しているバージョンを更新する必要があります。

### Tools for PowerShell Core の更新
<a name="update-netcore-all-systems"></a>

`Get-AWSPowerShellVersion` コマンドレットを実行して実行中のバージョンを確認し、[PowerShell Gallery](https://www.powershellgallery.com/packages/AWSPowerShell) ウェブサイトにある Tools for Windows PowerShell のバージョンと比較します。2～3 週間ごとにチェックすることをお勧めします。新しいコマンドと AWS サービスのサポートは、そのサポートでバージョンに更新した後にのみ利用できます。

AWSPowerShell.NetCore の新しいリリースをインストールする前に、既存のモジュールをアンインストールします。既存のパッケージをアンインストールする前に、開いているすべての PowerShell セッションを閉じます。次のコマンドを実行して、パッケージをアンインストールします。

```
PS > Uninstall-Module -Name AWSPowerShell.NetCore -AllVersions
```

パッケージがアンインストールされたら、次のコマンドを実行して、更新されたモジュールをインストールします。

```
PS > Install-Module -Name AWSPowerShell.NetCore
```

インストール後、コマンド `Import-Module AWSPowerShell.NetCore` を実行して、更新されたコマンドレットを PowerShell セッションにロードします。

## 関連情報
<a name="pstools-seealso-setup-netcore"></a>
+  [の設定と使用 AWS Tools for PowerShell](pstools-getting-started.md) 
+  [での AWS サービスの呼び出し AWS Tools for PowerShell](pstools-using.md) 

# AWS Tools for PowerShell を使用した の認証 AWS
<a name="creds-idc"></a>

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

Tools for PowerShell のさまざまな認証方法については、「*AWS SDK とツールのリファレンスガイド*」の「[認証とアクセス](https://docs.aws.amazon.com/sdkref/latest/guide/access.html)」を参照してください。

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

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

1. [コンソール認証情報を使用してログインする](#login-con-creds)

1. [IAM Identity Center の有効化と設定](#idc-config-sso)

1. [IAM Identity Center を使用するように Tools for PowerShell を設定します。](#idc-config-sdk)

1. [AWS アクセスポータルセッションを開始する](#idc-start-portal)

## コンソール認証情報を使用してログインする
<a name="login-con-creds"></a>

へのプログラムによるアクセスには、既存の AWS マネジメントコンソールのサインイン認証情報を使用できます AWS のサービス。ブラウザベースの認証フローの後、 は AWS SDKs などのローカル開発ツールで動作する一時的な認証情報 AWS Tools for PowerShell を生成します AWS Tools for PowerShell AWS CLI。この機能は、特に長期的なアクセスキーの管理よりもインタラクティブな認証を希望する場合、 CLI 認証情報の設定と管理のプロセスを簡素化します。

このプロセスでは、最初のアカウント設定時に作成されたルート認証情報、IAM ユーザー、または ID プロバイダーからのフェデレーティッド ID を使用して認証できます。Tools for PowerShell は一時的な認証情報を自動的に管理します。このアプローチにより、長期的な認証情報をローカルに保存する必要がなくなるため、セキュリティが強化されます。

`Invoke-AWSLogin` コマンドレットを実行すると、アクティブなコンソールセッションから選択することも、ブラウザベースの認証フローを通じてサインインすることもできます。これにより、一時的な認証情報が自動的に生成されます。 AWS Tools for PowerShell はこれらの認証情報を最大 12 時間自動的に更新します。

設定が完了すると、セッションは AWS Tools for PowerShell およびその他のすべての AWS SDKsとツールで使用できます。

### 前提条件
<a name="idc-invoke-login-prerequisites"></a>
+ ルートユーザー、IAM ユーザー、または IAM とのフェデレーションを通じて AWS マネジメントコンソールにサインインするためのアクセス。IAM Identity Center を使用する場合は、代わりに「[IAM Identity Center を使用するように Tools for PowerShell を設定します。](#idc-config-sdk)」を参照してください。
+ IAM ID に適切なアクセス許可があることを確認します。[SignInLocalDevelopmentAccess](https://docs.aws.amazon.com/signin/latest/userguide/security-iam-awsmanpol.html#security-iam-awsmanpol-SignInLocalDevelopmentAccess) 管理ポリシーを IAM ユーザー、ロール、またはグループにアタッチします。ルートユーザーとしてサインインする場合、追加のアクセス許可は必要ありません。

### Invoke-AWSLogin コマンドレット AWS を使用して にログインする
<a name="idc-invoke-login"></a>

`Invoke-AWSLogin` コマンドレットを実行して、既存の AWS マネジメントコンソール認証情報を使用して認証します。以前にプロファイルを設定していない場合は、追加情報の入力を求められます。

プロファイルにサインインまたは設定するには、以下の手順に従います。

1. インストールガイドからインストールした正しいモジュールをインポートしていることを確認します。
**注記**  
PowerShell には、`AWS.Tools`、、`AWSPowerShell.NetCore`および の 3 つの異なるモジュールがあります`AWSPowerShell`。詳細については「[AWS Tools for PowerShellとは何ですか?](pstools-welcome.md)」を参照してください。
   + PowerShell ターミナルで、 コマンドレットを実行します。これにより、 `default`プロファイルが使用されます。

     ```
     PS > Invoke-AWSLogin
     ```
   + 名前付きプロファイルにサインインするか、新しいプロファイルを作成するには、 `-ProfileName`パラメータを使用します。

     ```
     PS > Invoke-AWSLogin -ProfileName 'my-dev-profile'
     ```
   + これが新しいプロファイルであるか、以前のプロファイル/環境変数で指定または設定 AWS リージョン されていない場合、コマンドレットはリージョンを指定するように求めます。

     ```
     Press Ctrl+C to cancel the following login prompts.
     
     Specify AWS Region
     No AWS region has been configured. The AWS region is the geographic location of your AWS resources.
     
     If you've used AWS before and already have resources in your account, tell us which region they were created in. If you
      haven't created resources in your account before, you can pick the region closest to you:
     https://docs.aws.amazon.com/global-infrastructure/latest/regions/aws-regions.html
     
     AWS Region:
     ```

1. は、 AWS アカウントのサインインプロセスのためにデフォルトのブラウザを開 AWS Tools for PowerShell こうとします。

   ```
   Using region 'us-west-2'
   Attempting to open the login page for 'us-west-2' in your default browser.
   If the browser does not open, use the following URL to complete your login:
   https://signin.us-west-2.amazonaws.com/authorize?<abbreviated>
   
   If you cannot connect to this URL, make sure that you have specified a valid region.
   ```
   + を使用するデバイスにブラウザ AWS Tools for PowerShell がない場合は、 `-Remote`パラメータを使用して、ブラウザ対応デバイスで を開くための URL を指定できます。

     ```
     PS > Invoke-AWSLogin -Remote
     ```
   + `-Remote` パラメータを使用すると、使用している認可のタイプに基づいてサインインプロセスを手動で開始する手順が表示されます。表示される URL は、https://signin.us-east-1.amazonaws.com/authorize で始まる一意の URL です。ブラウザのログインが完了したら、結果の認可コードをコピーしてターミナルに貼り付ける必要があります。

     ```
     Press Ctrl+C to cancel the following login prompts.
     Using region 'us-west-2' determined by profile/environment defaults. To override, specify '-Region' parameter.
     Please complete the login workflow via the following URL:
     
     https://us-west-2.signin.aws.amazon.com/v1/authorize?<abbrievated>
     
     Please enter the authorization code displayed in the browser:
     ```

1. ブラウザで、表示されたリストから使用する認証情報を選択し、ターミナルに戻ります。
   + 設定するプロファイルに、新しいセッションと一致しない以前に設定されたログインセッションがある場合、既存のプロファイルに対応するセッションを切り替えていることを確認するように AWS Tools for PowerShell 求められます。

     ```
     WARNING: Previously profile default was configured for arn:aws:iam::0123456789012:user/ReadOnly, 
                     and is now being updated to arn:aws:iam::0123456789012:user/Admin. 
     
     Do you wish to change the identity that default is associated with? (y/n)
     ```

1. 最後のメッセージは、完了したプロファイル設定について説明しています。

   ```
   Login completed successfully for profile 'my-dev-profile'.
   ```

   認証トークンは、解決されたプロファイルに基づくハッシュファイル名を使用して、.aws/login/cache ディレクトリの下のディスクにキャッシュされます。

#### 生成された設定ファイル
<a name="idc-generated-config"></a>

これらのステップにより、設定ファイルに次のようなデフォルトまたは指定されたプロファイルが作成されます。

```
[default]
login_session = arn:aws:iam::0123456789012:user/username
region = us-east-1

[my-dev-profile]
login_session = arn:aws:iam::0123456789012:user/username
region = us-east-1
```

#### プロファイルでコマンドを実行する
<a name="idc-run-command"></a>

サインインしたら、認証情報を使用して、関連付けられたプロファイルで Tools for PowerShell コマンドレットを呼び出すことができます。次の例では、デフォルトプロファイルを使用して `Get-STSCallerIdentity` コマンドレットを呼び出します。

```
PS > Get-STSCallerIdentity
```

特定のセッションを確認するには、 `-ProfileName`パラメータを使用します。

```
PS > Get-STSCallerIdentity -ProfileName 'my-dev-profile'
```

一時的な認証情報トークンは 15 分で期限切れになりますが、 AWS Tools for PowerShell および SDKsリクエスト中に必要に応じてトークンを自動的に更新します。セッション全体は最大 12 時間有効です。その後、`Invoke-AWSLogin`コマンドレットを再度実行する必要があります。

#### `Invoke-AWSLogout` コマンドレットを使用したセッションからのサインアウト
<a name="idc-logout"></a>

セッションが完了したら、認証情報を期限切れにするか、 `Invoke-AWSLogout` コマンドレットを実行してキャッシュされた認証情報を削除できます。CLI または AWS\$1PROFILE 環境変数でプロファイルが指定されていない場合、コマンドはデフォルトのプロファイルからサインアウトします。次の例では、デフォルトプロファイルからサインアウトします。

```
PS > Invoke-AWSLogout
```

特定のプロファイルセッションからサインアウトするには、 `-ProfileName`パラメータを使用します。

```
PS > Invoke-AWSLogout -ProfileName 'my-dev-profile'
```

ログインしたすべてのプロファイルセッションからサインアウトするには、 `-All`パラメータを使用します。

```
PS > Invoke-AWSLogout -All
```

#### キャッシュされた認証情報
<a name="idc-cached-credentials"></a>

一時キャッシュされた認証情報、およびそれらを更新するために必要なメタデータは、デフォルトで Windows `%USERPROFILE%\.aws\login\cache`の または Linux と MacOS `~/.aws/login/cache` に保存されます。

`AWS_LOGIN_CACHE_DIRECTORY` 環境変数を設定することで、この場所を上書きできます。

## IAM Identity Center の有効化と設定
<a name="idc-config-sso"></a>

を使用するには AWS IAM アイデンティティセンター、まず有効にして設定する必要があります。PowerShell でこれを行う方法の詳細については、「*AWS SDK とツールのリファレンスガイド*」の [IAM Identity Center 認証](https://docs.aws.amazon.com/sdkref/latest/guide/access-sso.html)に関するトピックの**ステップ 1** を参照してください。具体的には、「**IAM Identity Center 経由のアクセスを確立していません**」にある必要な指示に従ってください。

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

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

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

1. まだ実行していない場合は、PowerShell を開き、一般的なコマンドレットを含むオペレーティングシステムと環境 AWS Tools for PowerShell に適した をインストールします。これを行う方法については、「[の使用を開始する AWS Tools for PowerShell](pstools-getting-set-up.md)」を参照してください。

   例えば、モジュール化されたバージョンの Tools for PowerShell を Windows にインストールするには、ほとんどの場合、次のようなコマンドを実行します。

   ```
   Install-Module -Name AWS.Tools.Installer
   Install-AWSToolsModule AWS.Tools.Common
   ```

1. 以下のコマンドを実行してください。サンプルプロパティ値を IAM Identity Center 設定の値に置き換えます。これらのプロパティとその確認方法については、「*AWS SDK とツールのリファレンスガイド*」の「[IAM Identity Center 認証情報プロバイダーの設定](https://docs.aws.amazon.com/sdkref/latest/guide/feature-sso-credentials.html#feature-sso-credentials-profile)」を参照してください。

   ```
   $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-AWSSSOConfiguration` を単体で使用することもでき、その場合は Tools for PowerShell 側でプロパティ値の入力を求められます。

   特定のプロパティ値に関する考慮事項:
   + [IAM Identity Center の有効化と設定](#idc-config-sso)の手順どおりに進めた場合、`-RoleName` の値は `PowerUserAccess` になっている可能性があります。ただし、PowerShell 作業専用に IAM Identity Center アクセス許可セットを作成した場合は、代わりにそれを使用します。
   + IAM Identity Center を設定した AWS リージョン を使用してください。

1. この時点で、共有 AWS `config`ファイルには、Tools for PowerShell から参照できる設定値のセット`my-sso-profile`を含む というプロファイルが含まれています。このファイルの場所を確認するには、「*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 のサービス 使用されている へのアクセスを許可する必要があります。

   次のサンプルは、上記のコマンドを使用して作成されたプロファイルを示しています。実際のプロファイルでは、一部のプロパティの値や順序が異なる場合があります。プロファイルの `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/
   ```

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

   セッションがまだない場合、Tools for PowerShell は既定のウェブブラウザで SSO 認可ページを自動的に開こうとします。ブラウザのプロンプトに従います。プロンプトには、SSO 認可コード、ユーザー名とパスワード、 AWS IAM アイデンティティセンター アカウントとアクセス許可セットへのアクセス許可が含まれる場合があります。

   Tools for PowerShell によって SSO ログインが成功したことが通知されます。

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

にアクセスするコマンドを実行する前に 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 アイデンティティセンター アカウントとアクセス許可セットへのアクセス許可が含まれる場合があります。

Tools for PowerShell によって SSO ログインが成功したことが通知されます。

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

```
Get-STSCallerIdentity -ProfileName my-sso-profile
```

この `Get-STSCallerIdentity` コマンドレットのレスポンスには、共有 `config` ファイルに設定されている IAM Identity Center アカウントとアクセス許可セットが表示されます。

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

以下は、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
```

## 追加情報
<a name="idc-additional-info"></a>
+ プロファイルや環境変数の使用など、Tools for PowerShell の認証に関するその他のオプションについては、「*AWS SDK とツールのリファレンスガイド*」の[設定](https://docs.aws.amazon.com/sdkref/latest/guide/creds-config-files.html)に関する章を参照してください。
+ 一部のコマンドでは、 AWS リージョンを指定する必要があります。`-Region` コマンドレットオプション、`[default]` プロファイル、`AWS_REGION` 環境変数など、いくつかの指定方法があります。詳細については、このガイドの「[の AWS リージョンを指定する AWS Tools for PowerShell](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)」を参照してください。

**Topics**
+ [コンソール認証情報を使用してログインする](#login-con-creds)
+ [IAM Identity Center の有効化と設定](#idc-config-sso)
+ [IAM Identity Center を使用するように Tools for PowerShell を設定します。](#idc-config-sdk)
+ [AWS アクセスポータルセッションを開始する](#idc-start-portal)
+ [例](#idc-short-example)
+ [追加情報](#idc-additional-info)
+ [を使用する AWS CLI](creds-idc-cli.md)

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

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

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

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

を使用して IAM アイデンティティセンターを使用するように Tools for PowerShell を設定する方法については、「 SDK およびツールリファレンスガイド」の[「IAM アイデンティティセンター認証](https://docs.aws.amazon.com/sdkref/latest/guide/access-sso.html)」トピックの**ステップ 2** AWS CLI を参照してください。 *AWS SDKs * この設定を完了すると、システムには以下の要素が含まれるようになります。
+ アプリケーションを実行する前に 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...」というエラーが表示されます。

## 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` になります。名前付きプロファイルの詳細については、[「 SDK およびツールリファレンスガイド」の「プロファイル](https://docs.aws.amazon.com/sdkref/latest/guide/file-format.html#file-format-profile)*AWS SDKs*」セクションを参照してください。

アクティブなセッションが既にあるかどうかをテストするには、次の 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 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` です。名前付きプロファイルの詳細については、[「 SDK およびツールリファレンスガイド」の「プロファイル](https://docs.aws.amazon.com/sdkref/latest/guide/file-format.html#file-format-profile)*AWS SDKs*」セクションを参照してください。

## 追加情報
<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 リージョンを指定する AWS Tools for PowerShell](pstools-installing-specifying-region.md)の「」と SDK およびツールリファレンスガイドの[AWS 「リージョン](https://docs.aws.amazon.com/sdkref/latest/guide/feature-region.html)」を参照してください。 *AWS SDKs *
+ ベストプラクティスの詳細については、*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)」を参照してください。