

のバージョン 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="shared-credentials-in-aws-powershell"></a>

Tools for Windows PowerShell は、 AWS CLI やその他の AWS SDKs と同様に、 AWS 共有認証情報ファイルの使用をサポートしています。Tools for Windows PowerShell では`basic`、.NET `assume role`認証情報ファイルと共有認証情報ファイルへの 、`session`、および AWS 認証情報プロファイルの読み取りと書き込みがサポートされるようになりました。この機能は、新しい `Amazon.Runtime.CredentialManagement` 名前空間で有効になります。

**警告**  
セキュリティリスクを避けるため、専用ソフトウェアを開発するときや実際のデータを扱うときは、IAM ユーザーを認証に使用しないでください。代わりに、[AWS IAM アイデンティティセンター](https://docs.aws.amazon.com/singlesignon/latest/userguide/what-is.html) などの ID プロバイダーとのフェデレーションを使用してください。

**注記**  
このトピックの情報は、短期または長期認証情報を手動で取得および管理する必要がある場合を対象としています。短期認証情報と長期認証情報に関する追加情報については、「*AWS SDK およびツールリファレンスガイド*」の「[その他の認証方法](https://docs.aws.amazon.com/sdkref/latest/guide/access-users.html)」を参照してください。  
セキュリティのベストプラクティスについては、 AWS IAM アイデンティティセンター「」の説明に従って を使用します[による認証 AWS](creds-idc.md)。

新しいプロファイルタイプと AWS 共有認証情報ファイルへのアクセスは、認証情報関連のコマンドレット、[Initialize-AWSDefaultConfiguration](https://docs.aws.amazon.com/powershell/v5/reference/items/Initialize-AWSDefaultConfiguration.html)、[New-AWSCredential](https://docs.aws.amazon.com/powershell/v5/reference/items/New-AWSCredential.html)、[Set-AWSCredential](https://docs.aws.amazon.com/powershell/v5/reference/items/Set-AWSCredential.html) に追加された次のパラメータでサポートされています。サービスコマンドレットで共通パラメータ `-ProfileName` を追加すると、新しいプロファイルを参照できます。

## での IAM ロールの使用 AWS Tools for PowerShell
<a name="shared-credentials-assume-role"></a>

 AWS 共有認証情報ファイルを使用すると、追加のタイプのアクセスが可能になります。たとえば、IAM ユーザーの長期的な認証情報の代わりに IAM ロール AWS を使用してリソースにアクセスできます。これを行うには、ロールを継承するアクセス許可を持つ標準プロファイルが必要です。ロールを指定したプロファイルを使用する AWS Tools for PowerShell ように に指示すると、 は `SourceProfile`パラメータで識別されるプロファイル AWS Tools for PowerShell を検索します。これらの認証情報は、`RoleArn` パラメータで指定されたロールの一時的な認証情報を要求するために使用されます。ロールが第三者によって継承される場合は、オプションで、多要素認証 (MFA) デバイスまたは `ExternalId` コードの使用を要求できます。


****  

| Parameter Name | 説明 | 
| --- | --- | 
|  ExternalId  |  ロールを引き受ける際に使用するユーザー定義の外部 ID (ロールで必要とされる場合)。これは通常、アカウントへのアクセス権を第三者に委任する場合にのみ必要です。第三者は、割り当てられたロールを継承するときに、パラメータとして ExternalId を含める必要があります。詳細については、*IAM* [ユーザーガイドの AWS 「リソースへのアクセス権を第三者に付与するときに外部 ID を使用する方法](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-user_externalid.html)」を参照してください。  | 
|  MfaSerial  |  ロールを引き受ける際に使用する MFA シリアル番号 (ロールで必要とされる場合)。詳細については、*IAM ユーザーガイド*の「[AWSでの多要素認証 (MFA) の使用](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_mfa.html)」を参照してください。  | 
|  RoleArn  |  ロールの継承認証情報を引き受けるロールの ARN。ロールの作成と使用の詳細については、*IAM ユーザーガイド*の [IAM ロール](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html)を参照してください。  | 
|  SourceProfile  |  ロールの継承認証情報によって使用されるソースプロファイルの名前。このプロファイルで見つかった認証情報は、`RoleArn` パラメータで指定されたロールを継承するために使用されます。  | 

### ロールを継承するためのプロファイルの設定
<a name="setup"></a>

次に、IAM ロールを直接継承することができるソースプロファイルを設定する方法の例を示します。

最初のコマンドは、ロールプロファイルが参照するソースプロファイルを作成します。2 番目のコマンドは、継承するロールプロファイルを作成します。3 番目のコマンドは、ロールプロファイルの認証情報を表示します。

```
PS > Set-AWSCredential -StoreAs my_source_profile -AccessKey access_key_id -SecretKey secret_key
PS > Set-AWSCredential -StoreAs my_role_profile -SourceProfile my_source_profile -RoleArn arn:aws:iam::123456789012:role/role-i-want-to-assume
PS > Get-AWSCredential -ProfileName my_role_profile

SourceCredentials                  RoleArn                                              RoleSessionName                           Options
-----------------                  -------                                              ---------------                           -------
Amazon.Runtime.BasicAWSCredentials arn:aws:iam::123456789012:role/role-i-want-to-assume aws-dotnet-sdk-session-636238288466144357 Amazon.Runtime.AssumeRoleAWSCredentialsOptions
```

このロールプロファイルを Tools for Windows PowerShell サービスコマンドレットで使用するには、ロールプロファイルを参照するコマンドに `-ProfileName` 共通パラメータを追加します。次の例では、前の例で定義したロールプロファイルを使用して [Get-S3Bucket](https://docs.aws.amazon.com/powershell/v5/reference/items/Get-S3Bucket.html) コマンドレットにアクセスします。 は の認証情報 AWS Tools for PowerShell を検索し`my_source_profile`、それらの認証情報を使用してユーザー`AssumeRole`に代わって を呼び出し、次にそれらの一時的なロール認証情報を使用して を呼び出します`Get-S3Bucket`。

```
PS > Get-S3Bucket -ProfileName my_role_profile

CreationDate           BucketName
------------           ----------
2/27/2017 8:57:53 AM   4ba3578c-f88f-4d8b-b95f-92a8858dac58-bucket1
2/27/2017 10:44:37 AM  2091a504-66a9-4d69-8981-aaef812a02c3-bucket2
```

## 認証情報プロファイルタイプの使用
<a name="using-the-credential-profile-types"></a>

認証情報プロファイルタイプを設定するには、プロファイルのタイプで必要とされる情報を提供するパラメーターを把握します。


****  

| 認証情報タイプ | 使用する必要があるパラメータ | 
| --- | --- | 
|  **ベーシック** これらは、IAM ユーザーの長期的な認証情報です。  |  `-AccessKey`  `-SecretKey`  | 
|  **セッション**: これらは、[Use-STSRole](https://docs.aws.amazon.com/powershell/v5/reference/items/Use-STSRole.html) コマンドレットを直接呼び出すなど、手動で取得する IAM ロールの短期的な認証情報です。  |  `-AccessKey`  `-SecretKey` `-SessionToken`  | 
|  **ロール**: これらは、 AWS Tools for PowerShell が取得する IAM ロールの短期認証情報です。  |  `-SourceProfile` `-RoleArn`  オプション: `-ExternalId` オプション: `-MfaSerial`  | 

## `ProfileLocation` 共通パラメータ
<a name="the-profileslocation-common-parameter"></a>

`-ProfileLocation` を使用して共有認証情報ファイルに書き出すことができると同時に、コマンドレットに認証情報ファイルから読み取るよう指示を出すこともできます。`-ProfileLocation` パラメータを追加することで、共有認証情報ファイルと .NET 認証情報ファイルのどちらを Tools for Windows PowerShell で使用するかを制御できます。次の表では、Tools for Windows PowerShell でのこのパラメータの動作方法について説明します。


****  

| プロファイルの場所の値 | プロファイルの解決動作 | 
| --- | --- | 
|  null (未設定) または空  |  最初に、.NET 認証情報ファイル内で指定された名前のプロファイルを検索します。プロファイルが見つからない場合は、 で AWS 共有認証情報ファイルを検索します`(user's home directory)\.aws\credentials`。  | 
|   AWS 共有認証情報ファイル形式のファイルへのパス  |  指定されたファイルのみを対象に、指定された名前のプロファイルを検索します。  | 

### 認証情報の認証情報ファイルへの保存
<a name="save-credentials-to-a-credentials-file"></a>

2 つの認証情報ファイルのどちらか一方に、認証情報を書き込み、保存するには、`Set-AWSCredential` コマンドレットを実行します。次の例は、その方法を示しています。最初のコマンドは、`Set-AWSCredential` を `-ProfileLocation` と共に使用して、`-ProfileName` パラメータで指定されたプロファイルにアクセスキーとシークレットキーを追加します。2 行目では、[Get-Content](https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.management/get-content) コマンドレットを実行して認証情報ファイルの内容を表示しています。

```
PS > Set-AWSCredential -ProfileLocation C:\Users\auser\.aws\credentials -ProfileName basic_profile -AccessKey access_key2 -SecretKey secret_key2
PS > Get-Content C:\Users\auser\.aws\credentials

aws_access_key_id=access_key2
aws_secret_access_key=secret_key2
```

## 認証情報プロファイルの表示
<a name="showing-credential-profiles"></a>

[Get-AWSCredential](https://docs.aws.amazon.com/powershell/v5/reference/items/Get-AWSCredential.html) コマンドレットを実行して、`-ListProfileDetail` パラメータを追加すると、認証情報ファイルのタイプと場所、プロファイル名のリストが返されます。

```
PS > Get-AWSCredential -ListProfileDetail

ProfileName                     StoreTypeName         ProfileLocation
-----------                     -------------         ---------------
source_profile                  NetSDKCredentialsFile
assume_role_profile             NetSDKCredentialsFile
basic_profile                   SharedCredentialsFile C:\Users\auser\.aws\credentials
```

## 認証情報プロファイルの削除
<a name="removing-credential-profiles"></a>

認証情報プロファイルを削除するには、新しい [Remove-AWSCredentialProfile](https://docs.aws.amazon.com/powershell/v5/reference/items/Remove-AWSCredentialProfile.html) コマンドレットを実行します。[Clear-AWSCredential](https://docs.aws.amazon.com/powershell/v5/reference/items/Clear-AWSCredential.html) は廃止されましたが、下位互換性のために引き続き使用できます。

## 重要な注意事項
<a name="important-notes"></a>

ロールプロファイルのパラメータがサポートされるのは、[Initialize-AWSDefaultConfiguration](https://docs.aws.amazon.com/powershell/v5/reference/items/Initialize-AWSDefaultConfiguration.html)、[New-AWSCredential](https://docs.aws.amazon.com/powershell/v5/reference/items/New-AWSCredential.html)、[Set-AWSCredential](https://docs.aws.amazon.com/powershell/v5/reference/items/Set-AWSCredential.html) のみです。`Get-S3Bucket -SourceProfile source_profile_name -RoleArn arn:aws:iam::999999999999:role/role_name` などのコマンドでは、ロールパラメータを直接指定することはできません。サービスコマンドレットは `SourceProfile` または `RoleArn` パラメータを直接サポートしていないため、これは機能しません。代わりに、これらのパラメータをプロファイルに保存し、`-ProfileName` パラメータを指定してコマンドを呼び出す必要があります。