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 / Guia de Operações e Administração / Configurando um cluster / Autenticação com cephx
Aplica-se a SUSE Enterprise Storage 7

30 Autenticação com cephx

Para identificar clientes e proteger-se contra ataques man-in-the-middle, o Ceph oferece o sistema de autenticação cephx. Neste contexto, os clientes são pessoas, como o usuário admin, ou serviços/daemons relacionados ao Ceph, por exemplo, OSDs, monitores ou Gateways de Objetos.

Nota
Nota

O protocolo cephx não atende à criptografia de dados em transporte, como TLS/SSL.

30.1 Arquitetura de autenticação

O cephx usa chaves secretas compartilhadas para autenticação, o que significa que tanto o cliente quanto os Ceph Monitors têm uma cópia da chave secreta do cliente. O protocolo de autenticação permite que ambas as partes comprovem uma para a outra que têm uma cópia da chave sem precisar revelá-la. Isso permite uma autenticação mútua: o cluster tem certeza de que o usuário possui a chave secreta, e o usuário também tem certeza de que o cluster tem uma cópia da chave secreta.

Um recurso de escalabilidade importante do Ceph é para evitar uma interface centralizada com o armazenamento de objetos do Ceph. Isso significa que os clientes do Ceph podem interagir diretamente com os OSDs. Para proteger os dados, o Ceph oferece o sistema de autenticação cephx, que autentica clientes do Ceph.

Cada monitor pode autenticar clientes e distribuir chaves, portanto, não há nenhum ponto único de falha ou gargalo ao usar o cephx. O monitor retorna uma estrutura de dados de autenticação que contém uma chave de sessão para uso na obtenção dos serviços do Ceph. Essa chave de sessão é autocriptografada com a chave secreta permanente do cliente para que apenas o cliente possa solicitar serviços dos Ceph Monitors. Em seguida, o cliente usa a chave de sessão para solicitar os serviços desejados do monitor, e o monitor emite um ticket para o cliente que lhe autenticará nos OSDs que realmente processam os dados. Os Ceph Monitors e OSDs compartilham um segredo, portanto, o cliente pode usar o ticket emitido pelo monitor com qualquer OSD ou servidor de metadados no cluster. Os tickets do cephx expiram para que um invasor não consiga usar um ticket expirado ou uma chave de sessão obtida indevidamente.

Para usar o cephx, um administrador deve primeiro configurar clientes/usuários. No diagrama a seguir, o usuário client.admin invoca ceph auth get-or-create-key da linha de comando para gerar um nome de usuário e a chave secreta. O subsistema auth do Ceph gera o nome de usuário e a chave, armazena uma cópia com o(s) monitor(es) e transmite o segredo do usuário de volta ao usuário client.admin. Isso significa que o cliente e o monitor compartilham uma chave secreta.

Autenticação básica do cephx
Figura 30.1: Autenticação básica do cephx

Para autenticar-se no monitor, o cliente envia o nome de usuário ao monitor. O monitor gera uma chave de sessão e a criptografa com a chave secreta associada ao nome de usuário e transmite o ticket criptografado de volta para o cliente. Em seguida, o cliente decodifica os dados com a chave secreta compartilhada para recuperar a chave de sessão. A chave de sessão identifica o usuário da sessão atual. Em seguida, o cliente solicita um ticket relacionado ao usuário, que é assinado pela chave de sessão. O monitor gera um ticket, criptografa-o com a chave secreta do usuário e o transmite de volta para o cliente. O cliente decodifica o ticket e o utiliza para assinar solicitações para OSDs e servidores de metadados em todo o cluster.

Autenticação do cephx
Figura 30.2: Autenticação do cephx

O protocolo cephx autentica as constantes comunicações entre a máquina cliente e os servidores Ceph. Cada mensagem enviada entre um cliente e um servidor após a autenticação inicial é assinada usando um ticket que os monitores, OSDs e servidores de metadados podem verificar com o segredo compartilhado.

Autenticação do cephx: MDS e OSD
Figura 30.3: Autenticação do cephx: MDS e OSD
Importante
Importante

A proteção oferecida por essa autenticação ocorre entre o cliente do Ceph e os hosts de cluster do Ceph. A autenticação não ultrapassa o cliente do Ceph. Se um usuário acessar o cliente do Ceph de um host remoto, a autenticação do Ceph não será aplicada à conexão entre o host do usuário e do cliente.

