配置 SAML 主题和映射属性
当向服务提供商发送 SAML 断言时 Verify ,该 Verify 断言表明用户已通过身份验证。 已认证的用户在 <saml:Subject> 元素中标识。 SAML 断言还可以包含一个 <saml:AttributeStatement> 元素,具体取决于您在 “应用程序 > 应用程序 >
> 登录 ”页面中的 “属性映射 ”部分所指定的信息。 <saml:AttributeStatement> 断言某些属性与已认证的用户相关联。 请根据服务提供者需求来配置这些元素。
准备工作
请参阅文档IBM® Verify 中心中的《 SAML 2.0 》。- 请参阅 “在身份提供商中配置 SAML 单点登录 ”。
关于此任务
Verify 可作为多个目标应用程序的身份提供商。 这些应用程序或服务提供者具有一组自己的用户和组属性。 属性是实体的特征或特质,用于描述实体。 属性是 name:value 对。
- 将用户信息从 Verify 传输给服务提供商。
- 为服务提供者的用户创建帐户。
- 对服务提供者的特定服务进行授权。
过程
- Verify服务提供商 如果 使用或需要与 不同的用户 ID,请配置 主体 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身份提供者中的
SubjectNameID值将使用电子邮件地址格式。这是缺省格式。
urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified身份提供者中的
SubjectNameID值可以是任何格式。身份提供者定义格式,而服务提供者接受格式并向用户提供所需的服务。
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>元素。这些 “身份提供商凭据 ”和 “固定值 ”属性在 “目录 > 属性 ”中进行了定义。
- 如果服务提供商要求 Verify 在 SAML 断言中发送特定属性,请定义属性映射。 将服务提供商提供的已知用户属性或其他属性与这些 Verify 属性进行映射。根据具体应用情况 ,“属性映射 ”部分可包含以下元素,这些元素在表 2 中进行了说明。
- 一个复选框选项,用于发送所有已知用户属性。
- Verify预定义的属性名称和格式,以及在.中选择其对应属性源的选项。
- 用于在身份提供者中添加其他属性名称、其格式和相应属性源的选项。
表 2. 属性映射 信息 描述 在 SAML 断言中发送所有已知用户属性 选中后, 身份提供商提供的所有已知用户凭据属性将自动包含在 SAML 断言中。
已知用户证书属性包含:- 标准属性
- 目录 > 属性云目录这些属性来自 ,其中包含在 Verify 中显示的内置属性。
- 扩展的属性
- 这些属性来自您在 “ 身份验证 > 身份提供商”中配置的 SAML 企业版身份提供商。
否则,只需在 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。 除去供应用途时,此行为也适用于供应属性。