使用第三方 SAML 2.0 身份提供商的基于属性的应用程序授权 - 亚马逊 AppStream 2.0

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

使用第三方 SAML 2.0 身份提供商的基于属性的应用程序授权

应用程序授权控制对您的 AppStream 2.0 堆栈中特定应用程序的访问权限。这是通过使用第三方 SAML 2.0 身份提供商的 SAML 2.0 属性断言来实现的。当用户身份联合到 AppStream 2.0 SAML 2.0 应用程序时,断言与某个值匹配。如果授权为真,并且属性名称和值匹配,则用户身份有权访问堆栈中的一个或多个应用程序。

使用第三方 SAML 2.0 身份提供商的基于属性的应用程序授权不适用于以下情况。换句话说,在以下情况下,该授权将被忽略:

  • AppStream 2.0 用户池身份验证。有关更多信息,请参阅AppStream 2.0 用户池

  • AppStream 2.0 流式传输 URL 身份验证。有关更多信息,请参阅流式传输 URL

  • 将 AppStream 2.0 实例集配置为桌面流视图时的桌面应用程序。有关更多信息,请参阅创建 AppStream 2.0 舰队和堆栈

  • 使用动态应用程序框架的堆栈。动态应用程序框架提供单独的应用程序授权特征。有关更多信息,请参阅使用动态应用程序框架从动态应用程序提供程序进行应用程序授权

  • 当用户联合到 AppStream 2.0 应用程序目录时,应用程序授权将仅显示用户有权使用的应用程序。应用程序在 AppStream 2.0 会话中的运行不受限制。例如,在为桌面流视图配置的实例集中,用户可以直接从桌面启动应用程序。

创建应用程序授权

在创建应用程序授权之前,您必须执行以下操作:

创建应用程序授权
  1. 打开 AppStream 2.0 控制台

  2. 在左侧导航窗格中,选择堆栈,然后选择要为其管理应用程序授权的堆栈。

  3. 应用程序授权对话框中,选择创建

  4. 为您的授权输入名称描述

  5. 为您的授权定义属性名称和值。

    映射属性时,以 https://aws.amazon.com/SAML/Attributes/PrincipalTag:{TagKey} 格式指定属性,其中 {TagKey} 是以下属性之一:

    • roles

    • department

    • organization

    • groups

    • title

    • costCenter

    • userType

    当堆栈中的应用程序联合到 AppStream 2.0 会话时,您定义的属性用于将这些应用程序授权给用户。授权是通过将属性名称与联合身份验证期间创建的 SAML 断言中的键值名称进行匹配来实现的。有关更多信息,请参阅 SAML PrincipalTag 属性

    注意

    任何受支持的属性中均可包含一个或多个值,并以冒号 (:) 分隔。

    例如,组信息可以通过 SAML 属性 https://aws.amazon.com/SAML/Attributes/PrincipalTag:groups 传递,其值为“group1:group2:group3”,授权可以基于单个组值(如“group1”)来允许应用程序。有关更多信息,请参阅 SAML PrincipalTag 属性

  6. 在堆栈中配置应用程序设置以授权所有应用程序或所选应用程序。选择所有应用程序(*) 将应用堆栈中所有可用的应用程序,包括将来添加的应用程序。选择所选应用程序将根据特定的应用程序名称进行筛选。

  7. 审核设置并创建授权。您可以重复该过程并创建其他授权。堆栈中应用程序的授权将是基于属性名称和值与用户匹配的所有授权的组合。

  8. 在您的 SAML 2.0 身份提供商中,配置您的 AppStream 2.0 SAML 应用程序属性映射,以发送您的授权中定义的属性和值。当用户联合到 AppStream 2.0 应用程序目录时,应用程序授权将仅显示用户有权使用的应用程序。

SAML 2.0 多堆栈应用程序目录

借助使用第三方 SAML 2.0 身份提供商的基于属性的应用程序授权,您可以允许从单个中继状态 URL 访问多个堆栈。从中继状态 URL 中移除堆栈和应用程序(如果存在)参数,如下所示:

https://relay-state-region-endpoint?accountId=aws-account-id-without-hyphens

当用户联合身份验证到 AppStream 2.0 应用程序目录时,他们将会看到所有堆栈,在这些堆栈中,应用程序授权已将一个或多个应用程序与用户的账户 ID 以及与堆栈所在区域相关的中继状态端点相匹配。当用户选择目录时,应用程序授权将仅显示该用户有权使用的应用程序。有关更多信息,请参阅步骤 6:配置您的联合身份验证的中继状态

注意

要使用 SAML 2.0 多堆栈应用程序目录,您需要为 SAML 2.0 联合身份验证 IAM 角色配置内联策略。有关更多信息,请参阅步骤 3:为 IAM 角色嵌入内联策略