9.6. SAML v2.0 身份提供程序
红帽单点登录可以根据 SAML v2.0 协议代理身份提供程序。
流程
- 在菜单中,单击 Identity Providers。
从
Add provider列表中,选择SAML v2.0。添加身份提供程序
- 输入您的初始配置选项。有关配置选项的更多信息,请参阅 常规 IDP 配置。SAML 配置
| Configuration | 描述 |
|---|---|
| 服务提供商实体 ID |
远程身份提供程序用于识别来自此服务提供商的请求的 SAML 实体 ID。默认情况下,此设置设置为 realms 基础 URL < |
| 身份提供程序实体 ID | 用于在接收 SAML 断言时验证颁发者元素的 SAML 实体 ID。如果为空,则不会执行颁发者验证。如果您的 SAML IDP 发布 IDP 实体描述符,则会在那里指定此字段的值。 |
| 单点登录服务 URL | 启动身份验证过程的 SAML 端点。如果您的 SAML IDP 发布 IDP 实体描述符,则会在那里指定此字段的值。 |
| 单一 Logout 服务 URL | SAML 注销端点。如果您的 SAML IDP 发布 IDP 实体描述符,则会在那里指定此字段的值。 |
| Backchannel Logout | 如果您的 SAML IDP 支持后端频道注销,请将此开关切换为 ON。 |
| NameID 策略格式 |
对应于名称标识符格式的 URI 引用。默认情况下,Red Hat Single Sign-On 将它设置为 |
| 主体类型 | 指定 SAML 断言哪个部分将用于识别和跟踪外部用户身份。可以是 Subject NameID 或 SAML 属性(按名称或友好名称)。subject NameID 值不能与 'urn:oasis:names:tc:SAML:2.0:nameid-format:transient' NameID Policy Format 值一起设置。 |
| 主体属性 | 如果主体类型不是空的,该字段指定了用于标识属性的名称("Attribute [Name]")或友好名称("Attribute [Friendly Name]")。 |
| allow create | 允许外部身份提供程序创建新标识符来代表主体。 |
| HTTP-POST 绑定响应 | 控制 SAML 绑定以响应外部 IDP 发送的任何 SAML 请求。当 OFF 时,Red Hat Single Sign-On 使用 Redirect Binding。 |
| HTTP-POST Binding for AuthnRequest | 在从外部 IDP 请求身份验证时控制 SAML 绑定。当 OFF 时,Red Hat Single Sign-On 使用 Redirect Binding。 |
| 想要 AuthnRequests Signed | 当 ON 时,Red Hat Single Sign-On 使用域的密钥对签署发送到外部 SAML IDP 的请求。 |
| 签名算法 | 如果 Want AuthnRequests Signed 为 ON,要使用的签名算法。 |
| SAML 签名密钥名称 |
使用 POST 绑定发送签名的 SAML 文档包含 |
| 强制身份验证 | 用户必须在外部 IDP 中输入凭证,即使该用户已经登录。 |
| 验证签名 | 当 ON 时,域需要 SAML 请求和来自外部 IDP 的响应是数字签名。 |
| 验证 X509 证书 | 红帽单点登录使用公共证书来验证 SAML 请求的签名以及来自外部 IDP 的响应。 |
| 为服务提供商元数据签名 | ON 时,红帽单点登录使用域的密钥对来签署 SAML 服务提供商元数据描述符。 |
| pass subject |
控制 Red Hat Single Sign-On 将 |
| Attribute Consuming Service Index | 标识设置为请求远程 IDP 的属性。Red Hat Single Sign-On 会自动将身份提供程序配置中映射的属性添加到自动生成的 SP 元数据文档中。 |
| 属性假设服务名称 | 自动生成的 SP 元数据文档中公告的属性集的描述性名称。 |
您可以通过提供一个 URL 或指向外部 IDP 实体描述符的 URL 或文件来导入所有配置数据。如果您连接到 Red Hat Single Sign-On 外部 IDP,您可以从 URL < root>/auth/realms/{realm-name}/protocol/saml/descriptor 导入 IDP 设置。此链接是一个 XML 文档,描述了有关 IDP 的元数据。您还可以通过提供一个指向外部 SAML IDP 实体描述符的 URL 或 XML 文件来导入所有这些配置数据。
9.6.1. 请求特定的 AuthnContexts 复制链接链接已复制到粘贴板!
身份提供程序有助于客户端指定验证用户身份的身份验证方法的限制。例如,询问 MFA、Kerberos 身份验证或安全要求。这些限制使用特定的 AuthnContext 标准。客户端可以询问一个或多个条件,并指定身份提供程序必须与请求的 AuthnContext、准确或满足其它等效项的匹配方式。
您可以通过在 Requested AuthnContext Constraints 部分中添加 ClassRefs 或 DeclRefs 来列出您的服务提供程序要求。通常,您需要提供 ClassRefs 或 DeclRefs,因此请检查您的身份提供程序文档受支持值。如果没有 ClassRefs 或 DeclRefs,身份提供程序不会强制实施额外的限制。
| Configuration | 描述 |
|---|---|
| 比较 |
身份提供程序使用 方法来评估上下文要求。可用值有 |
| AuthnContext ClassRefs | 描述所需标准的 AuthnContext ClassRefs。 |
| AuthnContext DeclRefs | AuthnContext DeclRefs 描述所需标准。 |
9.6.2. SP Descriptor 复制链接链接已复制到粘贴板!
当您访问供应商的 SAML SP 元数据时,在身份提供程序配置设置中查找 Endpoints 项。它包含 SAML 2.0 服务提供商元数据 链接,用于为服务提供商生成 SAML 实体描述符。您可以下载描述符或复制其 URL,然后将其导入到远程身份提供程序。
通过进入以下 URL 来公开此元数据:
http[s]://{host:port}/auth/realms/{realm-name}/broker/{broker-alias}/endpoint/descriptor
在访问描述符前,请确保您保存任何配置更改。
9.6.3. 在 SAML 请求中发送主题 复制链接链接已复制到粘贴板!
默认情况下,指向 SAML 身份提供程序的社交按钮将用户重定向到以下登录 URL:
http[s]://{host:port}/auth/realms/${realm-name}/broker/{broker-alias}/login
在此 URL 中添加名为 login_hint 的查询参数,将参数值添加到 SAML 请求中作为 Subject 属性。如果此查询参数为空,Red Hat Single Sign-On 不会添加主题到请求。
启用 "Pass subject" 选项以在 SAML 请求中发送主题。