跳至內容跳至頁面導覽:上一頁 [access key p]/下一頁 [access key n]
documentation.suse.com / SUSE Enterprise Storage 7 文件 / 操作和管理指南 / Ceph Dashboard / 在指令行上管理使用者和角色
適用範圍 SUSE Enterprise Storage 7

11 在指令行上管理使用者和角色

本節說明如何管理 Ceph Dashboard 使用的使用者帳戶。該工具可協助您建立或修改使用者帳戶,以及設定正確的使用者角色和許可權。

11.1 管理密碼規則

依預設會啟用密碼規則功能,包括以下檢查:

  • 密碼長度是否超過 N 個字元?

  • 舊密碼和新密碼是否相同?

可以完全開啟或關閉密碼規則功能:

cephuser@adm > ceph dashboard set-pwd-policy-enabled true|false

可以開啟或關閉以下個別檢查:

cephuser@adm > ceph dashboard set-pwd-policy-check-length-enabled true|false
cephuser@adm > ceph dashboard set-pwd-policy-check-oldpwd-enabled true|false
cephuser@adm > ceph dashboard set-pwd-policy-check-username-enabled true|false
cephuser@adm > ceph dashboard set-pwd-policy-check-exclusion-list-enabled true|false
cephuser@adm > ceph dashboard set-pwd-policy-check-complexity-enabled true|false
cephuser@adm > ceph dashboard set-pwd-policy-check-sequential-chars-enabled true|false
cephuser@adm > ceph dashboard set-pwd-policy-check-repetitive-chars-enabled true|false

此外,可使用以下選項設定密碼規則行為。

  • 最短密碼長度 (預設值為 8):

    cephuser@adm > ceph dashboard set-pwd-policy-min-length N
  • 最小密碼複雜性 (預設值為 10):

    cephuser@adm > ceph dashboard set-pwd-policy-min-complexity N

    密碼複雜性是透過對密碼中的每個字元進行分類來計算的。

  • 密碼中不允許使用的逗號分隔的單字清單:

    cephuser@adm > ceph dashboard set-pwd-policy-exclusion-list word[,...]

11.2 管理使用者帳戶

Ceph Dashboard 支援管理多個使用者帳戶。每個使用者帳戶包含使用者名稱、密碼 (使用 bcrypt 以加密形式儲存)、選用名稱和選用電子郵件地址。

系統將使用者帳戶儲存在 Ceph 管理員的組態資料庫中,並在所有 Ceph 管理員例項之間全域共用該資訊。

使用以下指令可管理使用者帳戶:

顯示現有使用者:
cephuser@adm > ceph dashboard ac-user-show [USERNAME]
建立新使用者:
cephuser@adm > ceph dashboard ac-user-create USERNAME [PASSWORD] [ROLENAME] [NAME] [EMAIL]
刪除使用者:
cephuser@adm > ceph dashboard ac-user-delete USERNAME
更改使用者的密碼:
cephuser@adm > ceph dashboard ac-user-set-password USERNAME PASSWORD
修改使用者名稱和電子郵件:
cephuser@adm > ceph dashboard ac-user-set-info USERNAME NAME EMAIL
停用使用者
cephuser@adm > ceph dashboard ac-user-disable USERNAME
啟用使用者
cephuser@adm > ceph dashboard ac-user-enable USERNAME

11.3 使用者角色和許可權

本節介紹您可為使用者角色指定的安全性範圍、如何管理使用者角色,以及如何為使用者帳戶指定角色。

11.3.1 定義安全性範圍

使用者帳戶與一組角色相關聯,這些角色定義了該使用者可以存取儀表板的哪些部分。儀表板的各個部分均會劃分在某個安全性範圍內。安全性範圍已預先定義且固定不變。目前可用的安全性範圍如下:

hosts

包含與主機功能表項目相關的所有功能。

config-opt

包含與 Ceph 組態選項管理相關的所有功能。

pool

包含與池管理相關的所有功能。

osd

包含與 Ceph OSD 管理相關的所有功能。

monitor

包含與 Ceph 監控程式管理相關的所有功能。

rbd-image

包含與 RADOS 區塊裝置影像管理相關的所有功能。

rbd-mirroring

包含與 RADOS 區塊裝置鏡像管理相關的所有功能。

iscsi

包含與 iSCSI 管理相關的所有功能。

rgw

包含與物件閘道管理相關的所有功能。

cephfs

包含與 CephFS 管理相關的所有功能。

manager

包含與 Ceph 管理員管理相關的所有功能。

log

包含與 Ceph 記錄管理相關的所有功能。

grafana

包含與 Grafana 代理相關的所有功能。

prometheus

包含與 Prometheus 警示管理相關的所有功能。

dashboard-settings

允許變更儀表板設定。

11.3.2 指定使用者角色