30.2 Gerenciamento de chave

Esta seção descreve os usuários de cliente do Ceph e a autenticação e autorização no cluster de armazenamento do Ceph. Usuários são pessoas ou mecanismos de sistema, como aplicativos, que usam os clientes do Ceph para interagir com os daemons do cluster de armazenamento do Ceph.

Quando o Ceph é executado com a autenticação e a autorização habilitadas (padrão), você deve especificar um nome de usuário e um chaveiro que contém a chave secreta do usuário especificado (geralmente por meio da linha de comando). Se você não especificar um nome de usuário, o Ceph usará o client.admin como padrão. Se você não especificar um chaveiro, o Ceph procurará um na configuração de chaveiros no arquivo de configuração do Ceph. Por exemplo, se você executar o comando ceph health sem especificar um nome de usuário ou chaveiro, o Ceph interpretará o comando da seguinte forma:

cephuser@adm > ceph -n client.admin --keyring=/etc/ceph/ceph.client.admin.keyring health

Se preferir, você poderá usar a variável de ambiente CEPH_ARGS para não ter que redigitar o nome de usuário e o segredo.

30.2.1 Informações de referência

Seja qual for o tipo de cliente do Ceph (por exemplo, dispositivo de blocos, armazenamento de objetos, sistema de arquivos ou API nativa), o Ceph armazena todos os dados como objetos em pools. Os usuários do Ceph precisam ter acesso aos pools para ler e gravar dados. Os usuários do Ceph também devem ter permissões de execução para utilizar os comandos administrativos do Ceph. Os conceitos a seguir ajudarão você a entender o gerenciamento de usuários do Ceph.

30.2.1.1 Usuário

Um usuário é uma pessoa ou um mecanismo de sistema, como um aplicativo. A criação de usuários permite controlar quem (ou o quê) pode acessar o cluster de armazenamento do Ceph, os pools e os dados dos pools.

O Ceph usa tipos de usuários. Para fins de gerenciamento de usuários, o tipo sempre será client. O Ceph identifica os usuários no formato delimitado por ponto (.), que consiste no tipo e ID de usuário. Por exemplo, TYPE.ID, client.admin ou client.user1. O motivo da definição de tipo do usuário é que os Ceph Monitors, OSDs e servidores de metadados também usam o protocolo cephx, mas eles não são clientes. A distinção do tipo de usuário ajuda a diferenciar os usuários que são clientes dos demais, otimizando o controle de acesso, o monitoramento de usuários e o rastreamento.

Às vezes, o tipo de usuário do Ceph pode parecer confuso, porque a linha de comando do Ceph permite especificar um usuário com ou sem o tipo, dependendo do seu uso da linha de comando. Se você especificar --user ou --id, poderá omitir o tipo. Portanto, é possível inserir client.user1 simplesmente como user1. Se você especificar --name ou -n, deverá especificar o tipo e o nome, como client.user1. Recomendamos o uso do tipo e do nome como uma melhor prática, sempre que possível.

Nota
Nota

Um usuário de cluster de armazenamento do Ceph não é o mesmo que um usuário de armazenamento de objetos ou de sistema de arquivos do Ceph. O Gateway de Objetos do Ceph utiliza um usuário de cluster de armazenamento do Ceph para comunicação entre o daemon do gateway e o cluster de armazenamento, mas o gateway tem sua própria funcionalidade de gerenciamento para usuários finais. O sistema de arquivos do Ceph usa semânticas do POSIX. O espaço do usuário associado a ele não é o mesmo de um usuário de cluster de armazenamento do Ceph.

30.2.1.2 Autorização e recursos

O Ceph usa o termo "recursos" (caps) para descrever a autorização de um usuário autenticado para executar as funcionalidades dos monitores, OSDs e servidores de metadados. Os recursos também podem restringir o acesso aos dados em um pool ou namespace do pool. Um usuário administrador do Ceph define os recursos do usuário ao criá-lo ou atualizá-lo.

A sintaxe de recurso segue o formato:

daemon-type 'allow capability' [...]

Veja a seguir uma lista de recursos para cada tipo de serviço:

Recursos do monitor

incluem r, w, x e allow profile cap.

mon 'allow rwx'
mon 'allow profile osd'
Recursos do OSD

