

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

# Amazon WorkSpaces 應用程式中的工作階段內容
<a name="managing-stacks-fleets-session-context"></a>

您可以使用下列其中一種方法，將參數傳遞到串流應用程式：
+ 在 CreateStreamingURL WorkSpaces 應用程式 API 操作中指定工作階段內容。如需詳細資訊，請參閱 [CreateStreamingURL](https://docs.aws.amazon.com/appstream2/latest/APIReference/API_CreateStreamingURL.html)。
+ 將 sts：TagSession 許可新增至 IAM 角色的信任政策，並在 SAML 2.0 身分提供者的身分驗證回應中將工作階段內容指定為 SAML 聲明。如需詳細資訊，請參閱[步驟 5：建立 SAML 身分驗證回應聲明](external-identity-providers-setting-up-saml.md#external-identity-providers-create-assertions)及[步驟 5：建立 SAML 身分驗證回應聲明](external-identity-providers-setting-up-saml.md#external-identity-providers-create-assertions)。

如果您的映像使用 2018 年 10 月 30 日當天或之後發行的 WorkSpaces 應用程式代理程式版本，工作階段內容會以 Windows 或 Linux 環境變數的形式存放在映像中。如需特定環境變數的相關資訊，請參閱 中的「WorkSpaces 應用程式機群的使用者和執行個體中繼資料」[自訂 Amazon WorkSpaces 應用程式機群以最佳化使用者的應用程式串流體驗](customize-fleets.md)。

**注意**  
使用者可在 WorkSpaces 應用程式串流 URL 中看到工作階段內容參數。我們強烈建議您不要在工作階段內容參數中放入機密或敏感資訊。由於使用者可修改串流 URL，因此建議您執行額外的驗證，以判斷工作階段內容對最終使用者而言是否有效。例如，您可以將工作階段內容與其他工作階段資訊進行比較，例如 WorkSpaces 應用程式機群的使用者和執行個體中繼資料。  
WorkSpaces 應用程式不會對工作階段內容參數執行驗證。

## 使用工作階段環境將參數傳遞給您的串流應用程式
<a name="managing-stacks-fleets-parameters"></a>

在下列步驟中，您將使用工作階段內容來啟動 Web 瀏覽器，並自動開啟特定網站。對於執行 Windows 的執行個體，您將使用 Firefox 瀏覽器。對於執行 Linux 的執行個體，您將使用 Chromium。

**使用工作階段啟動網站**

1. 在左側導覽窗格中，選擇 **Images (映像)**、**Image Builder (映像建置器)**。

1. 選擇要使用的映像建置器，驗證它已處於 **Running (執行中)** 狀態，然後選擇 **Connect (連線)**。

1. 在**本機使用者**索引標籤上選擇**管理員**，以登入映像建置器。

1. 建立 `C:\` 的子資料夾。在此範例中，使用 `C:\Scripts`。

1. 在新資料夾中建立 Windows 批次檔。針對此範例，請建立 `C:\Scripts\session-context-test.bat` 並新增指令碼，從工作階段環境以 URL 啟動 Firefox。

   使用下列指令碼：

   ```
   CD "C:\Program Files (x86)\Mozilla Firefox"
   Start firefox.exe %APPSTREAM_SESSION_CONTEXT%
   ```

1. 在映像助理中，新增 `session-context-test.bat` 並將名稱變更為 **Firefox**。

   您不需要新增 Firefox。此步驟只需要您新增批次檔。

1. 建立映像、機群和堆疊。針對此範例，請使用 **session-context-test-fleet** 做為機群名稱，**session-context-test-stack** 做為堆疊名稱。

1. 機群執行之後，您可以使用 `session-context` 參數呼叫 [create-streaming-url](https://docs.aws.amazon.com/cli/latest/reference/appstream/create-streaming-url.html)，如此範例所示。

   ```
   aws appstream create-streaming-url --stack-name session-context-test-stack \ 
   --fleet-name session-context-test-fleet \
   --user-id username –-validity 10000 \
   --application-id firefox --session-context "www.amazon.com"
   ```

1. 在瀏覽器中開啟串流 URL。指令碼檔案會啟動 Firefox 並載入 `http://www.amazon.com`。

同樣地，您可以執行下列步驟將參數傳遞至您的 Linux 串流應用程式。

**將參數傳遞至您的 Linux 串流應用程式**

1. 在左側導覽窗格中，選擇 **Images (映像)**、**Image Builder (映像建置器)**。

1. 選擇要使用的映像建置器，驗證它已處於 **Running (執行中)** 狀態，然後選擇 **Connect (連線)**。

1. 依預設以 **ImageBuilderAdmin** 身分登入映像建置器。

1. 執行下列命令來建立指令碼檔案 (例如 launch-chromium.sh)：

   **sudo vim /usr/bin/launch-chromium.sh**

1. 撰寫指令碼並設定可執行檔許可，如下所示：
**注意**  
\$1\$1/bin/bash 和來源 /etc/profile 一律為指令碼中的必要項。

   ```
   #!/bin/bash
   source /etc/profile
   /usr/bin/chromium-browser $APPSTREAM_SESSION_CONTEXT
   ```

1. 使用映像助理 CLI 新增 launch-chromium.sh：

   ```
   sudo AppStreamImageAssistant add-application \ 
   --name chromium \
   --absolute-app-path /usr/bin/launch-chromium.sh
   ```

1. 建立映像、機群和堆疊。針對此範例，請使用 **session-context-test-fleet** 做為機群名稱，**session-context-test-stack** 做為堆疊名稱。

1. 機群執行之後，您可以使用 `session-context` 參數呼叫 [create-streaming-url](https://docs.aws.amazon.com/cli/latest/reference/appstream/create-streaming-url.html)，如此範例所示。

   ```
   aws appstream create-streaming-url --stack-name session-context-test-stack \ 
   --fleet-name session-context-test-fleet \
   --user-id username \
   --application-id chromium --session-context "www.amazon.com"
   ```

1. 在瀏覽器中開啟串流 URL。批次檔會啟動 Chromium 並載入 `http://www.amazon.com`。