本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
Amazon AppStream 2.0 中的会话上下文
您可以使用以下任一方法将参数传递给流应用程序:
-
在 CreateStreamingURL AppStream 2.0 API 操作中指定会话内容。有关更多信息,请参阅 CreateStreamingURL。
-
向 IAM 角色的信任策略添加 sts: TagSession 权限,并在 SAML 2.0 身份提供者的身份验证响应中将会话上下文指定为 SAML 断言。有关更多信息,请参阅步骤 5:为 SAML 身份验证响应创建断言和步骤 5:为 SAML 身份验证响应创建断言。
如果您的映像使用 2018 年 10 月 30 日或之后发布的 AppStream 2.0 代理版本,则可以在映像中存储会话上下文作为 Windows 或 Linux 环境变量。有关特定环境变量的信息,请参阅自定义 Amazon WorkSpaces 应用程序队列以优化用户的应用程序流媒体体验 中的“AppStream 2.0 实例集的用户和实例元数据”。
注意
会话上下文参数在 AppStream 2.0 流式传输 URL 中对用户可见。我们强烈建议您切勿在会话上下文参数中输入机密或敏感信息。由于用户可以修改流式传输 URL,因此我们建议您进行额外的验证,以确定会话上下文对最终用户是否有效。例如,您可以将会话上下文与其他会话信息(例如 AppStream 2.0 实例集的用户和实例元数据)进行比较。
AppStream 2.0 不对会话上下文参数进行验证。
使用会话上下文将参数传递给流应用程序
在以下步骤中,您将使用会话上下文来启动 Web 浏览器并自动打开特定网站。对于运行 Windows 的实例,您需要使用 Firefox。对于运行 Linux 的实例,您需要使用 Chromium。
使用会话上下文启动网站
-
在左侧导航窗格中,依次选择映像和映像生成器。
-
选择要使用的映像生成器,验证它是否处于正在运行状态,然后选择连接。
-
在本地用户选项卡上选择管理员,以登录映像生成器。
-
创建
C:\的一个子文件夹。对于本示例,请使用C:\Scripts。 -
在新文件夹中创建一个 Windows 批处理文件。对于此示例,创建
C:\Scripts\session-context-test.bat并添加脚本,此脚本使用来自会话上下文的 URL 启动 Firefox。运行以下脚本:
CD "C:\Program Files (x86)\Mozilla Firefox" Start firefox.exe %APPSTREAM_SESSION_CONTEXT% -
在 Image Assistant 中,添加
session-context-test.bat并将名称更改为Firefox。您不需要添加 Firefox。此步骤只要求您添加批处理文件。
-
创建映像、实例集和堆栈。对于此示例,使用实例集名称
session-context-test-fleet和堆栈名称session-context-test-stack。 -
实例集运行后,您可以使用
session-context参数调用 create-streaming-url,如本示例所示。aws appstream create-streaming-url --stack-namesession-context-test-stack\ --fleet-namesession-context-test-fleet\ --user-idusername–-validity 10000 \ --application-idfirefox--session-context "www.amazon.com" -
在浏览器中打开流式传输 URL。此脚本文件会启动 Firefox 并加载
http://www.amazon.com。
同样,您可以通过执行以下步骤将参数传递给 Linux 流应用程序。
向 Linux 流应用程序传递参数
-
在左侧导航窗格中,依次选择映像和映像生成器。
-
选择要使用的映像生成器,验证它是否处于正在运行状态,然后选择连接。
-
默认情况下,以 ImageBuilderAdmin 身份登录映像生成器。
-
通过运行以下命令创建脚本文件(例如 launch-chromium.sh):
sudo vim /usr/bin/launch-chromium.sh
-
编写脚本并设置可执行权限,如下所示:
注意
脚本中始终需要 #!/bin/bash 和源 /etc/profile。
#!/bin/bash source /etc/profile /usr/bin/chromium-browser $APPSTREAM_SESSION_CONTEXT -
使用 Image Assistant CLI 添加 launch-chromium.sh:
sudo AppStreamImageAssistant add-application \ --namechromium\ --absolute-app-path/usr/bin/launch-chromium.sh -
创建映像、实例集和堆栈。对于此示例,使用实例集名称
session-context-test-fleet和堆栈名称session-context-test-stack。 -
实例集运行后,您可以使用
session-context参数调用 create-streaming-url,如本示例所示。aws appstream create-streaming-url --stack-namesession-context-test-stack\ --fleet-namesession-context-test-fleet\ --user-idusername\ --application-idchromium--session-context "www.amazon.com" -
在浏览器中打开流式传输 URL。批处理文件会启动 Chromium 并加载
http://www.amazon.com。