En esta sección se describe cómo gestionar las cuentas de usuario utilizadas por la Ceph Dashboard. Sirve de ayuda para crear o modificar cuentas de usuario, así como para establecer las funciones y permisos de usuario adecuados.
Por defecto, la función de directiva de contraseñas está habilitada, incluidas las siguientes comprobaciones:
¿La contraseña tiene más de N caracteres?
¿Son iguales la contraseña antigua y la nueva?
La función de directiva de contraseñas se puede activar o desactivar por completo:
cephuser@adm >
ceph dashboard set-pwd-policy-enabled true|false
Las siguientes comprobaciones individuales se pueden activar o desactivar:
cephuser@adm >
ceph dashboard set-pwd-policy-check-length-enabled true|falsecephuser@adm >
ceph dashboard set-pwd-policy-check-oldpwd-enabled true|falsecephuser@adm >
ceph dashboard set-pwd-policy-check-username-enabled true|falsecephuser@adm >
ceph dashboard set-pwd-policy-check-exclusion-list-enabled true|falsecephuser@adm >
ceph dashboard set-pwd-policy-check-complexity-enabled true|falsecephuser@adm >
ceph dashboard set-pwd-policy-check-sequential-chars-enabled true|falsecephuser@adm >
ceph dashboard set-pwd-policy-check-repetitive-chars-enabled true|false
Además, las siguientes opciones están disponibles para configurar el comportamiento de la directiva de contraseñas.
La longitud mínima de la contraseña (por defecto es 8):
cephuser@adm >
ceph dashboard set-pwd-policy-min-length N
La complejidad mínima de la contraseña (por defecto es 10):
cephuser@adm >
ceph dashboard set-pwd-policy-min-complexity N
La complejidad de la contraseña se calcula clasificando cada carácter de la contraseña.
Una lista de palabras separadas por comas que no se pueden utilizar en una contraseña:
cephuser@adm >
ceph dashboard set-pwd-policy-exclusion-list word[,...]
Ceph Dashboard admite la gestión de varias cuentas de usuario. Cada cuenta de usuario está formada por un nombre de usuario, una contraseña (almacenada cifrada mediante bcrypt
), un nombre opcional y una dirección de correo electrónico opcional.
Las cuentas de usuario se almacenan en la base de datos de configuración de Ceph Monitor y se comparten de forma global entre todas las instancias de Ceph Manager.
Utilice los comandos siguientes para gestionar cuentas de usuario:
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
En esta sección se describen los ámbitos de seguridad que puede asignar a una función de usuario, y se explica cómo gestionar funciones de usuario y cómo asignarlas a cuentas de usuario.
Las cuentas de usuario están asociadas a un conjunto de funciones que definen a qué partes de la consola puede tener acceso el usuario. Las distintas partes de la consola se agrupan dentro de un ámbito de seguridad. Los ámbitos de seguridad están predefinidos y son estáticos. Actualmente están disponibles los siguientes ámbitos de seguridad:
Incluye todas las características relacionadas con la entrada del menú
.Incluye todas las características relacionadas con las gestión de las opciones de configuración de Ceph.
Incluye todas las características relacionadas con la gestión de repositorios.
Incluye todas las funciones relacionadas con la gestión de Ceph OSD.
Incluye todas las características relacionadas con la gestión de Ceph Monitor.
Incluye todas las funciones relacionadas con la gestión de imágenes de dispositivos de bloques RADOS.
Incluye todas las funciones relacionadas con la gestión de duplicados de dispositivos de bloques RADOS.
Incluye todas las características relacionadas con la gestión de iSCSI.
Incluye todas las características relacionadas con la gestión de Object Gateway.
Incluye todas las características relacionadas con la gestión de CephFS.
Incluye todas las características relacionadas con la gestión de Ceph Manager.
Incluye todas las características relacionadas con la gestión de los registros de Ceph.
Incluye todas las características relacionadas con el proxy de Grafana.
Incluye todas las funciones relacionadas con la gestión de alertas Prometheus.
Permite cambiar la configuración de la consola.
Una función especifica un conjunto de asignaciones entre un ámbito de seguridad y un conjunto de permisos. Hay cuatro tipos de permisos: "leer", "crear", "actualizar" y "suprimir".
En el ejemplo siguiente se especifica una función en la que un usuario tiene los permisos "leer" y "crear" para las características relacionadas con la gestión de repositorios, y tiene permisos completos para las características relacionadas con la gestión de imágenes RBD:
{ 'role': 'my_new_role', 'description': 'My new role', 'scopes_permissions': { 'pool': ['read', 'create'], 'rbd-image': ['read', 'create', 'update', 'delete'] } }
La consola ya proporciona un conjunto de funciones predefinidas que llamamos funciones del sistema. Puede usarlas de inmediato después de instalar la Ceph Dashboard:
Proporciona permisos completos para todos los ámbitos de seguridad.
Proporciona permiso de lectura para todos los ámbitos de seguridad, excepto para la configuración de la consola.
Proporciona permisos completos para los ámbitos "rbd-image", "rbd-mirroring" e "iscsi".
Proporciona permisos completos para el ámbito "rgw".
Proporciona permisos completos para los ámbitos "hosts", "osd", "monitor", "manager" y "config-opt".
Proporciona permisos completos para el ámbito "pool".
Proporciona permisos completos para el ámbito "cephfs".
Puede crear nuevas funciones de usuario mediante los siguientes comandos:
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
Utilice los comandos siguientes para asignar funciones a los usuarios:
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 ...]
Si crea funciones de usuario personalizadas y tiene previsto eliminar el clúster de Ceph con el runner ceph.purge
más adelante, primero debe limpiar las funciones personalizadas. Más detalles en la Sección 13.9, “Eliminación de un clúster de Ceph completo”
En esta sección se describe un procedimiento para crear una cuenta de usuario capaz de gestionar imágenes RBD, ver y crear repositorios de Ceph y tener acceso de solo lectura a cualquier otro ámbito.
Cree un usuario llamado tux
:
cephuser@adm >
ceph dashboard ac-user-create tux PASSWORD
Cree una función y especifique los permisos de ámbito:
cephuser@adm >
ceph dashboard ac-role-create rbd/pool-managercephuser@adm >
ceph dashboard ac-role-add-scope-perms rbd/pool-manager \ rbd-image read create update deletecephuser@adm >
ceph dashboard ac-role-add-scope-perms rbd/pool-manager pool read create
Asocie las funciones con el usuario tux
:
cephuser@adm >
ceph dashboard ac-user-set-roles tux rbd/pool-manager read-only
Si desea establecer una URL fija para acceder a Ceph Dashboard, o si no desea permitir conexiones directas con los nodos del gestor, puede configurar un servidor proxy que reenvíe automáticamente las peticiones entrantes a la instancia de ceph-mgr
activa.
Si accede a la consola a través de una configuración de proxy inverso, es posible que deba darle servicio mediante un prefijo de URL. Para que la consola pueda usar hipervínculos que incluyan el prefijo, puede definir el valor de url_prefix
:
cephuser@adm >
ceph config set mgr mgr/dashboard/url_prefix URL_PREFIX
A continuación, podrá acceder a la consola en http://NOMBRE_HOST:NÚMERO_PUERTO/PREFIJO_URL/
.
Si Ceph Dashboard se encuentra detrás de un servidor proxy de equilibrio de carga como HAProxy, inhabilite el comportamiento de redirección para evitar situaciones en las que las URL internas (que no se pueden resolver) se publiquen en el cliente de procesador frontal. Utilice el comando siguiente para que la consola responda con un error HTTP (500
por defecto) en lugar de redirigir a la consola activa:
cephuser@adm >
ceph config set mgr mgr/dashboard/standby_behaviour "error"
Para restablecer el ajuste al comportamiento de redirección por defecto, utilice el comando siguiente:
cephuser@adm >
ceph config set mgr mgr/dashboard/standby_behaviour "redirect"
Si el comportamiento de redirección está inhabilitado, debe personalizar el código de estado HTTP de las consolas en espera. Para ello, ejecute el comando siguiente:
cephuser@adm >
ceph config set mgr mgr/dashboard/standby_error_status_code 503
El siguiente ejemplo de configuración es para la transferencia directa TLS/SSL mediante HAProxy.
La configuración funciona en las siguientes condiciones: si la consola falla, el cliente de procesador frontal puede recibir una respuesta de redirección HTTP (303
) y se le redirigirá a un host que no se puede resolver.
Esto ocurre cuando se produce un failover durante dos comprobaciones de estado de HAProxy. En este caso, el nodo de consola anteriormente activo responderá ahora con un 303, que señala al nuevo nodo activo. Para evitarlo, puede inhabilitar el comportamiento de redirección en los nodos en espera.
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
La API REST de Ceph Dashboard puede registrar peticiones PUT, POST y DELETE en el registro de auditoría de Ceph. El registro está inhabilitado por defecto, pero es posible habilitarlo con el siguiente comando:
cephuser@adm >
ceph dashboard set-audit-api-enabled true
Si está habilitado, se registran los parámetros siguientes por cada petición:
El origen de la petición, por ejemplo "https://[::1]:44410".
La vía de la API REST, por ejemplo /api/auth
.
"PUT", "POST" o "DELETE".
El nombre del usuario (o "Ninguno").
Una entrada de registro de ejemplo tiene este aspecto:
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"}'
El registro de la carga útil de la petición (la lista de argumentos y sus valores) está habilitado por defecto. Puede inhabilitarlo de la siguiente manera:
cephuser@adm >
ceph dashboard set-audit-api-log-payload false
Ceph Dashboard puede gestionar las exportaciones de NFS Ganesha que utilizan CephFS u Object Gateway como almacén secundario. La consola gestiona los archivos de configuración de NFS Ganesha almacenados en objetos RADOS en el clúster de CephFS. NFS Ganesha debe almacenar parte de su configuración en el clúster de Ceph.
Ejecute el comando siguiente para configurar la ubicación del objeto de configuración de NFS Ganesha:
cephuser@adm >
ceph dashboard set-ganesha-clusters-rados-pool-namespace pool_name[/namespace]
Ahora puede gestionar las exportaciones de NFS Ganesha mediante Ceph Dashboard.
Ceph Dashboard admite la gestión de exportaciones de NFS Ganesha que pertenecen a diferentes clústeres de NFS Ganesha. Se recomienda que cada clúster de NFS Ganesha almacene sus objetos de configuración en un repositorio o espacio de nombres RADOS diferente para aislar las configuraciones entre sí.
Utilice el comando siguiente para especificar las ubicaciones de la configuración de cada clúster de NFS Ganesha:
cephuser@adm >
ceph dashboard set-ganesha-clusters-rados-pool-namespace cluster_id:pool_name[/namespace](,cluster_id:pool_name[/namespace])*
La cadena cluster_id es arbitraria e identifica de forma exclusiva el clúster de NFS Ganesha.
Al configurar Ceph Dashboard con varios clústeres de NFS Ganesha, la interfaz de usuario Web permite elegir automáticamente a qué clúster pertenece una exportación.
Los complementos de Ceph Dashboard amplían la funcionalidad de la consola. El complemento de depuración permite personalizar el comportamiento de la consola según el modo de depuración. Puede habilitarse, inhabilitarse o comprobarse con el comando siguiente:
cephuser@adm >
ceph dashboard debug status Debug: 'disabled'cephuser@adm >
ceph dashboard debug enable Debug: 'enabled'cephuser@adm >
dashboard debug disable Debug: 'disabled'
Por defecto, está inhabilitado. Este es el valor recomendado para las distribuciones de producción. Si es necesario, se puede habilitar el modo de depuración sin necesidad de reiniciar.