

のバージョン 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 STS Tools for PowerShell V5 を使用した の例
<a name="powershell_sts_code_examples"></a>

次のコード例は、 で AWS Tools for PowerShell V5 を使用してアクションを実行し、一般的なシナリオを実装する方法を示しています AWS STS。

*アクション*はより大きなプログラムからのコードの抜粋であり、コンテキスト内で実行する必要があります。アクションは個々のサービス機能を呼び出す方法を示していますが、コンテキスト内のアクションは、関連するシナリオで確認できます。

各例には完全なソースコードへのリンクが含まれており、コードの設定方法と実行方法に関する手順を確認できます。

**Topics**
+ [アクション](#actions)

## アクション
<a name="actions"></a>

### `Convert-STSAuthorizationMessage`
<a name="sts_DecodeAuthorizationMessage_powershell_topic"></a>

次のコード例は、`Convert-STSAuthorizationMessage` を使用する方法を示しています。

**Tools for PowerShell V5**  
**例 1: リクエストへの応答として返された、指定されたエンコード済みメッセージコンテンツに含まれる追加情報をデコードします。承認ステータスの詳細は、アクションをリクエストしたユーザーが見てはならない特権情報である可能性があるため、追加情報はエンコードされます。**  

```
Convert-STSAuthorizationMessage -EncodedMessage "...encoded message..."
```
+  API の詳細については、AWS Tools for PowerShell コマンドレットリファレンス (V5) の「[DecodeAuthorizationMessage](https://docs.aws.amazon.com/powershell/v5/reference)」を参照してください。**

### `Get-STSFederationToken`
<a name="sts_GetFederationToken_powershell_topic"></a>

次のコード例は、`Get-STSFederationToken` を使用する方法を示しています。

**Tools for PowerShell V5**  
**例 1: 「Bob」をフェデレーションユーザーの名前として使用して、1 時間有効なフェデレーショントークンをリクエストします。この名前は、リソースベースのポリシー (Amazon S3 バケットポリシーなど) のフェデレーションユーザー名を参照するために使用できます。提供される JSON 形式の IAM ポリシーを使用して、IAM ユーザーが利用できるアクセス権限の範囲を絞り込みます。指定されたポリシーでは、リクエストしたユーザーに付与されたアクセス権限よりも多くのアクセス権限を付与することはできません。フェデレーションユーザーの最終的なアクセス権限は、渡されたポリシーと IAM ユーザーポリシーの共通部分に基づいて最も制限の厳しい一式となります。**  

```
Get-STSFederationToken -Name "Bob" -Policy "...JSON policy..." -DurationInSeconds 3600
```
+  API の詳細については、AWS Tools for PowerShell コマンドレットリファレンス (V5) の「[GetFederationToken](https://docs.aws.amazon.com/powershell/v5/reference)」を参照してください。**

### `Get-STSSessionToken`
<a name="sts_GetSessionToken_powershell_topic"></a>

次のコード例は、`Get-STSSessionToken` を使用する方法を示しています。

**Tools for PowerShell V5**  
**例 1: 一定期間有効な一時的な認証情報を含む `Amazon.RuntimeAWSCredentials` インスタンスを返します。一時的な認証情報をリクエストするために使用される認証情報は、現在のシェルのデフォルトから推測されます。他の認証情報を指定するには、-ProfileName または-AccessKey/-SecretKey パラメータを使用します。**  

```
Get-STSSessionToken
```
**出力:**  

```
AccessKeyId                             Expiration                              SecretAccessKey                        SessionToken
-----------                             ----------                              ---------------                        ------------
EXAMPLEACCESSKEYID                      2/16/2015 9:12:28 PM                    examplesecretaccesskey...              SamPleTokeN.....
```
**例 2: 1 時間有効な一時的な認証情報を含む `Amazon.RuntimeAWSCredentials` インスタンスを返します。リクエストを行うために使用される認証情報は、指定されたプロファイルから取得されます。**  

```
Get-STSSessionToken -DurationInSeconds 3600 -ProfileName myprofile
```
**出力:**  

```
AccessKeyId                             Expiration                              SecretAccessKey                        SessionToken
-----------                             ----------                              ---------------                        ------------
EXAMPLEACCESSKEYID                      2/16/2015 9:12:28 PM                    examplesecretaccesskey...              SamPleTokeN.....
```
**例 3: プロファイル「myprofilename」で認証情報が指定されているアカウントに関連付けられた MFA デバイスの識別番号とデバイスから提供された値を使用して、1 時間有効な一時的な認証情報を含む `Amazon.RuntimeAWSCredentials` インスタンスを返します。**  

```
Get-STSSessionToken -DurationInSeconds 3600 -ProfileName myprofile -SerialNumber YourMFADeviceSerialNumber -TokenCode 123456
```
**出力:**  

```
AccessKeyId                             Expiration                              SecretAccessKey                        SessionToken
-----------                             ----------                              ---------------                        ------------
EXAMPLEACCESSKEYID                      2/16/2015 9:12:28 PM                    examplesecretaccesskey...              SamPleTokeN.....
```
+  API の詳細については、AWS Tools for PowerShell コマンドレットリファレンス (V5) の「[GetSessionToken](https://docs.aws.amazon.com/powershell/v5/reference)」を参照してください。**

### `Use-STSRole`
<a name="sts_AssumeRole_powershell_topic"></a>

次のコード例は、`Use-STSRole` を使用する方法を示しています。

**Tools for PowerShell V5**  
**例 1: リクエスト元のユーザーが通常アクセスできない AWS リソースにアクセスするために 1 時間使用できる一時的な認証情報 (アクセスキー、シークレットキー、セッショントークン) のセットを返します。返される認証情報には、引き受けているロールのアクセスポリシーと提供されたポリシーで許可されている権限があります (提供されたポリシーを使用して、引き受けているロールのアクセスポリシーで定義されている権限を超える権限を付与することはできません)。**  

```
Use-STSRole -RoleSessionName "Bob" -RoleArn "arn:aws:iam::123456789012:role/demo" -Policy "...JSON policy..." -DurationInSeconds 3600
```
**例 2: 引き受けているロールのアクセスポリシーで定義されているのと同じ権限を持つ、1 時間有効の一時的な認証情報を返します。**  

```
Use-STSRole -RoleSessionName "Bob" -RoleArn "arn:aws:iam::123456789012:role/demo" -DurationInSeconds 3600
```
**例 3: コマンドレットの実行に使用されるユーザー認証情報に関連付けられている MFA からシリアル番号と生成されたトークンを提供する一時的な認証情報一式を返します。**  

```
Use-STSRole -RoleSessionName "Bob" -RoleArn "arn:aws:iam::123456789012:role/demo" -DurationInSeconds 3600 -SerialNumber "GAHT12345678" -TokenCode "123456"
```
**例 4: 顧客アカウントで定義されているロールを引き受けた一時的な認証情報一式を返します。第三者が引き受けることができるロールごとに、顧客アカウントは、ロールを引き受けるたび、-ExternalId パラメータで渡す必要がある識別子を使用してロールを作成する必要があります。**  

```
Use-STSRole -RoleSessionName "Bob" -RoleArn "arn:aws:iam::123456789012:role/demo" -DurationInSeconds 3600 -ExternalId "ABC123"
```
+  API の詳細については、AWS Tools for PowerShell コマンドレットリファレンス (V5) の「[AssumeRole](https://docs.aws.amazon.com/powershell/v5/reference)」を参照してください。**

### `Use-STSWebIdentityRole`
<a name="sts_AssumeRoleWithWebIdentity_powershell_topic"></a>

次のコード例は、`Use-STSWebIdentityRole` を使用する方法を示しています。

**Tools for PowerShell V5**  
**例 1: Login with Amazon ID プロバイダーで認証されたユーザーの一時的な認証情報一式 (1 時間有効) を返します。認証情報は、ロール ARN によって識別されるロールに関連付けられたアクセスポリシーを引き受けます。オプションで、JSON ポリシーを-Policy パラメータに渡して、アクセス権限をさらに絞り込むことができます (ロールに関連付けられている権限で使用可能な権限よりも多くの権限を付与することはできません)。-WebIdentityToken に渡される値は、ID プロバイダーから返された一意のユーザー識別子です。**  

```
Use-STSWebIdentityRole -DurationInSeconds 3600 -ProviderId "www.amazon.com" -RoleSessionName "app1" -RoleArn "arn:aws:iam::123456789012:role/FederatedWebIdentityRole" -WebIdentityToken "Atza...DVI0r1"
```
+  API の詳細については、AWS Tools for PowerShell コマンドレットリファレンス (V5) の「[AssumeRoleWithWebIdentity](https://docs.aws.amazon.com/powershell/v5/reference)」を参照してください。**