配置 SAML 主题和映射属性

VerifySAML 断言 发送到 服务提供者时, Verify 会断言用户已认证。 已认证的用户在 <saml:Subject> 元素中标识。 该元素 SAML断言 还可能包含 <saml:AttributeStatement> 一个元素,具体取决于您 应用程序 > 应用程序 > 编辑 > 登录 在页面中的部分 属性映射 所指定的信息。 <saml:AttributeStatement> 断言某些属性与已认证的用户相关联。 请根据服务提供者需求来配置这些元素。

准备工作

关于此任务

Verify 可用作多个目标应用程序的 身份提供者 。 这些应用程序或服务提供者具有一组自己的用户和组属性。 属性是实体的特征或特质,用于描述实体。 属性是 name:value 对。

SAML 断言 中包含的属性对应于 服务提供者 的特定属性,用于:
  • 将用户信息从 Verify 传递到 服务提供者
  • 服务提供者的用户创建帐户。
  • 服务提供者的特定服务进行授权。

过程

  1. 如果 服务提供者 使用或需要不同于 Verify的用户标识,请配置 SAML 断言 主体集。 SAML 主体集标识已认证的用户。
    表 1. SAML 主体
    信息 描述
    NameID 格式
    注: 此选项仅在定制应用程序模板中可用。

    使身份提供者服务提供者对于所传递的用户身份的预期一致。 身份提供者通过 NameID 属性来指定已认证用户的用户名或身份。

    支持以下格式:
    urn:oasis:names:tc:SAML:2.0:nameid-format:persistent
    名称标识选择为 Not Specified 时,主体 NameID 是随机生成的唯一标识,对于该应用程序联合,它将保留相同值。

    urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress

    身份提供者中的 Subject NameID 值将使用电子邮件地址格式。

    这是缺省格式。

    urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified

    身份提供者中的 Subject NameID 值可以是任何格式。

    身份提供者定义格式,而服务提供者接受格式并向用户提供所需的服务。

    urn:oasis:names:tc:SAML:2.0:nameid-format:transient
    主体 NameID 是随机生成的属性,供临时使用。 服务提供者接受此值作为临时值。

    如果将名称标识选择为 Not Specified,那么主体 NameID 是随机生成的唯一标识,在每个联合 SSO 流上都是唯一的。

    注: 如果 IBM Verify不知道使用此格式的属性,请使用定制属性并定义属性规则以生成随机 UUID。 否则,发送可作为临时值的当前时间戳记(以毫秒为单位)。 请参阅 管理属性中的步骤 3 创建属性
    名称标识

    标识 SAML 断言的主体集,该主体集通常是正在认证的用户。

    它对应于 SAML 断言中的 <saml:Subject><saml:NameID> 元素。

    缺省值为 preferred_username。 大多数服务提供者使用用户名作为名称标识。

    在某些情况下,服务提供者可能需要身份提供者提供其他名称标识。 因此,通过选择对应于 服务提供者需求的 身份提供者凭证 属性或 固定值 属性来设置 <saml:Subject><saml:NameID> 元素。

    这些 身份提供者凭证固定值 属性在 目录 > 属性中定义。

  2. 如果 服务提供者 要求 Verify 在其 SAML 断言中发送特定属性,请定义属性映射。 使用 Verify 属性映射 服务提供者 中的已知用户属性或其他属性。
    根据应用程序, 属性映射 部分可以由以下元素组成,如 表 2中所述。
    • 一个复选框选项,用于发送所有已知用户属性。
    • 预定义的属性名称和格式,以及用于在 Verify中选择其相应属性源的选项。
    • 用于在身份提供者中添加其他属性名称、其格式和相应属性源的选项。
    表 2. 属性映射
    信息 描述
    在 SAML 断言中发送所有已知用户属性

    选中时, 身份提供者 身份提供者提供的所有已知用户凭证属性都会自动包含在 SAML 断言中。

    已知用户证书属性包含:
    标准属性
    这些属性来自 Verify Cloud Directory,其中包含 Directory > Attributes中显示的内置属性。
    扩展的属性
    这些属性来自您在 认证 > 身份提供者中配置的 SAML Enterprise 身份提供者。

    否则,仅定义 服务提供者SAML 断言中需要的特定属性。

    注: 缺省情况下,为已配置且正在使用的应用程序选择此选项,以避免中断已配置的服务。
    属性名称

    服务提供者使用并需要的身份提供者的属性的名称。

    它对应于 SAML 断言中的 <saml:Attribute Name=""> 元素。

    某些服务提供者有必需或可选属性,这些属性已列在属性映射部分中。 从身份提供者中选择其相应属性。

    某些服务提供者可能需要身份提供者的其他属性,但这些属性未包含在预定义模板中。 其他属性取决于身份提供者服务提供者之间的商业协议。 在这种情况下,请从服务提供者文档获取其他属性,并将它们映射到身份提供者属性。

    注: 如果使用名称 AuthnContextClassRef 和格式 urn:oasis:names:tc:SAML:2.0:assertion配置属性,那么将在 SSO 流期间在 SAML 令牌的 AuthnContextClassRef 元素中设置属性值。
    属性名称格式

    指示解释属性名称的方式。

    它对应于 SAML 断言中的 <saml:Attribute NameFormat=""> 元素。

    您可以定义自己的值,或者从以下选项中选择:
    urn:oasis:names:tc:SAML:2.0:attrname-format:basic
    属性名称使用简单字符串值。 如果未指定格式,这就是缺省格式。
    urn:oasis:names:tc:SAML:2.0:attrname-format:uri
    属性名称使用 urn:oid 名称空间。
    urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified

    属性名称可以为任何格式。 身份提供者定义格式,而服务提供者接受格式并向用户提供所需的服务。

    属性

    列出您在 目录 > 属性中为每种类型定义的所有属性。

    所选属性的值将指定为 SAML 断言中定义的 服务提供者 属性名称的属性值。

    例如:
    <saml:AttributeStatement>
       <saml:Attribute 
          Name="mail" 
          NameFormat="urn:oasis:names:tc:SAML:2.0:
             attrname-format:basic"  
          <saml:AttributeValue xsi:type="xs:string">
    abc@example.com
          </saml:AttributeValue>
       </saml:Attribute> 
    </saml:AttributeStatement>
    注意:
    • 如果针对属性源值显示了未标记的属性,这是因为属性的用途已更改, 使用此属性的现有应用程序可继续使用此属性,直到您重新映射应用程序以将其他属性用于此用途。 例如,如果对现有属性清除了单点登录 (SSO) 复选框,那么已针对 SSO 使用此属性的应用程序可继续将其用于 SSO。 除去供应用途时,此行为也适用于供应属性。