incluem r, w, x, class-read, class-write e profile osd. Os recursos do OSD também permitem configurações de pool e namespace.

osd 'allow capability' [pool=poolname] [namespace=namespace-name]
Recurso do MDS

requer apenas allow ou fica em branco.

mds 'allow'

As entradas a seguir descrevem cada recurso:

allow

Antecede as configurações de acesso para um daemon. Implica apenas no rw para MDS.

r

Concede o acesso de leitura ao usuário. Necessário com monitores para recuperar o mapa CRUSH.

w

Concede ao usuário acesso de gravação em objetos.

x

Permite que o usuário chame métodos de classe (tanto de leitura quanto de gravação) e execute operações do auth em monitores.

class-read

Permite que o usuário chame métodos de leitura de classe. Subconjunto do x.

class-write

Permite que o usuário chame métodos de gravação de classe. Subconjunto do x.

*

Concede ao usuário permissões de leitura, gravação e execução para determinado daemon/pool e permite executar comandos de admin.

profile osd

Concede a um usuário permissões para conectar-se como OSD a outros OSDs ou monitores. Atribuído aos OSDs para permitir que eles processem o tráfego de heartbeat de replicação e o relatório de status.

profile mds

Concede a um usuário permissões para conectar-se como MDS a outros MDSs ou monitores.

profile bootstrap-osd

Concede a um usuário permissões para inicializar um OSD. Delegado a ferramentas de implantação para que elas tenham permissões para adicionar chaves ao inicializar um OSD.

profile bootstrap-mds

Concede a um usuário permissões para inicializar um servidor de metadados. Delegado a ferramentas de implantação para que elas tenham permissões para adicionar chaves ao inicializar um servidor de metadados.

30.2.1.3 Pools

Um pool é uma partição lógica em que os usuários armazenam dados. No caso das implantações do Ceph, é comum criar um pool como partição lógica para tipos de dados semelhantes. Por exemplo, ao implantar o Ceph como back end para o OpenStack, uma implantação típica tem pools para volumes, imagens, backups, máquinas virtuais e usuários como client.glance ou client.cinder.

30.2.2 Gerenciando usuários

A funcionalidade de gerenciamento de usuários permite aos administradores de cluster do Ceph criar, atualizar e apagar usuários diretamente do cluster do Ceph.

Ao criar ou apagar usuários do cluster do Ceph, talvez você tenha que distribuir chaves aos clientes para que elas possam ser adicionadas aos chaveiros. Consulte a Seção 30.2.3, “Gerenciando chaveiros” para obter os detalhes.

30.2.2.1 Listando usuários

Para listar os usuários em seu cluster, execute o seguinte:

cephuser@adm > ceph auth list

O Ceph listará todos os usuários em seu cluster. Por exemplo, em um cluster com dois nós, a saída de ceph auth list tem esta aparência:

installed auth entries:

osd.0
        key: AQCvCbtToC6MDhAATtuT70Sl+DymPCfDSsyV4w==
        caps: [mon] allow profile osd
        caps: [osd] allow *
osd.1
        key: AQC4CbtTCFJBChAAVq5spj0ff4eHZICxIOVZeA==
        caps: [mon] allow profile osd
        caps: [osd] allow *
client.admin
        key: AQBHCbtT6APDHhAA5W00cBchwkQjh3dkKsyPjw==
        caps: [mds] allow
        caps: [mon] allow *
        caps: [osd] allow *
client.bootstrap-mds
        key: AQBICbtTOK9uGBAAdbe5zcIGHZL3T/u2g6EBww==
        caps: [mon] allow profile bootstrap-mds
client.bootstrap-osd
        key: AQBHCbtT4GxqORAADE5u7RkpCN/oo4e5W0uBtw==
        caps: [mon] allow profile bootstrap-osd
Nota
Nota: Notação TYPE.ID

Observe que a notificação TYPE.ID para usuários é aplicada de modo que osd.0 especifique um usuário do tipo osd e o ID seja 0. client.admin é um usuário do tipo client e o ID é admin. Observe também que cada entrada tem uma entrada key: value, e uma ou mais entradas caps:.

Você pode usar a opção -o nomedearquivo com ceph auth list para gravar a saída em um arquivo.

30.2.2.2 Obtendo informações sobre usuários