角色指定了一個安全性範圍與一組許可權之間的一組對應。許可權分為四種類型:「read」、「create」、「update」和「delete」。

下面的範例指定了一個角色,具有該角色的使用者擁有池管理相關功能的「read」和「create」許可權,以及 RBD 影像管理相關功能的完整許可權:

{
  'role': 'my_new_role',
  'description': 'My new role',
  'scopes_permissions': {
    'pool': ['read', 'create'],
    'rbd-image': ['read', 'create', 'update', 'delete']
  }
}

儀表板提供了一組預先定義的角色,我們稱之為系統角色。全新安裝 Ceph Dashboard 後即可使用這些角色:

administrator

提供針對所有安全性範圍的完整許可權。

read-only

提供針對儀表板設定以外的其他所有安全性範圍的讀取許可權。

block-manager

提供針對「rbd-image」、「rbd-mirroring」和「iscsi」範圍的完整許可權。

rgw-manager

提供針對「rgw」範圍的完整許可權。

cluster-manager

提供針對「hosts」、「osd」、「monitor」、「manager」和「config-opt」範圍的完整許可權。

pool-manager

提供針對「pool」範圍的完整許可權。

cephfs-manager

提供針對「cephfs」範圍的完整許可權。

11.3.2.1 管理自訂角色

您可以使用以下指令建立新使用者角色:

建立新角色:
cephuser@adm > ceph dashboard ac-role-create ROLENAME [DESCRIPTION]
刪除角色:
cephuser@adm > ceph dashboard ac-role-delete ROLENAME
新增範圍許可權至角色:
cephuser@adm > ceph dashboard ac-role-add-scope-perms ROLENAME SCOPENAME PERMISSION [PERMISSION...]
從角色中刪除範圍許可權:
cephuser@adm > ceph dashboard ac-role-del-perms ROLENAME SCOPENAME

11.3.2.2 為使用者帳戶指定角色

使用以下指令可為使用者指定角色:

設定使用者角色:
cephuser@adm > ceph dashboard ac-user-set-roles USERNAME ROLENAME [ROLENAME ...]
新增其他角色至使用者:
cephuser@adm > ceph dashboard ac-user-add-roles USERNAME ROLENAME [ROLENAME ...]
刪除使用者的角色:
cephuser@adm > ceph dashboard ac-user-del-roles USERNAME ROLENAME [ROLENAME ...]
提示
提示:清除自訂角色

如果您建立了自訂使用者角色,並打算以後使用 ceph.purge 執行程式移除 Ceph 叢集,則需要先清除自訂角色。如需更多詳細資料,請參閱第 13.9 節 「移除整個 Ceph 叢集」

11.3.2.3 範例:建立使用者和自訂角色

本節說明建立具有以下功能的使用者帳戶的程序:可管理 RBD 影像、檢視和建立 Ceph 池,並擁有針對任何其他範圍的唯讀存取權。

  1. 建立名為 tux 的新使用者:

     cephuser@adm > ceph dashboard ac-user-create tux PASSWORD
  2. 建立角色並指定範圍許可權:

    cephuser@adm > ceph dashboard ac-role-create rbd/pool-manager
    cephuser@adm > ceph dashboard ac-role-add-scope-perms rbd/pool-manager \
     rbd-image read create update delete
    cephuser@adm > ceph dashboard ac-role-add-scope-perms rbd/pool-manager pool read create
  3. 將角色與 tux 使用者相關聯:

    cephuser@adm > ceph dashboard ac-user-set-roles tux rbd/pool-manager read-only

11.4 代理組態

如果您要建立固定 URL 以連接 Ceph Dashboard,或者不允許直接連接至管理員節點,可以設定一個代理將內送要求轉到目前使用中 ceph-mgr 例項。

11.4.1 使用反向代理存取儀表板

如果您要透過反向代理組態存取儀表板,則可能需要使用 URL 字首來存取。若要讓儀表板使用包含您字首的超連結,您可以進行 url_prefix 設定:

  cephuser@adm > ceph config set mgr mgr/dashboard/url_prefix URL_PREFIX

然後,便可透過網址 http://HOST_NAME:PORT_NUMBER/URL_PREFIX/ 來存取儀表板。

11.4.2 停用重新導向

如果 Ceph Dashboard 位於 HAProxy 等負載平衡代理之後,請停用重新導向行為,以防止出現將內部 (無法解析的) URL 發佈到前端用戶端的情況。使用以下指令可讓儀表板以 HTTP 錯誤 (預設為500) 進行回應,而不是重新導向至使用中儀表板:

cephuser@adm > ceph config set mgr mgr/dashboard/standby_behaviour "error"

若要將設定重設為預設的重新導向行為,請使用以下指令:

cephuser@adm > ceph config set mgr mgr/dashboard/standby_behaviour "redirect"

