Ir al contenidoIr a la navegación de la página: página anterior [tecla de acceso p]/página siguiente [tecla de acceso n]
documentation.suse.com / Documentación de SUSE Enterprise Storage 7 / Guía de administración y operaciones / Ceph Dashboard / Gestión de usuarios y funciones en la línea de comandos
Se aplica a SUSE Enterprise Storage 7

11 Gestión de usuarios y funciones en la línea de comandos

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.

11.1 Gestión de la directiva de contraseñas

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|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

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[,...]

11.2 Gestión de cuentas de usuario

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:

Mostrar usuarios existentes:
cephuser@adm > ceph dashboard ac-user-show [USERNAME]
Crear un usuario:
cephuser@adm > ceph dashboard ac-user-create USERNAME [PASSWORD] [ROLENAME] [NAME] [EMAIL]
Suprimir un usuario:
cephuser@adm > ceph dashboard ac-user-delete USERNAME
Cambiar la contraseña de un usuario:
cephuser@adm > ceph dashboard ac-user-set-password USERNAME PASSWORD
Modificar el nombre y el correo electrónico de un usuario:
cephuser@adm > ceph dashboard ac-user-set-info USERNAME NAME EMAIL
Inhabilitar un usuario:
cephuser@adm > ceph dashboard ac-user-disable USERNAME
Habilitar un usuario:
cephuser@adm > ceph dashboard ac-user-enable USERNAME

11.3 Funciones y permisos de usuario

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.

11.3.1 Definición de ámbitos de seguridad

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:

hosts

Incluye todas las características relacionadas con la entrada del menú Hosts.

config-opt

Incluye todas las características relacionadas con las gestión de las opciones de configuración de Ceph.

pool

Incluye todas las características relacionadas con la gestión de repositorios.

osd

Incluye todas las funciones relacionadas con la gestión de Ceph OSD.

monitor

Incluye todas las características relacionadas con la gestión de Ceph Monitor.

rbd-image

Incluye todas las funciones relacionadas con la gestión de imágenes de dispositivos de bloques RADOS.

rbd-mirroring

Incluye todas las funciones relacionadas con la gestión de duplicados de dispositivos de bloques RADOS.

iscsi

Incluye todas las características relacionadas con la gestión de iSCSI.

rgw

Incluye todas las características relacionadas con la gestión de Object Gateway.

cephfs

Incluye todas las características relacionadas con la gestión de CephFS.

manager

Incluye todas las características relacionadas con la gestión de Ceph Manager.

log

Incluye todas las características relacionadas con la gestión de los registros de Ceph.

grafana

Incluye todas las características relacionadas con el proxy de Grafana.

prometheus

Incluye todas las funciones relacionadas con la gestión de alertas Prometheus.

dashboard-settings

Permite cambiar la configuración de la consola.

11.3.2 Especificación de funciones de usuario

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:

administrator

Proporciona permisos completos para todos los ámbitos de seguridad.

read-only

Proporciona permiso de lectura para todos los ámbitos de seguridad, excepto para la configuración de la consola.

block-manager

Proporciona permisos completos para los ámbitos "rbd-image", "rbd-mirroring" e "iscsi".

rgw-manager

Proporciona permisos completos para el ámbito "rgw".

cluster-manager

Proporciona permisos completos para los ámbitos "hosts", "osd", "monitor", "manager" y "config-opt".

pool-manager

Proporciona permisos completos para el ámbito "pool".

cephfs-manager

Proporciona permisos completos para el ámbito "cephfs".

11.3.2.1 Gestión de funciones personalizadas

Puede crear nuevas funciones de usuario mediante los siguientes comandos:

Crear una función:
cephuser@adm > ceph dashboard ac-role-create ROLENAME [DESCRIPTION]
Suprimir una función:
cephuser@adm > ceph dashboard ac-role-delete ROLENAME
Añadir permisos de ámbito a una función:
cephuser@adm > ceph dashboard ac-role-add-scope-perms ROLENAME SCOPENAME PERMISSION [PERMISSION...]
Suprimir permisos de ámbito de una función:
cephuser@adm > ceph dashboard ac-role-del-perms ROLENAME SCOPENAME

11.3.2.2 Asignación de funciones a cuentas de usuario

Utilice los comandos siguientes para asignar funciones a los usuarios:

Definir funciones de usuario:
cephuser@adm > ceph dashboard ac-user-set-roles USERNAME ROLENAME [ROLENAME ...]
Añadir funciones adicionales a un usuario:
cephuser@adm > ceph dashboard ac-user-add-roles USERNAME ROLENAME [ROLENAME ...]
Suprimir funciones de un usuario:
cephuser@adm > ceph dashboard ac-user-del-roles USERNAME ROLENAME [ROLENAME ...]
Sugerencia
Sugerencia: limpieza de funciones personalizadas

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”

11.3.2.3 Ejemplo: creación de un usuario y una función personalizada

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.

  1. Cree un usuario llamado tux:

     cephuser@adm > ceph dashboard ac-user-create tux PASSWORD
  2. Cree una función y especifique los permisos de ámbito:

    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. Asocie las funciones con el usuario tux:

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

11.4 Configuración de proxy:

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.

11.4.1 Acceso a la consola con proxies inversos

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/.

11.4.2 Inhabilitación de redirecciones

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"

11.4.3 Configuración de códigos de estado de error

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

11.4.4 Configuración de ejemplo de HAProxy

El siguiente ejemplo de configuración es para la transferencia directa TLS/SSL mediante HAProxy.

Nota
Nota

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

11.5 Auditoría de peticiones de API

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:

from

El origen de la petición, por ejemplo "https://[::1]:44410".

path

La vía de la API REST, por ejemplo /api/auth.

method

"PUT", "POST" o "DELETE".

user

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"}'
Sugerencia
Sugerencia: inhabilitación del registro de la carga útil de la petición

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

11.6 Configuración de NFS Ganesha en Ceph Dashboard

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.

11.6.1 Configuración de varios clústeres de NFS Ganesha

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.

11.7 Depuración de complementos

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.