Para recuperar um usuário, chave e recursos específicos, execute o seguinte:

cephuser@adm > ceph auth get TYPE.ID

Por exemplo:

cephuser@adm > ceph auth get client.admin
exported keyring for client.admin
[client.admin]
	key = AQA19uZUqIwkHxAAFuUwvq0eJD4S173oFRxe0g==
	caps mds = "allow"
	caps mon = "allow *"
 caps osd = "allow *"

Os desenvolvedores também podem executar o seguinte:

cephuser@adm > ceph auth export TYPE.ID

O comando auth export é idêntico a auth get, mas também imprime o ID de autenticação interno.

30.2.2.3 Adicionando usuários

A adição de um usuário cria um nome de usuário (TYPE.ID), uma chave secreta e quaisquer recursos incluídos no comando que você usa para criar o usuário.

A chave do usuário permite que ele se autentique no cluster de armazenamento do Ceph. Os recursos do usuário lhe autorizam a ler, gravar ou executar Ceph Monitors (mon), Ceph OSDs (osd) ou servidores de metadados do Ceph (mds).

Há alguns comandos disponíveis para adicionar um usuário:

ceph auth add

Esse comando é a forma canônica de adicionar um usuário. Ele criará o usuário, gerará uma chave e adicionará quaisquer recursos especificados.

ceph auth get-or-create

Geralmente, esse comando é o método mais prático de criar um usuário, pois ele retorna um formato de arquivo de chaves com o nome de usuário (entre parênteses) e a chave. Se o usuário já existir, esse comando simplesmente retornará o nome de usuário e a chave no formato de arquivo de chaves. Você pode usar a opção -o nomedearquivo para gravar a saída em um arquivo.

ceph auth get-or-create-key

Esse comando é um método prático de criar um usuário e retornar a chave dele (apenas). Ele é útil para clientes que precisam apenas da chave (por exemplo, libvirt). Se o usuário já existir, esse comando retornará apenas a chave. Você pode usar a opção -o nomedearquivo para gravar a saída em um arquivo.

Ao criar usuários de cliente, você pode criá-los sem recursos. Um usuário sem recursos pode apenas se autenticar, nada mais. Esse tipo de cliente não pode recuperar o mapa de cluster do monitor. No entanto, você pode criar um usuário sem recursos para adiar a adição de recursos usando o comando ceph auth caps.

Um usuário comum tem pelo menos recursos de leitura no Ceph Monitor e recursos de leitura e gravação nos Ceph OSDs. Além disso, as permissões de OSD do usuário costumam limitar-se ao acesso a determinado pool.

cephuser@adm > ceph auth add client.john mon 'allow r' osd \
 'allow rw pool=liverpool'
cephuser@adm > ceph auth get-or-create client.paul mon 'allow r' osd \
 'allow rw pool=liverpool'
cephuser@adm > ceph auth get-or-create client.george mon 'allow r' osd \
 'allow rw pool=liverpool' -o george.keyring
cephuser@adm > ceph auth get-or-create-key client.ringo mon 'allow r' osd \
 'allow rw pool=liverpool' -o ringo.key
Importante
Importante

Se você conceder a um usuário recursos para OSDs, mas não restringir o acesso a determinados pools, o usuário terá acesso a todos os pools no cluster.

30.2.2.4 Modificando recursos do usuário

O comando ceph auth caps permite especificar um usuário e mudar os recursos dele. A definição de novos recursos sobregravará os atuais. Para ver os recursos atuais, execute ceph auth get USERTYPE.USERID. Para adicionar recursos, você também precisa especificar os recursos existentes quando usar o formato a seguir:

cephuser@adm > ceph auth caps USERTYPE.USERID daemon 'allow [r|w|x|*|...] \
     [pool=pool-name] [namespace=namespace-name]' [daemon 'allow [r|w|x|*|...] \
     [pool=pool-name] [namespace=namespace-name]']

Por exemplo:

cephuser@adm > ceph auth get client.john
cephuser@adm > ceph auth caps client.john mon 'allow r' osd 'allow rw pool=prague'
cephuser@adm > ceph auth caps client.paul mon 'allow rw' osd 'allow r pool=prague'
cephuser@adm > ceph auth caps client.brian-manager mon 'allow *' osd 'allow *'

