2.10. 为 Ceph 控制面板启用单点登录
Ceph 控制面板支持外部身份验证具有安全断言标记语言(SAML)协议的用户。在使用 Ceph 控制面板的单点登录(SSO)之前,先创建控制面板用户帐户并分配所需的角色。Ceph 控制面板对用户执行授权,身份验证过程由现有的身份提供程序(IdP)执行。红帽使用 Keycloak 测试仪表板 SSO 功能。
先决条件
- 一个正在运行的 Red Hat Ceph Storage 集群。
- 安装 Ceph 控制面板软件。
- 启动控制面板。
- Ceph 管理器节点的 root 级别访问。
在 Ceph 管理器节点上安装以下库软件包:
-
python3-saml
-
python3-defusedxml
-
python3-isodate
-
python3-xmlsec
-
流程
要在 Ceph 控制面板中配置 SSO,请运行以下命令:
裸机部署:
语法
ceph dashboard sso setup saml2 CEPH_DASHBOARD_BASE_URL IDP_METADATA IDP_USERNAME_ATTRIBUTE IDP_ENTITY_ID SP_X_509_CERT SP_PRIVATE_KEY
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 Copied! Toggle word wrap Toggle overflow 示例
ceph dashboard sso setup saml2 http://dashboard_hostname.ceph.redhat.com:8443 idp-metadata.xml username http://10.70.59.125:8080/auth/realms/realm_name /home/certificate.txt /home/private-key.txt
[root@mon ~]# ceph dashboard sso setup saml2 http://dashboard_hostname.ceph.redhat.com:8443 idp-metadata.xml username http://10.70.59.125:8080/auth/realms/realm_name /home/certificate.txt /home/private-key.txt
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 容器部署:
语法
podman exec CEPH_MGR_NODE ceph dashboard sso setup saml2 CEPH_DASHBOARD_BASE_URL IDP_METADATA IDP_USERNAME_ATTRIBUTE IDP_ENTITY_ID SP_X_509_CERT SP_PRIVATE_KEY
podman exec CEPH_MGR_NODE 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 Copied! Toggle word wrap Toggle overflow 示例
podman exec ceph-mgr-hostname ceph dashboard sso setup saml2 http://dashboard_hostname.ceph.redhat.com:8443 idp-metadata.xml username http://10.70.59.125:8080/auth/realms/realm_name /home/certificate.txt /home/private-key.txt
[root@mon ~]# podman exec ceph-mgr-hostname ceph dashboard sso setup saml2 http://dashboard_hostname.ceph.redhat.com:8443 idp-metadata.xml username http://10.70.59.125:8080/auth/realms/realm_name /home/certificate.txt /home/private-key.txt
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
替换
-
CEPH_MGR_NODE 与 Ceph
mgr
节点.例如:ceph-mgr-hostname
- CEPH_DASHBOARD_BASE_URL 带有可以访问 Ceph 仪表板的基本 URL。
- IDP_METADATA,带有指向远程或 IdP 元数据 XML 的本地路径或内容的 URL。支持的 URL 类型有 http、https 和 文件。
- 可选 :IDP_USERNAME_ATTRIBUTE 以及用于从身份验证响应中获取用户名的属性。默认为 uid。
- 可选 :当 IdP 元数据中存在多个实体 ID 时,使用 IdP 实体 ID 的 IDP_ENTITY_ID。
- 可选 :SP_X_509_CERT 带有 Ceph Dashboard 用于签名和加密的证书文件路径。
- 可选 :SP_PRIVATE_KEY 带有 Ceph 仪表板用于签名和加密的私钥的文件路径。
验证当前的 SAML 2.0 配置:
裸机部署:
语法
ceph dashboard sso show saml2
ceph dashboard sso show saml2
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 容器部署:
语法
podman exec CEPH_MGR_NODE ceph dashboard sso show saml2
podman exec CEPH_MGR_NODE ceph dashboard sso show saml2
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
要启用 SSO,请运行以下命令:
裸机部署:
语法
ceph dashboard sso enable saml2 SSO is "enabled" with "SAML2" protocol.
ceph dashboard sso enable saml2 SSO is "enabled" with "SAML2" protocol.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 容器部署:
语法
podman exec CEPH_MGR_NODE ceph dashboard sso enable saml2 SSO is "enabled" with "SAML2" protocol.
podman exec CEPH_MGR_NODE ceph dashboard sso enable saml2 SSO is "enabled" with "SAML2" protocol.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
打开仪表板 URL。例如:
http://dashboard_hostname.ceph.redhat.com:8443
http://dashboard_hostname.ceph.redhat.com:8443
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 在 SSO 页面中,输入登录凭据。SSO 会重定向到仪表板 Web 界面。
其它资源
- 要禁用单点登录,请参阅 Red Hat Ceph StorageDashboard 指南中的禁用 Ceph仪表板的单点登录 。