Ir para o conteúdoIr para navegação de página: página anterior [tecla de acesso p]/próxima página [tecla de acesso n]
documentation.suse.com / Documentação do SUSE Enterprise Storage 7.1 / Guia de Administração e Operações / Ceph Dashboard / Gerenciar usuários e funções na linha de comando
Aplica-se a SUSE Enterprise Storage 7.1

11 Gerenciar usuários e funções na linha de comando

Esta seção descreve como gerenciar contas de usuário usadas pelo Ceph Dashboard. Ela ajuda você a criar ou modificar as contas de usuário e definir as funções e permissões de usuário apropriadas.

11.1 Gerenciando a política de senha

Por padrão, o recurso de política de senha está habilitado, incluindo as seguintes verificações:

  • A senha tem mais de N caracteres?

  • As senhas antiga e nova são iguais?

O recurso de política de senha pode ser ativado ou desativado completamente:

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

Cada uma destas verificações pode ser ativada ou desativada:

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

As seguintes opções tambem estão disponíveis para configurar o comportamento da política de senha.

  • O tamanho mínimo da senha (padrão 8):

    cephuser@adm > ceph dashboard set-pwd-policy-min-length N
  • A complexidade mínima da senha (padrão 10):

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

    A complexidade da senha é calculada pela classificação de cada caractere na senha.

  • Uma lista de palavras separadas por vírgula que não podem ser usadas em uma senha:

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

11.2 Gerenciando contas dos usuários

O Ceph Dashboard suporta o gerenciamento de várias contas de usuário. Cada conta de usuário consiste em nome de usuário, senha (armazenada em formato criptografado com bcrypt), além de nome e endereço de e-mail opcionais.

As contas dos usuários são armazenadas no banco de dados de configuração do Ceph Monitor e compartilhadas globalmente com todas as instâncias do Ceph Manager.

Use os seguintes comandos para gerenciar as contas de usuário:

Mostrar usuários existentes:
cephuser@adm > ceph dashboard ac-user-show [USERNAME]
Criar um novo usuário:
cephuser@adm > ceph dashboard ac-user-create USERNAME -i [PASSWORD_FILE] [ROLENAME] [NAME] [EMAIL]
Apagar um usuário:
cephuser@adm > ceph dashboard ac-user-delete USERNAME
Mudar a senha de um usuário:
cephuser@adm > ceph dashboard ac-user-set-password USERNAME -i PASSWORD_FILE
Modificar nome e e-mail de um usuário:
cephuser@adm > ceph dashboard ac-user-set-info USERNAME NAME EMAIL
Desabilitar usuário
cephuser@adm > ceph dashboard ac-user-disable USERNAME
Habilitar Usuário
cephuser@adm > ceph dashboard ac-user-enable USERNAME

11.3 Funções e permissões de usuário

Esta seção descreve quais escopos de segurança você pode atribuir a uma função de usuário, como gerenciar as funções deo usuário e atribuí-las a contas de usuário.

11.3.1 Definindo escopos de segurança

As contas de usuário são associadas a um conjunto de funções que definem quais partes do painel de controle podem ser acessadas pelo usuário. As partes do painel de controle são agrupadas dentro de um escopo de segurança. Os escopos de segurança são predefinidos e estáticos. Atualmente, os seguintes escopos de segurança estão disponíveis:

hosts

Inclui todos os recursos relacionados à entrada do menu Hosts.

config-opt

Inclui todos os recursos relacionados ao gerenciamento das opções de configuração do Ceph.

pool

Inclui todos os recursos relacionados ao gerenciamento de pools.

osd

Inclui todos os recursos relacionados ao gerenciamento do Ceph OSD.

monitor

Inclui todos os recursos relacionados ao gerenciamento do Ceph Monitor.

rbd-image

Inclui todos os recursos relacionados ao gerenciamento de imagens do Dispositivo de Blocos RADOS.

rbd-mirroring

Inclui todos os recursos relacionados ao gerenciamento de espelhamento do Dispositivo de Blocos RADOS.

iscsi

Inclui todos os recursos relacionados ao gerenciamento do iSCSI.

rgw

Inclui todos os recursos relacionados ao gerenciamento do Gateway de Objetos.

cephfs

Inclui todos os recursos relacionados ao gerenciamento do CephFS.