11.4.3 設定錯誤狀態代碼

如果停用了重新導向行為,則應自訂待命儀表板的 HTTP 狀態代碼。為此,請執行以下指令:

cephuser@adm > ceph config set mgr mgr/dashboard/standby_error_status_code 503

11.4.4 HAProxy 範例組態

以下範例組態適用於使用 HAProxy 的 TLS/SSL 傳遞。

注意
注意

該組態適用於以下情況:如果儀表板發生容錯移轉,前端用戶端可能會收到 HTTP 重新導向 (303) 回應,並將重新導向至無法解析的主機。

兩次 HAProxy 狀況檢查期間發生容錯移轉時,便會發生此情況。在這種情況下,先前處於使用中狀態的儀表板節點現在將以 303 進行回應,從而指向新使用中節點。為避免出現該情況,您應該考慮停用待命節點上的重新導向行為。

  defaults
    log global
    option log-health-checks
    timeout connect 5s
    timeout client 50s
    timeout server 450s

  frontend dashboard_front
    mode http
    bind *:80
    option httplog
    redirect scheme https code 301 if !{ ssl_fc }

  frontend dashboard_front_ssl
    mode tcp
    bind *:443
    option tcplog
    default_backend dashboard_back_ssl

  backend dashboard_back_ssl
    mode tcp
    option httpchk GET /
    http-check expect status 200
    server x HOST:PORT ssl check verify none
    server y HOST:PORT ssl check verify none
    server z HOST:PORT ssl check verify none

11.5 稽核 API 要求

Ceph Dashboard 的 REST API 可將 PUT、POST 和 DELETE 要求記錄至 Ceph 稽核記錄中。記錄功能預設處於停用狀態,但您可使用以下指令將其啟用:

cephuser@adm > ceph dashboard set-audit-api-enabled true

如果記錄功能處於啟用狀態,將會記錄每個要求的以下參數:

from

要求的來源,例如「https://[::1]:44410」。

path

REST API 路徑,例如 /api/auth

method

「PUT」、「POST」或「DELETE」。

user

使用者的名稱 (或「None」)。

範例記錄項目如下所示:

2019-02-06 10:33:01.302514 mgr.x [INF] [DASHBOARD] \
 from='https://[::ffff:127.0.0.1]:37022' path='/api/rgw/user/exu' method='PUT' \
 user='admin' params='{"max_buckets": "1000", "display_name": "Example User", "uid": "exu", "suspended": "0", "email": "user@example.com"}'
提示
提示:停用記錄要求封包內容的功能

要求封包內容 (引數及其值的清單) 的記錄功能預設處於啟用狀態。您可以依照如下方式停用該功能:

cephuser@adm > ceph dashboard set-audit-api-log-payload false

11.6 在 Ceph Dashboard 中設定 NFS Ganesha

Ceph Dashboard 可以管理使用 CephFS 或物件閘道做為其後備儲存的 NFS Ganesha 輸出項。該儀表板用於管理儲存在 CephFS 叢集上的 RADOS 物件中的 NFS Ganesha 組態檔案。NFS Ganesha 必須將其部分組態儲存在 Ceph 叢集中。

執行以下指令以設定 NFS Ganesha 組態物件的位置:

cephuser@adm > ceph dashboard set-ganesha-clusters-rados-pool-namespace pool_name[/namespace]

現在您便可以使用 Ceph Dashboard 管理 NFS Ganesha 輸出項。

11.6.1 設定多個 NFS Ganesha 叢集

Ceph Dashboard 支援管理屬於不同 NFS Ganesha 叢集的 NFS Ganesha 輸出項。建議每個 NFS Ganesha 叢集將其組態物件儲存在不同的 RADOS 池/名稱空間中,以便相互隔離各自組態。

使用以下指令可指定每個 NFS Ganesha 叢集的組態位置:

cephuser@adm > ceph dashboard set-ganesha-clusters-rados-pool-namespace cluster_id:pool_name[/namespace](,cluster_id:pool_name[/namespace])*

cluster_id 是唯一識別 NFS Ganesha 叢集的任意字串。

使用多個 NFS Ganesha 叢集設定 Ceph Dashboard 時,Web UI 會自動讓您選擇輸出項所屬的叢集。

11.7 除錯外掛程式

Ceph Dashboard 外掛程式延伸了儀表板的功能。除錯外掛程式允許依據除錯模式來自訂儀表板的行為。可以使用以下指令啟用、停用或檢查除錯外掛程式:

cephuser@adm > ceph dashboard debug status
Debug: 'disabled'
cephuser@adm > ceph dashboard debug enable
Debug: 'enabled'
cephuser@adm > dashboard debug disable
Debug: 'disabled'

錯外掛程式預設處於停用狀態。這是適用於生產部署的建議設定。如果需要,可以啟用除錯模式,而無需重新啟動。