

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

# WorkSpaces アプリケーションストリーミングインスタンスで IAM ロールを使用する方法
<a name="how-to-use-iam-role-with-streaming-instances"></a>

IAM ロールを作成したら、Image Builder を起動するとき、またはフリートを作成するときに、そのロールを Image Builder またはフリートストリーミングインスタンスに適用できます。既存のフリートに IAM ロールを適用することもできます。Image Builder を起動するときに IAM ロールを適用する方法については、[Image Builder を起動し、ストリーミングアプリケーションをインストールして設定する](tutorial-image-builder-create.md) を参照してください。フリートを作成するときに IAM ロールを適用する方法については、[Amazon WorkSpaces アプリケーションでフリートを作成する](set-up-stacks-fleets-create.md) を参照してください。

Image Builder またはフリートストリーミングインスタンスに IAM ロールを適用すると、WorkSpaces Applications は一時的な認証情報を取得し、インスタンスに **appstream\$1machine\$1role** 認証情報プロファイルを作成します。一時的な認証情報は 1 時間有効で、新しい認証情報は 1 時間ごとに取得されます。以前の認証情報は失効しないため、有効である限り使用できます。認証情報プロファイルを使用して、選択した言語で コマンドラインインターフェイス (AWS CLI)、 AWS Tools for PowerShell、または AWS SDK AWS を使用してプログラムで AWS サービスを呼び出すことができます。

API コールを行う場合、認証情報プロファイルとして **appstream\$1machine\$1role** を指定します。それ以外の場合、アクセス許可が不十分なため、オペレーションは失敗します。

WorkSpaces アプリケーションは、ストリーミングインスタンスのプロビジョニング中に指定されたロールを引き受けます。WorkSpaces Applications は VPC にアタッチされている Elastic Network Interface を AWS API コールに使用するため、アプリケーションまたはスクリプトは、Elastic Network Interface が使用可能になるまで待ってから AWS API コールを行う必要があります。Elastic Network Interface が使用可能になる前に API 呼び出しが行われると、呼び出しは失敗します。

以下の例では、**appstream\$1machine\$1role** 認証情報プロファイルを使用して、ストリーミングインスタンス (EC2 インスタンス) を記述し、Boto クライアントを作成する方法を示します。Boto は、Amazon Web Services (AWS) SDK for Python です。

**CLI を使用してストリーミングインスタンス (EC2 インスタンス) AWS を記述する**

```
aws ec2 describe-instances --region us-east-1 --profile appstream_machine_role
```

** AWS Tools for PowerShell を使用してストリーミングインスタンス (EC2 インスタンス) を記述する**

 AWS Tools for PowerShell バージョン 3.3.563.1 以降、Amazon Web Services SDK for .NET バージョン 3.3.103.22 以降を使用する必要があります。 AWS Tools for PowerShell と Amazon Web Services SDK for .NET を含む AWS Tools for Windows インストーラは、[AWS Tools for PowerShell](https://aws.amazon.com/powershell/) ウェブサイトからダウンロードできます。

```
Get-EC2Instance -Region us-east-1 -ProfileName appstream_machine_role
```

** AWS SDK for Python を使用した Boto クライアントの作成**

```
session = boto3.Session(profile_name='appstream_machine_role')
```