本文永久链接: https://www.xtplayer.cn/rancher/authentication/rancher2-okta-authentication/

版本支持: Rancher v2.2.0+

注意 在开始之前,请熟悉 外部身份验证配置和主要用户 的概念。

okta 应用配置

这里以 okta 官方 demo 为例,访问 https://www.okta.com/free-trial/ 可以申请 30 天的试用账号。

创建应用

  1. 登录控制台后,依次点击 1、2、3、4 来创建应用。

    注意:深红色的 3 是系统的提示。

  2. 选择 webSAML 2.0,并点击创建。

SAML 配置

常规设置

设置 APP 名称,其他参数可以忽略,然后点击下一步。

配置 SAML

  1. SAML Settings

    • Single sign on URL

      https://yourRancherHostURL/v1-saml/okta/saml/acs

    • Audience URI (SP Entity ID)

      https://yourRancherHostURL/v1-saml/okta/saml/metadata

    • 其他参数保持默认

  2. USER ATTRIBUTE (用户属性)

    属性 1:
    Name: userName
    Name Format: Unspecified
    Value: user.username

    属性 2:
    Name: displayName
    Name Format: Unspecified
    Value: user.firstName + " " + user.lastName
  3. GROUP ATTRIBUTE (组属性)

    Name: groups
    Name Format: Unspecified
    Filter: Regex
    Value: .*
  4. 反馈

    根据自己喜好选择,最后点击完成

拷贝元数据 XML

  1. 上一步骤点击完成之后会自动跳转到 sign on 界面。

  2. 点击页面中部的 View Setup Instructions

  3. 在弹出窗口的下部,找到 Optional 并复制里面的代码备用。

分配用户和组

要想用户或者组能登录 Rancher,需要分配用户或者组到应用。

Rancher 认证配置

创建自签名 ssl 证书

openssl req -x509 -sha256 -nodes -days 365 -newkey rsa:2048 -keyout myservice.key -out myservice.crt -subj "/C=CN"

注意: -days 可以适当增大。

OKTA 参数配置

依次进入 全局|安全|认证,选择 OKTA

  • 显示用户: displayName
  • 用户名: userName
  • UID: userName
  • 组: groups
  • Rancher API 地址: 当前集群 rancher server url
  • 私钥: 填写 myservice.key 中的信息
  • 证书: 填写 myservice.crt 中的信息
  • 元数据 XML: 复制粘贴前面步骤中保存的元数据 XML

最后的配置结果