2.11. 在仪表板中使用单点登录


Ceph 控制面板支持外部身份验证用户,可选择 Security Assertion Markup Language (SAML) 2.0 协议,或使用 OAuth2 代理(oauth2-proxy)。在将单点登录(SSO)与 Ceph 控制面板搭配使用之前,请创建控制面板用户帐户并分配任何必要的角色。Ceph 控制面板完成用户授权,然后现有的身份提供程序(IdP)完成身份验证过程。您可以使用 SAML 协议或 oauth2-proxy 启用单点登录。

Red Hat Ceph Storage 支持使用 RHSSO (Keycloak)仪表板 SSO 和多因素身份验证。

OAuth2 SSO 使用 oauth2-proxy 服务与 Ceph 管理网关(mgmt-gateway)一起使用,从而提供统一访问和改进的用户体验。

注意

OAuth2 SSO、mgmt-gatewayoauth2-proxy 服务是技术预览。

有关 Ceph 管理网关和 OAuth2 代理服务的更多信息,请参阅使用 Ceph 管理网关(mgmt-gateway)和使用 OAuth2 代理(oauth2-proxy)服务。

有关红帽构建的 Keycloack 的更多信息,请参阅红帽客户门户网站上的 红帽 构建 Keycloak

您必须创建 admin 帐户,以便将用户同步到 Ceph 仪表板。

在创建了帐户后,请使用 Red Hat Single Sign-on(SSO)将用户同步到 Ceph 仪表板。请参阅 Red Hat Ceph Storage 仪表板指南中的使用 Red Hat Single Sign-On 将用户同步到 Ceph 仪表板。

先决条件

  • 一个正在运行的 Red Hat Ceph Storage 集群。
  • 已安装仪表板。
  • 控制面板的管理员级别访问权限。
  • 用户添加到仪表板中。
  • 所有主机上的 root 级别访问权限。
  • 安装了 Java OpenJDK。如需更多信息,请参阅红帽客户门户网站中的 Installing and using OpenJDK 8 for RHEL 指南中的 Installing a JRE on RHEL by using yum 部分。
  • 从 ZIP 文件安装的 Red Hat Single Sign-On。请参阅红帽客户门户网站上的 Red Hat Single Sign -On 的 Server 安装和配置指南中的 从 ZIP 文件安装 RH-SSO 部分。

流程

  1. 在安装了 Red Hat Ceph Storage 的系统中下载 Red Hat Single Sign-On 7.4.0 服务器
  2. 解压文件夹:

    [root@host01 ~]# unzip rhsso-7.4.0.zip
    Copy to Clipboard Toggle word wrap
  3. 进入 standalone/configuration 目录并打开 standalone.xml 进行编辑:

    [root@host01 ~]# cd standalone/configuration
    [root@host01 configuration]# vi standalone.xml
    Copy to Clipboard Toggle word wrap
  4. 在新创建的 rhsso-7.4.0 文件夹的 bin 目录中,运行 add-user-keycloak 脚本来添加初始管理员用户:

    [root@host01 bin]# ./add-user-keycloak.sh -u admin
    Copy to Clipboard Toggle word wrap
  5. localhost 和两个 127.0.0.1 实例的所有实例替换为安装 Red Hat SSO 的计算机的 IP 地址。
  6. 启动服务器。在 rh-sso-7.4 文件夹的 bin 目录中,运行 独立 引导脚本:

    [root@host01 bin]# ./standalone.sh
    Copy to Clipboard Toggle word wrap
  7. 创建 admin 账户,https: IP_ADDRESS :8080/auth,带有一个用户名和密码:

    注意

    只有在第一次登录到控制台时,才需要创建一个 admin 帐户。

  8. 使用创建的凭据登录 admin 控制台。

您可以使用红帽单点登录(SSO)与轻量级目录访问协议(LDAP)集成来把用户同步到 Red Hat Ceph Storage 仪表板。

用户被添加到特定域中,它们可以通过 SSO 访问仪表板,而无需密码进行任何额外的要求。

先决条件