manager

Inclui todos os recursos relacionados ao gerenciamento do Ceph Manager.

registro

Inclui todos os recursos relacionados ao gerenciamento de registros do Ceph.

grafana

Inclui todos os recursos relacionados ao proxy do Grafana.

prometheus

Inclua todos os recursos relacionados ao gerenciamento de alertas do Prometheus.

dashboard-settings

Permite mudar as configurações do painel de controle.

11.3.2 Especificando funções de usuário

Uma função especifica um conjunto de mapeamentos entre um escopo de segurança e um conjunto de permissões. Há quatro tipos de permissões: “read”, “create”, “update” e “delete”.

O exemplo a seguir especifica uma função em que um usuário tem permissões de “leitura” e “criação” para recursos relacionados ao gerenciamento de pools e tem permissões completas para recursos relacionados ao gerenciamento de imagens RBD:

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

O painel de controle já dispõe de um conjunto de funções predefinidas que chamamos de funções de sistema. Você pode usá-las logo após uma instalação recente do Ceph Dashboard:

administrator

Concede permissões completas para todos os escopos de segurança.

read-only

Concede permissão de leitura para todos os escopos de segurança, exceto as configurações do painel de controle.

block-manager

Concede permissões completas para os escopos “rbd-image”, “rbd-mirroring” e “iscsi”.

rgw-manager

Concede permissões completas para o escopo “rgw”.

cluster-manager

Concede permissões completas para os escopos “hosts”, “osd”, “monitor”, “manager” e “config-opt”.

pool-manager

Concede permissões completas para o escopo “pool”.

cephfs-manager

Concede permissões completas para o escopo “cephfs”.

11.3.2.1 Gerenciando funções personalizadas

Você pode criar novas funções de usuário executando os seguintes comandos:

Criar uma nova função:
cephuser@adm > ceph dashboard ac-role-create ROLENAME [DESCRIPTION]
Apagar uma função:
cephuser@adm > ceph dashboard ac-role-delete ROLENAME
Adicionar permissões de escopo a uma função:
cephuser@adm > ceph dashboard ac-role-add-scope-perms ROLENAME SCOPENAME PERMISSION [PERMISSION...]
Apagar permissões de escopo a uma função:
cephuser@adm > ceph dashboard ac-role-del-perms ROLENAME SCOPENAME

11.3.2.2 Atribuindo funções às contas dos usuários

Use os seguintes comandos para atribuir funções a usuários:

Definir funções de usuário:
cephuser@adm > ceph dashboard ac-user-set-roles USERNAME ROLENAME [ROLENAME ...]
Adicionar mais funções a um usuário:
cephuser@adm > ceph dashboard ac-user-add-roles USERNAME ROLENAME [ROLENAME ...]
Apagar funções de um usuário:
cephuser@adm > ceph dashboard ac-user-del-roles USERNAME ROLENAME [ROLENAME ...]
Dica
Dica: Purgando funções personalizadas

Se você cria funções de usuário personalizadas e posteriormente pretende remover o cluster do Ceph com o executor ceph.purge, precisa purgar primeiro as funções personalizadas. Encontre mais detalhes na Seção 13.9, “Removendo um cluster inteiro do Ceph”.

11.3.2.3 Exemplo: Criando um usuário e uma função personalizada

Esta seção ilustra um procedimento para criar uma conta de usuário capaz de gerenciar imagens RBD, ver e criar pools do Ceph e obter acesso apenas leitura a qualquer outro escopo.

  1. Criar um novo usuário chamado tux:

     cephuser@adm > ceph dashboard ac-user-create tux PASSWORD
  2. Criar uma função e especificar permissões de escopo:

    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. Associar as funções ao usuário tux:

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

11.4 Configuração de proxy

Para estabelecer um URL fixo para acessar o Ceph Dashboard, ou se você não deseja permitir conexões diretas com os nós do gerenciador, pode configurar um proxy que encaminhe automaticamente as solicitações recebidas para a instância ativa do ceph-mgr no momento.

11.4.1 Acessando o painel de controle com proxies reversos

Se você acessa o painel de controle por meio de uma configuração de proxy reverso, talvez seja necessário usar um prefixo de URL para acessá-lo. Para fazer com que o painel de controle use hiperlinks que incluam seu prefixo, você pode definir a configuração url_prefix:

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

