

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 如何使用 IAM 角色搭配 WorkSpaces 應用程式串流執行個體
<a name="how-to-use-iam-role-with-streaming-instances"></a>

在建立 IAM 角色後，您就可以在啟動映像建置器或建立機群時，將該角色套用到映像建置器或機群串流執行個體。您也可以將 IAM 角色套用到現有的機群。如需如何在啟動映像建置器時套用 IAM 角色的相關資訊，請參閱 [啟動映像建置器以安裝和設定串流應用程式](tutorial-image-builder-create.md)。如需如何在建立機群時套用 IAM 角色的相關資訊，請參閱 [在 Amazon WorkSpaces 應用程式中建立機群](set-up-stacks-fleets-create.md)。

當您將 IAM 角色套用至映像建置器或機群串流執行個體時，WorkSpaces 應用程式會擷取臨時登入資料，並在執行個體上建立 **appstream\$1machine\$1role** 登入資料設定檔。臨時憑證的有效期為 1 小時，而且每小時都會擷取新的憑證。之前的登入資料不會過期，因此您可以在有效期間進行使用。您可以使用登入資料設定檔，使用 AWS Command Line Interface (AWS CLI)、 AWS Tools for PowerShell 或軟體 AWS 開發套件搭配您選擇的語言，以程式設計方式呼叫 AWS 服務。

當您發出 API 呼叫時，請指定 **appstream\$1machine\$1role** 做為登入資料描述檔。否則，此操作會因許可不足而失敗。

佈建串流執行個體時，WorkSpaces 應用程式會擔任指定的角色。由於 WorkSpaces 應用程式使用連接到 VPC 的彈性網路界面進行 AWS API 呼叫，因此您的應用程式或指令碼必須等待彈性網路界面變成可用，才能進行 AWS API 呼叫。如果在彈性網路界面變成可用前已進行 API 呼叫，則呼叫會失敗。

以下範例說明您可以如何使用 ** appstream\$1machine\$1role** 登入資料描述檔，來描述串流執行個體 (EC2 執行個體) 以及建立 Boto 用戶端。Boto 是適用於 Python 的 Amazon Web Services (AWS) SDK。

**使用 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 版或更新版本。您可以從 Tools for PowerShell 網站下載 AWS Tools for Windows 安裝程式，其中包括 AWS Tools for [AWS PowerShell 和 Amazon Web Services SDK for ](https://aws.amazon.com/powershell/).NET。

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

**使用適用於 Python 的 AWS SDK 建立 Boto 用戶端**

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