Para remover um recurso, você pode redefini-lo. Para que o usuário não tenha acesso a determinado daemon já definido, especifique uma string vazia:

cephuser@adm > ceph auth caps client.ringo mon ' ' osd ' '

30.2.2.5 Apagando usuários

Para apagar um usuário, execute ceph auth del:

cephuser@adm > ceph auth del TYPE.ID

em que TYPE é client, osd, mon ou mds, e ID é o nome de usuário ou o ID do daemon.

Se você criou usuários com permissões estritamente para um pool que não existe mais, convém apagá-los também.

30.2.2.6 Imprimindo uma chave do usuário

Para imprimir a chave de autenticação do usuário em uma saída padrão, execute o seguinte:

cephuser@adm > ceph auth print-key TYPE.ID

em que TYPE é client, osd, mon ou mds, e ID é o nome de usuário ou o ID do daemon.

A impressão da chave do usuário é útil quando você precisa preencher o software cliente com a chave do usuário (como libvirt), conforme mostrado neste exemplo:

root # mount -t ceph host:/ mount_point \
-o name=client.user,secret=`ceph auth print-key client.user`

30.2.2.7 Importando usuários

Para importar um ou mais usuários, execute ceph auth import e especifique um chaveiro:

cephuser@adm > ceph auth import -i /etc/ceph/ceph.keyring
Nota
Nota

O cluster de armazenamento do Ceph adicionará novos usuários, as chaves e os recursos deles e atualizará os usuários existentes, as chaves e os recursos deles.

30.2.3 Gerenciando chaveiros

Quando você acessa o Ceph por um cliente, esse cliente procura um chaveiro local. Por padrão, o Ceph predefine a configuração de chaveiro com os quatro nomes de chaveiro a seguir, portanto, você não precisa defini-la em seu arquivo de configuração do Ceph, a menos que queira anular os padrões:

/etc/ceph/cluster.name.keyring
/etc/ceph/cluster.keyring
/etc/ceph/keyring
/etc/ceph/keyring.bin

A metavariável cluster é o nome do cluster do Ceph conforme definido pelo nome do arquivo de configuração do Ceph. ceph.conf significa que o nome do cluster é ceph, portanto, ceph.keyring. A metavariável name é o tipo e o ID de usuário. Por exemplo, client.admin, portanto, ceph.client.admin.keyring.

Após criar um usuário (por exemplo, client.ringo), você deverá obter a chave e adicioná-la a um chaveiro no cliente do Ceph para que o usuário possa acessar o cluster de armazenamento do Ceph.

A Seção 30.2, “Gerenciamento de chave” apresenta os detalhes de como listar, obter, adicionar, modificar e apagar usuários diretamente do cluster de armazenamento do Ceph. No entanto, o Ceph também oferece o utilitário ceph-authtool para que você possa gerenciar chaveiros de um cliente do Ceph.

30.2.3.1 Criando um chaveiro

Ao usar os procedimentos na Seção 30.2, “Gerenciamento de chave” para criar usuários, você precisa fornecer as chaves de usuário ao(s) cliente(s) do Ceph para permitir a recuperação da chave do usuário especificado e a autenticação no cluster de armazenamento do Ceph. Os clientes do Ceph acessam os chaveiros para pesquisar um nome de usuário e recuperar a chave do usuário:

cephuser@adm > ceph-authtool --create-keyring /path/to/keyring

Durante a criação de um chaveiro com vários usuários, é recomendável usar o nome do cluster (por exemplo, cluster.keyring) para o nome de arquivo do chaveiro e gravá-lo no diretório /etc/ceph para que a configuração padrão do chaveiro obtenha o nome do arquivo sem que você tenha que especificá-lo na cópia local do seu arquivo de configuração do Ceph. Por exemplo, crie ceph.keyring executando o seguinte:

cephuser@adm > ceph-authtool -C /etc/ceph/ceph.keyring

Durante a criação de um chaveiro com um único usuário, é recomendável usar o nome do cluster, o tipo de usuário e o nome de usuário e gravá-lo no diretório /etc/ceph. Por exemplo, ceph.client.admin.keyring para o usuário client.admin.

30.2.3.2 Adicionando um usuário a um chaveiro

Ao adicionar um usuário ao cluster de armazenamento do Ceph (consulte a Seção 30.2.2.3, “Adicionando usuários”), você pode recuperar o usuário, a chave e os recursos e gravá-lo em um chaveiro.