Em seguida, você pode acessar o painel de controle em http://HOST_NAME:PORT_NUMBER/URL_PREFIX/.

11.4.2 Desabilitando redirecionamentos

Se o Ceph Dashboard estiver protegido por um proxy de equilíbrio de carga, como HAProxy, desabilite o comportamento de redirecionamento para evitar situações em que os URLs internos (não resolvidos) são publicados no cliente de front end. Use o seguinte comando para fazer com que o painel de controle responda com um erro HTTP (padrão 500), em vez de redirecionar para o painel de controle ativo:

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

Para redefinir a configuração para o comportamento de redirecionamento padrão, use o seguinte comando:

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

11.4.3 Configurando códigos de status de erro

Se o comportamento de redirecionamento estiver desabilitado, você deverá personalizar o código de status HTTP dos painéis de controle de standby. Para fazer isso, execute o seguinte comando:

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

11.4.4 Exemplo de configuração do HAProxy

O exemplo de configuração a seguir refere-se à transferência de TLS/SSL por meio do HAProxy.

Nota
Nota

A configuração funciona nas seguintes condições: Se o painel de controle falhar, o cliente de front end poderá receber uma resposta de redirecionamento HTTP (303) e será redirecionado para um host não resolvido.

Isso acontece quando o failover ocorre durante duas verificações de saúde do HAProxy. Nessa situação, o nó do painel de controle que antes estava ativo agora responderá com um código 303 que aponta para o novo nó ativo. Para evitar essa situação, você deve desabilitar o comportamento de redirecionamento nos nós de standby.

  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 Fazendo auditoria das solicitações de API

A API REST do Ceph Dashboard pode gravar solicitações PUT, POST e DELETE no registro de auditoria do Ceph. Por padrão, o registro está desabilitado, mas você pode habilitá-lo com o seguinte comando:

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

Se habilitado, os seguintes parâmetros serão registrados por cada solicitação:

from

A origem da solicitação, por exemplo “https://[::1]:44410”.

path

O caminho da API REST, por exemplo /api/auth.

method

“PUT”, “POST” ou “DELETE”.

user

O nome do usuário (ou “Nenhum”).

Veja a seguir um exemplo de entrada de registro:

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"}'
Dica
Dica: Desabilitar o registro de payload de solicitação

Por padrão, o registro de payload de solicitação (a lista de argumentos e seus valores) está habilitado. Você pode desabilitá-lo da seguinte forma:

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

11.6 Configurando o NFS Ganesha no Ceph Dashboard

O Ceph Dashboard pode gerenciar exportações do NFS Ganesha que usam o CephFS ou o Gateway de Objetos como backstore. O painel de controle gerencia os arquivos de configuração do NFS Ganesha armazenados em objetos RADOS no cluster do CephFS. O NFS Ganesha deve armazenar parte da sua configuração no cluster do Ceph.

Execute o seguinte comando para configurar o local do objeto de configuração do NFS Ganesha:

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

Agora você pode gerenciar as exportações do NFS Ganesha usando o Ceph Dashboard.

11.6.1 Configurando vários clusters do NFS Ganesha

O Ceph Dashboard suporta o gerenciamento de exportações do NFS Ganesha pertencentes a diferentes clusters do NFS Ganesha. Recomendamos que cada cluster do NFS Ganesha armazene seus objetos de configuração em um pool/namespace RADOS diferente para isolar umas configurações das outras.

Use o seguinte comando para especificar os locais da configuração de cada cluster do NFS Ganesha:

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

O cluster_id é uma string arbitrária que identifica exclusivamente o cluster do NFS Ganesha.

Ao configurar o Ceph Dashboard com vários clusters do NFS Ganesha, a IU da Web permite escolher automaticamente a qual cluster uma exportação pertence.

11.7 Plug-ins de depuração

Os plug-ins do Ceph Dashboard estendem a funcionalidade do painel de controle. O plug-in de depuração permite a personalização do comportamento do painel de controle de acordo com o modo de depuração. Ele pode ser habilitado, desabilitado ou verificado com o seguinte comando:

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

Por padrão, esse modo está desabilitado. Essa é a configuração recomendada para implantações de produção. Se necessário, o modo de depuração pode ser habilitado sem necessidade de reinicialização.