配置 Okta (SAML)

如果你的组织使用 Okta Identity Provider (IdP) 进行用户身份验证,你可以通过配置 Rancher 来允许用户使用 IdP 凭证登录。

配置 Okta (SAML) - 图1备注

Okta 集成仅支持服务提供商发起的登录。

先决条件

在 Okta 中,使用以下设置创建一个新的 SAML 应用。如需获取帮助,请参见 Okta 文档

设置
Single Sign on URLhttps://yourRancherHostURL/v1-saml/okta/saml/acs
Audience URI (SP Entity ID)https://yourRancherHostURL/v1-saml/okta/saml/metadata

在 Rancher 中配置 Okta

你可以将 Okta 与 Rancher 集成,以便经过身份认证的用户通过组权限访问 Rancher 资源。Okta 会返回一个对用户进行身份认证的 SAML 断言,包括用户所属的组。

  1. 在左上角,单击 ☰ > 用户 & 认证

  2. 在左侧导航栏,单击认证

  3. 单击 Okta

  4. 填写配置 Okta 账号表单。下面的示例描述了如何将 Okta 属性从属性语句映射到 Rancher 中的字段:

    字段描述
    显示名称字段属性语句中包含用户显示名称的属性名称。
    用户名字段属性语句中包含用户名/给定名称的属性名称。
    UID 字段属性语句中每个用户唯一的属性名称。
    用户组字段组属性语句中公开你的组的属性名称。
    Rancher API 主机Rancher Server 的 URL。
    私钥/证书密钥/证书对,用于断言加密。
    元数据 XML你在应用 Sign On 部分中找到的 Identity Provider metadata 文件。

    配置 Okta (SAML) - 图2提示

    你可以使用 openssl 命令生成一个密钥/证书对。例如:

    1. openssl req -x509 -sha256 -nodes -days 365 -newkey rsa:2048 -keyout myservice.key -out myservice.crt
  5. 完成配置 Okta 账号表单后,单击启用

    Rancher 会将你重定向到 IdP 登录页面。输入使用 Okta IdP 进行身份验证的凭证,来验证你的 Rancher Okta 配置。

    配置 Okta (SAML) - 图3备注

    如果什么都没有发生,很可能是因为你的浏览器阻止了弹出窗口。请在弹出窗口阻止程序中禁用 Rancher 域,并在其他类似扩展中将 Rancher 列入白名单。

结果:已将 Rancher 配置为使用 Okta。你的用户现在可以使用 Okta 登录名登录 Rancher。

配置 Okta (SAML) - 图4SAML 身份提供商注意事项

如果你在没有 OpenLDAP 的情况下配置 Okta,你将无法搜索或直接查找用户或组。相关的警告如下:

  • 在 Rancher 中为用户和组分配权限时将不会验证用户和组。
  • 添加用户时,必须正确输入确切的用户 ID(即 UID 字段)。键入用户 ID 时,将不会搜索可能匹配的其他用户 ID。
  • 添加组时,必须从文本框旁边的下拉列表中选择组。Rancher 假定来自文本框的任何输入都是用户。
  • 用户组下拉列表仅显示你所属的用户组。如果你不是某个组的成员,你将无法添加该组。

Okta 与 OpenLDAP 搜索

你可以添加 OpenLDAP 后端来协助用户和组搜索。Rancher 将显示来自 OpenLDAP 服务的其他用户和组。这允许你将权限分配给用户不属于的组。

OpenLDAP 先决条件

如果你使用 Okta 作为 IdP,你可以设置 LDAP 接口以供 Rancher 使用。你还可以配置外部 OpenLDAP Server。

你必须使用 LDAP 绑定帐户(也称为 ServiceAccount)来配置 Rancher,以便搜索和检索应具有访问权限的用户和组的 LDAP 条目。不要使用管理员帐户或个人帐户作为 LDAP 绑定帐户。在 OpenLDAP 中创建一个专用帐户,对搜索库下的用户和组具有只读访问权限。

配置 Okta (SAML) - 图5安全注意事项

OpenLDAP ServiceAccount 用于所有搜索。无论用户个人的 SAML 权限是什么,Rancher 用户都将看到 OpenLDAP ServiceAccount 可以查看的用户和组。

使用 TLS?

如果 OpenLDAP Server 使用的证书是自签名的或来自无法识别的证书颁发机构,则 Rancher 需要 PEM 格式的 CA 证书(包含所有中间证书)。你需要在配置期间提供此证书,以便 Rancher 能够验证证书链。

在 Rancher 中配置 OpenLDAP

配置 OpenLDAP Server、组和用户的设置。请注意,不支持嵌套组成员。

在继续配置之前,请熟悉外部身份认证配置和主要用户

  1. 使用分配了 administrator 角色(即 本地主体)的本地用户登录到 Rancher。
  2. 在左上角,单击 ☰ > 用户 & 认证
  3. 在左侧导航栏,单击认证
  4. 单击 Okta,如果已配置 SAML,则单击编辑配置
  5. 用户和组搜索下,选中配置 OpenLDAP Server

如果你在测试与 OpenLDAP Server 的连接时遇到问题,请确保你输入了ServiceAccount 的凭证并正确配置了搜索库。你可以检查 Rancher 日志来查明根本原因。调试日志可能包含有关错误的更详细信息。请参阅如何启用调试日志了解更多信息。

Configuring SAML Single Logout (SLO)

Rancher supports the ability to configure SAML SLO. Options include logging out of the Rancher application only, logging out of Rancher and registered applications tied to the external authentication provider, or a prompt asking the user to choose between the previous options. The steps below outline configuration from the application GUI:

配置 Okta (SAML) - 图6备注

The Log Out behavior configuration section only appears if the SAML authentication provider allows for SAML SLO.

  1. Sign in to Rancher using a standard user or an administrator role to configure SAML SLO.

  2. In the top left corner, click ☰ > Users & Authentication.

  3. In the left navigation menu, click Auth Provider.

  4. Under the section Log Out behavior, choose the appropriate SLO setting as described below:

    SettingDescription
    Log out of Rancher and not authentication providerChoosing this option will only logout the Rancher application and not external authentication providers.
    Log out of Rancher and authentication provider (includes all other applications registered with authentication provider)Choosing this option will logout Rancher and all external authentication providers along with any registered applications linked to the provider.
    Allow the user to choose one of the above in an additional log out stepChoosing this option presents users with a choice of logout method as described above.