Para usar apenas um usuário por chaveiro, o comando ceph auth get com a opção -o gravará a saída no formato de arquivo do chaveiro. Por exemplo, para criar um chaveiro para o usuário client.admin, execute o seguinte:

cephuser@adm > ceph auth get client.admin -o /etc/ceph/ceph.client.admin.keyring

Para importar usuários para um chaveiro, você pode usar ceph-authtool para especificar o chaveiro de destino e de origem:

cephuser@adm > ceph-authtool /etc/ceph/ceph.keyring \
  --import-keyring /etc/ceph/ceph.client.admin.keyring
Importante
Importante

Se o chaveiro estiver comprometido, apague sua chave do diretório /etc/ceph e recrie uma chave seguindo as mesmas instruções da Seção 30.2.3.1, “Criando um chaveiro”.

30.2.3.3 Criando um usuário

O Ceph inclui o comando ceph auth add para criar um usuário diretamente no cluster de armazenamento do Ceph. No entanto, você também pode criar um usuário, as chaves e os recursos diretamente em um chaveiro de cliente do Ceph. Em seguida, você pode importar o usuário para o cluster de armazenamento do Ceph:

cephuser@adm > ceph-authtool -n client.ringo --cap osd 'allow rwx' \
  --cap mon 'allow rwx' /etc/ceph/ceph.keyring

Você também pode criar um chaveiro e adicionar um novo usuário a ele simultaneamente:

cephuser@adm > ceph-authtool -C /etc/ceph/ceph.keyring -n client.ringo \
  --cap osd 'allow rwx' --cap mon 'allow rwx' --gen-key

Nos cenários anteriores, o novo usuário client.ringo está apenas no chaveiro. Para adicionar o novo usuário ao cluster de armazenamento do Ceph, você ainda deve adicioná-lo ao cluster:

cephuser@adm > ceph auth add client.ringo -i /etc/ceph/ceph.keyring

30.2.3.4 Modificando usuários

Para modificar os recursos do registro de um usuário em um chaveiro, especifique o chaveiro e o usuário seguidos dos recursos:

cephuser@adm > ceph-authtool /etc/ceph/ceph.keyring -n client.ringo \
  --cap osd 'allow rwx' --cap mon 'allow rwx'

Para atualizar o usuário modificado no ambiente de cluster do Ceph, você deve importar as mudanças do chaveiro para a entrada do usuário no cluster do Ceph:

cephuser@adm > ceph auth import -i /etc/ceph/ceph.keyring

Consulte a Seção 30.2.2.7, “Importando usuários” para obter detalhes sobre como atualizar um usuário do cluster de armazenamento do Ceph de um chaveiro.

30.2.4 Uso da linha de comando

O comando ceph suporta as seguintes opções relacionadas à manipulação de nome de usuário e segredo:

--id ou --user

O Ceph identifica os usuários com um tipo e um ID (TYPE.ID, como client.admin ou client.user1). As opções id, name e -n permitem especificar a parte do ID do nome de usuário (por exemplo, admin ou user1). Você pode especificar o usuário com --id e omitir o tipo. Por exemplo, para especificar o usuário client.foo, digite o seguinte:

cephuser@adm > ceph --id foo --keyring /path/to/keyring health
cephuser@adm > ceph --user foo --keyring /path/to/keyring health
--name ou -n

O Ceph identifica os usuários com um tipo e um ID (TYPE.ID, como client.admin ou client.user1). As opções --name e -n permitem especificar o nome completo do usuário. Você deve especificar o tipo de usuário (normalmente client) com o ID de usuário:

cephuser@adm > ceph --name client.foo --keyring /path/to/keyring health
cephuser@adm > ceph -n client.foo --keyring /path/to/keyring health
--keyring

O caminho para o chaveiro que contém um ou mais nomes de usuário e segredos. A opção --secret tem a mesma funcionalidade, mas não funciona com o Gateway de Objetos, que usa --secret para outra finalidade. Você pode recuperar um chaveiro com ceph auth get-or-create e armazená-lo localmente. Essa é a abordagem preferencial, pois você pode alternar nomes de usuário sem mudar o caminho do chaveiro:

cephuser@adm > rbd map --id foo --keyring /path/to/keyring mypool/myimage