流程

  1. 要创建域,点 Master 下拉菜单。在这个域中,您可以提供对用户和应用程序的访问权限。
  2. Add Realm 窗口中,输入区分大小写的域名,并将参数 Enabled 设置为 ON,点 Create

  3. Realm Settings 选项卡中,设置以下参数并点 Save

    1. enabled - ON
    2. 用户管理的访问 - ON
    3. 记录下 SAML 2.0 身份提供商元数据的链接地址,粘贴到 Client Settings 中。

  4. Clients 选项卡中,点 Create

  5. Add Client 窗口中设置以下参数,点 Save

    1. Client ID - BASE_URL:8443/auth/saml2/metadata

      示例

      https://example.ceph.redhat.com:8443/auth/saml2/metadata

    2. 客户端协议 - saml
  6. Client 窗口中,在 Settings 选项卡中设置以下参数:

    Expand
    表 2.2. 客户端设置标签页
    参数的名称语法示例

    客户端 ID

    BASE_URL:8443/auth/saml2/metadata

    https://example.ceph.redhat.com:8443/auth/saml2/metadata

    Enabled

    ON

    ON

    客户端协议

    saml

    saml

    包括 AuthnStatement

    ON

    ON

    签署文档

    ON

    ON

    签名算法

    RSA_SHA1

    RSA_SHA1

    SAML 签名密钥名称

    KEY_ID

    KEY_ID

    有效重定向 URL

    BASE_URL:8443/*

    https://example.ceph.redhat.com:8443/*

    基本 URL

    BASE_URL:8443

    https://example.ceph.redhat.com:8443/

    Master SAML 处理 URL

    https://localhost:8080/auth/realms/REALM_NAME/protocol/saml/descriptor

    https://localhost:8080/auth/realms/Ceph_LDAP/protocol/saml/descriptor

    注意

    Realm Settings 选项卡中粘贴 SAML 2.0 身份提供程序元数据的链接。

    在 Fine Grain SAML Endpoint Configuration 下,设置以下参数并点 Save

    Expand
    表 2.3. 精细的 SAML 配置
    参数的名称语法Example

    Assertion Consumer Service POST Binding URL

    BASE_URL:8443/#/dashboard

    https://example.ceph.redhat.com:8443/#/dashboard

    Assertion Consumer Service Redirect Binding URL

    BASE_URL:8443/#/dashboard

    https://example.ceph.redhat.com:8443/#/dashboard

    Logout Service Redirect Binding URL

    BASE_URL:8443/

    https://example.ceph.redhat.com:8443/

  7. Clients 窗口的 Mappers 选项卡中,设置以下参数并点 Save

    Expand
    表 2.4. 客户端映射程序标签
    参数的名称Value

    协议

    saml

    名称

    username

    Mapper Property

    用户属性

    属性

    username

    SAML 属性名称

    username

  8. Clients Scope 选项卡中,选择 role_list

    1. Mappers 选项卡中,选择 角色列表,将 Single Role Attribute 设置为 ON。
  9. 选择 User_Federation 选项卡:

    1. User Federation 窗口中,从下拉菜单中选择 ldap
    2. User_Federation 窗口中,Settings 选项卡设置以下参数,然后单击保存

      Expand
      表 2.5. 用户 Federation Settings 标签页
      参数的名称Value

      控制台显示名称

      rh-ldap

      导入用户

      ON

      Edit_Mode

      READ_ONLY

      用户名 LDAP 属性

      username

      RDN LDAP 属性

      username

      UUID LDAP 属性

      nsuniqueid

      用户对象类

      inetOrgPerson, organizationalPerson, rhatPerson

      连接 URL

      示例:ldap://ldap.corp.redhat.com,点 Test Connection。您将收到 LDAP 连接成功的通知。

      用户 DN

      ou=users, dc=example, dc=com

      绑定类型

      simple

      Test authentication。您将收到 LDAP 身份验证成功的通知。

    3. Mappers 选项卡中,选择 first name 行并编辑以下参数,然后单击 Save

      • LDAP 属性 - 指定名称
    4. User_Federation 选项卡,Settings 选项卡中,点 Synchronize all users:

      您将收到用户同步成功完成的通知。

  10. Users 选项卡中,搜索添加到仪表板中的用户并点击 Search 图标:

  11. 要查看用户,请点特定行。您应该看到联邦链接,作为提供给用户联邦的名称。

    重要

    不要手动添加用户,因为用户不会由 LDAP 同步。如果手动添加,点 Delete 来删除用户。

    注意

    如果 Red Hat SSO 当前正在您的工作环境中使用,请务必先启用 SSO。有关更多信息,请参阅 Red Hat Ceph Storage Dashboard Guide 中的 Enabling Single Sign-On with SAMLE 2.0 for the Ceph Dashboard 部分。

验证

  • 用户添加到 realm,控制面板可以使用其电子邮件地址和密码访问 Ceph 仪表板。

    示例

    https://example.ceph.redhat.com:8443

Ceph 控制面板支持使用安全断言标记语言(SAML)2.0 协议进行外部身份验证。在将单点登录(SSO)与 Ceph 控制面板搭配使用之前,请创建控制面板用户帐户并分配所需的角色。Ceph 控制面板对用户执行授权,身份验证过程由现有的身份提供程序(IdP)执行。您可以使用 SAML 协议启用单点登录。

先决条件

  • 一个正在运行的 Red Hat Ceph Storage 集群。
  • 安装 Ceph 控制面板.
  • 对 Ceph Manager 主机的 root 级别访问权限。

流程

  1. 要在 Ceph Dashboard 中配置 SSO,请运行以下命令:

    语法

    cephadm shell CEPH_MGR_HOST ceph dashboard sso setup saml2 CEPH_DASHBOARD_BASE_URL IDP_METADATA IDP_USERNAME_ATTRIBUTE IDP_ENTITY_ID SP_X_509_CERT SP_PRIVATE_KEY
    Copy to Clipboard Toggle word wrap

    示例

    [root@host01 ~]# cephadm shell host01 ceph dashboard sso setup saml2 https://dashboard_hostname.ceph.redhat.com:8443 idp-metadata.xml username https://10.70.59.125:8080/auth/realms/realm_name /home/certificate.txt /home/private-key.txt
    Copy to Clipboard Toggle word wrap

    替换

    • CEPH_MGR_HOST 与 Ceph mgr 主机。例如,host01
    • CEPH_DASHBOARD_BASE_URL 带有可以访问 Ceph 仪表板的基本 URL。
    • IDP_METADATA,包含到远程或本地路径的 URL,或 IdP 元数据 XML 的内容。支持的 URL 类型包括 http、https 和 文件。
    • 可选:IDP_USERNAME_ATTRIBUTE,包含用于从身份验证响应中获取用户名的属性。默认为 uid
    • 可选 :当 IdP 元数据中存在多个实体 ID 时,使用 IdP 实体 ID 的 IDP_ENTITY_ID
    • 可选:SP_X_509_CERT,包含 Ceph Dashboard 用来签名和加密的证书文件路径。
    • 可选SP_PRIVATE_KEY 以及 Ceph Dashboard 用来签名和加密的私钥的文件路径。
  2. 验证当前的 SAML 2.0 配置:

    语法

    cephadm shell CEPH_MGR_HOST ceph dashboard sso show saml2
    Copy to Clipboard Toggle word wrap

    示例

    [root@host01 ~]#  cephadm shell host01 ceph dashboard sso show saml2
    Copy to Clipboard Toggle word wrap

  3. 要启用 SSO,运行以下命令:

    语法

    cephadm shell CEPH_MGR_HOST ceph dashboard sso enable saml2
    SSO is "enabled" with "SAML2" protocol.
    Copy to Clipboard Toggle word wrap

    示例

    [root@host01 ~]#  cephadm shell host01 ceph dashboard sso enable saml2
    Copy to Clipboard Toggle word wrap

  4. 打开您的仪表板 URL。

    示例

    https://dashboard_hostname.ceph.redhat.com:8443
    Copy to Clipboard Toggle word wrap

  5. 在 SSO 页面上,输入登录凭据。SSO 会重定向到仪表板 Web 界面。

您可以通过将 Red Hat SSO 配置为身份提供程序(IdP),为 IBM Storage Ceph 控制面板启用单点登录(SSO)。

先决条件

  • 一个正在运行的 Red Hat Ceph Storage 集群。
  • 具有对应子卷的子卷组。
  • 启用 Ceph 管理网关(mgmt-gateway)服务。有关更多信息,请参阅启用 Ceph 管理网关。
  • 启用 OAuth2 代理服务(oauth2-proxy)。如需更多信息,请参阅启用 OAuth2 代理服务。
  • 在配置身份提供程序前,请确保配置了 oauth2 代理和身份提供程序。

流程

  1. 在 Red Hat SSO 中创建域。

    1. 单击 Master HEKETIdrop-down 菜单,再选择 Add Realm
    2. 为域输入一个区分大小写的名称。
    3. 设置 Enabled HEKETIto ON ,点 Create
  2. 配置 realm 设置。

    1. 进入 Realm Settings swigtab。
    2. Enabled 设置为 ON,将 用户管理的访问权限 设置为 ON
  3. 点* swigSave*。
  4. 复制 swigOpenID Endpoint Configuration swigURL。对于 OAuth2 Proxy 设置,请使用此配置中的 swigissuer swigendpoint。

示例

Issuer: http://<your-ip>:<port>/realms/<realm-name>
Copy to Clipboard Toggle word wrap

  1. 创建和配置 OIDC 客户端。

    1. 创建类型为 swigOpenID Connect 的客户端。
    2. 启用客户端身份验证和授权。
    3. 设置重定向 URL。

    4. 进入 Credentials 选项卡,并记下 wagonclient_id swigand swigclient_secret 的值。这些凭证需要配置 swigoauth2-proxywagonservice。
  2. 创建用于仪表板访问的角色。

    1. 导航到 Roles 选项卡。
    2. 创建角色并将其分配给 OIDC 客户端。
    3. 使用 IBM Storage Ceph 仪表板支持的角色名称。
  3. 创建用户并分配角色。

    1. 创建新用户。
    2. 定义用户凭据。
    3. 打开 swigRole Mappings swigtab,并将之前创建的角色分配给该用户。
  4. 为仪表板启用 SSO。

    语法

    ceph dashboard sso enable
    Copy to Clipboard Toggle word wrap

现在,为 Ceph 管理堆栈启用了 SSO。当用户访问控制面板时,它们会被重定向到 Red Hat SSO 登录页面。身份验证成功后,会根据 Red Hat SSO 中指定的角色在所有监控堆栈(包括仪表板、Grafana 和 Prometheus)授予用户访问权限。

您可以通过将 IBM Security Verify 配置为身份提供程序(IdP)为 IBM Storage Ceph 仪表板启用单点登录(SSO)。

先决条件

  • 一个正在运行的 Red Hat Ceph Storage 集群。
  • 安装 Ceph 控制面板.
  • 启用 Ceph 管理网关(mgmt-gateway)服务。有关更多信息,请参阅启用 Ceph 管理网关。
  • 启用 OAuth2 代理服务(oauth2-proxy)。如需更多信息,请参阅启用 OAuth2 代理服务。

流程

  1. 从 IBM Security Verify 应用程序,进入到 Applications > Application,然后点 Add An Application
  2. 在 Application Type 下,选择 Custom Application,再单击 Add Application
  3. General 选项卡下添加公司名称。
  4. 导航到 Sign-on 选项卡,然后从 Sign-on Method 下拉列表中选择 Open ID Connect 1.0。
  5. Application URL 部分下,输入 mgmt-gateway URL。

    示例

    https://<HOSTNAME/IP_OF_THE_MGMT-GATEWAY_HOST>
    Copy to Clipboard Toggle word wrap

  6. 清除 PKCE 验证 复选框。
  7. 从 Redirect URIs 部分,填写重定向 URI。使用以下重定向 URL 格式:

  8. Token settings 中,选择 JWT 作为访问令牌格式。对于以下每个属性,在对应字段中输入详情,然后从下拉列表中选择对应的属性源:

    • 名称 | preferred_username
    • 电子邮件 | 电子邮件
  9. Consent Settings,从下拉列表中选择 Do not ask for consent
  10. Custom Scopes 中清除 Restrict Custom Scopes 复选框,然后点 Save
  11. 添加用户。

    1. 进入 Directory > Users & Groups 并点 Add User。
    2. 提供所需的用户名和有效电子邮件地址。初始用户凭证发送到提供的电子邮件地址。
    3. 点击 Save
  12. 进入 Directory > Attributes,再点 Add Attribute

    1. 选中 Custom Attribute,然后选择 Single Sign On (SSO) 复选框。点 Next。
    2. Attribute Name 字段中,输入 roles。
    3. Data Type 下,从下拉列表中选择 Multivalue String。
    4. Additional settings,从 Apply Transformation 下拉列表中选择 Lowercase,然后点 Next
    5. 单击 Add Attribute
  13. 进入 Directory > Users & Groups 并编辑新添加的用户。

    1. 选择 View Extended Profile
    2. 自定义用户属性,添加所需的仪表板角色。例如,管理员、read-only、block-manager 等。此用户会自动继承仪表板角色。
    3. 单击 Save settings
  14. 进入 Applications > Application,点在第 2 步中创建的自定义应用程序的 Settings 图标。

    1. Sign-on 选项卡中,进入 *Token setting*s。
    2. 对于 roles 属性,在对应的字段中输入详情,然后从下拉列表中选择对应的属性源: roles | roles
    3. Entitlements 选项卡中,添加新创建的用户并点 Save

2.11.6. 启用 OAuth2 单点登录

为 Ceph 控制面板启用 OAuth2 单点登录(SSO)。OAuth2 SSO 使用 oauth2-proxy 服务。

重要

为 Red Hat Ceph Storage 8.0 启用 OAuth2 单点登录是技术预览。

红帽产品服务级别协议(SLA)不支持技术预览功能,且其功能可能并不完善,因此红帽不建议在生产环境中使用它们。这些技术预览功能可以使用户提早试用新的功能,并有机会在开发阶段提供反馈意见。如需了解更多详细信息,请参阅红帽技术预览功能的支持范围。

先决条件

在开始前,请确保您有以下先决条件:

  • 一个正在运行的 Red Hat Ceph Storage 集群。
  • 安装 Ceph 控制面板.
  • Ceph 管理器主机的 root 级别访问权限。
  • 在 7.6.0 上带有 Red Hat Single-Sign 的 admin 帐户。如需更多信息,请参阅 使用红帽单点登录 7.6.0 创建管理员帐户
  • 启用 Ceph 管理网关(mgmt-gateway)服务。有关更多信息,请参阅启用 Ceph 管理网关。
  • 启用 OAuth2 代理服务(oauth2-proxy)。如需更多信息,请参阅启用 OAuth2 代理服务。
  • 您应该拥有运行 Red Hat Single-Sign-On 7.6.0 的 admin 帐户,运行 OAuth2 协议,或 IBM Security Verify with OAuth2 协议正在运行。如需更多信息,请参阅使用 OAuth2 协议将 IBM 安全验证配置为身份提供程序

流程

  1. 启用 Ceph 控制面板 OAuth2 SSO 访问。

    语法

    ceph dashboard sso enable oauth2
    Copy to Clipboard Toggle word wrap

    示例

    [ceph: root@host01 /]# ceph dashboard sso enable oauth2
    SSO is "enabled" with "oauth2" protocol.
    Copy to Clipboard Toggle word wrap

  2. 设置有效的重定向 URL。

    语法

    https://HOST_NAME|IP_ADDRESS/oauth2/callback
    Copy to Clipboard Toggle word wrap

    注意

    此 URL 必须与 OAuth2 代理服务中配置的重定向 URL 相同。

  3. 配置有效的用户角色。

    注意

    对于管理员角色,请使用管理员或只读访问权限配置 IDP 用户。

  4. 打开您的仪表板 URL。

    示例

    https://<hostname/ip address of mgmt-gateway host>
    Copy to Clipboard Toggle word wrap

  5. 在 SSO 页面上,输入身份提供程序(IdP)凭据。SSO 重定向到仪表板 Web 界面。

验证

使用 cephadm shell ceph dashboard sso status 命令随时检查 SSO 状态。

示例

[root@host01 ~]# cephadm shell ceph dashboard sso status
SSO is "enabled" with "oauth2" protocol.
Copy to Clipboard Toggle word wrap

2.11.7. 为 Ceph 仪表板禁用单点登录

您可以随时为 Ceph 控制面板禁用 SAML 2.0 和 OAuth2 SSO。

先决条件

在开始前,请确保您有以下先决条件:

  • 一个正在运行的 Red Hat Ceph Storage 集群。
  • 安装 Ceph 控制面板.
  • 对 Ceph Manager 主机的 root 级别访问权限。
  • 为 Ceph Dashboard 启用单点登录

流程

  1. 要查看 SSO 的状态,请运行以下命令:

    语法

    cephadm shell CEPH_MGR_HOST ceph dashboard sso status
    Copy to Clipboard Toggle word wrap

    示例

    [root@host01 ~]#  cephadm shell host01 ceph dashboard sso status
    SSO is "enabled" with "SAML2" protocol.
    Copy to Clipboard Toggle word wrap

  2. 要禁用 SSO,请运行以下命令:

    语法

    cephadm shell CEPH_MGR_HOST ceph dashboard sso disable
    SSO is "disabled".
    Copy to Clipboard Toggle word wrap

    示例

    [root@host01 ~]#  cephadm shell host01 ceph dashboard sso disable
    Copy to Clipboard Toggle word wrap

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat