Menu Docs
Página inicial do Docs
/
Operador de Kubernetes do MongoDB Enterprise
/ /

Managed trigger de banco de dados usando a autenticação X.509

Nesta página

  • mecanismo de autenticação suportados
  • Pré-requisitos
  • Adicionar um usuário do banco de dados
  • Excluir um trigger de reconhecimento de data center

O Operador Kubernetes oferece suporte ao gerenciamento de trigger de banco de dados para reconhecimento de data center executados com a autenticação de cluster interno TLS e X.509 habilitada.

O Kubernetes Operator oferece suporte a mecanismos de autenticação SCRAM, LDAP e X.509 nos sistemas que ele cria. Em uma implantação criada pelo Kubernetes Operator, você não pode usar o MongoDB Ops Manager para:

  • Configure outros mecanismos de autenticação para sistemas.

  • Managed usuários não usando autenticação SCRAM, LDAP ou X.509.

Depois de ativar509 a autenticação X. , é possível adicionar509 usuários X. usando a interface do Ops Manager ou a CustomResourceDefinition.

Antes de gerenciar usuários do banco de dados de dados, você deve implantar umconjunto de réplicas do ou cluster fragmentado com TLS e X.509 habilitado.

Se você precisar gerar certificados X.509 para seus usuários do MongoDB, consulte Gerar certificados de cliente X.509.

1

Caso ainda não tenha feito isso, execute o seguinte comando para executar todos os comandos kubectl no namespace que você criou.

Observação

Se você estiver implantando um recurso MongoDB Ops Manager em um sistema do MongoDB de vários clusters Kubernetes:

  • Defina context como o nome do cluster central, como: kubectl config set context "$MDB_CENTRAL_CLUSTER_FULL_NAME".

  • Defina --namespace para o mesmo escopo usado para sua implantação do MongoDB de vários clusters Kubernetes, como: kubectl config --namespace "mongodb".

kubectl config set-context $(kubectl config current-context) --namespace=<metadata.namespace>
2
---
apiVersion: mongodb.com/v1
kind: MongoDBUser
metadata:
name: <resource-name>
spec:
username: <rfc2253-subject>
db: "$external"
mongodbResourceRef:
name: '<MongoDB-Resource-name>'
roles:
- db: <database-name>
name: <role-name>
...
3
4

Use a tabela a seguir para orientá-lo durante a alteração das linhas relevantes na Especificação de recursos do usuário do MongoDB:

Chave
Tipo
Descrição
Exemplo
metadata.name
string

O nome do recurso do trigger de reconhecimento de data center.

Os nomes de recursos devem ter 44 caracteres ou menos.

mms-user-1
spec.username
string

O assunto do certificado do cliente x509 assinado pelo Kubernetes CA (Kuber CA).

IMPORTANTE: o nome de usuário deve estar em conformidade com a RFC 2253 LDAPv3 Padrão de nome distinto.

Para obter o assunto do certificado X.509, execute o seguinte comando:

openssl x509 -noout \
-subject -in <my-cert.pem> \
-nameopt RFC2253
CN=mms-user,U=My Organizational Unit,O=My Org,L=New York,ST=New York,C=US
spec.opsManager.configMapRef.name
string
O nome do projeto que contém o MongoDB database onde o usuário será adicionado. A configuração spec.cloudManager.configMapRef.name é um alias para essa configuração e pode ser usada em seu lugar.
my-project
spec.roles.db
string
O banco de dados no qual a função pode agir.
admin
spec.mongodbResourceRef.name
string
O nome do recurso MongoDB ao qual este usuário está associado.
my-resource
spec.roles.name
string
O nome do papel a conceder ao utilizador de banco de dados. O nome da função pode ser qualquer função MongoDB integrada ou função personalizada que exista no Cloud Manager ou no MongoDB Ops Manager.
readWriteAnyDatabase
5

Você pode conceder roles adicionais a esse usuário usando o formato definido no exemplo a seguir:

---
apiVersion: mongodb.com/v1
kind: MongoDBUser
metadata:
name: mms-user-1
spec:
username: CN=mms-user,U=My Organizational Unit,O=My Org,L=New York,ST=New York,C=US
project: my-project
db: "$external"
roles:
- db: admin
name: backup
- db: admin
name: restore
...
6

Invoque o seguinte comando do Kubernetes para criar seu trigger de reconhecimento de data center:

kubectl apply -f <database-user-conf>.yaml

Quando você cria um novo MongoDB database usuário do , o operadorKubernetes cria automaticamente um novo Kubernetes segredo. O segredo do Kubernetes contém as seguintes informações sobre o novo usuário do banco de dados:

  • username: Nome de usuário para o utilizador de banco de dados

  • password: Senha para o usuário do banco de dados

  • connectionString.standard: stringde conexão padrão que pode conectar você ao banco de dados como este usuário do banco de dados.

  • connectionString.standardSrv: stringconexão da lista de sementes de DNS que pode conectar você ao banco de dados como este usuário do banco de dados.

Observação

Como alternativa, você pode especificar um campo spec.connectionStringSecretName opcional na Especificação de Recurso de Usuário do MongoDB para especificar o nome do segredo da string de conexão que o Kubernetes Operator cria.

Você pode usar essas credenciais para se conectar a um recurso de banco de dados MongoDB a partir de Kubernetes internos.

7

Você pode visualizar o usuário recém-criado no Cloud Manager ou Ops Manager:

  1. Na visualização Deployment do projeto, clique na guia Security .

  2. Clique no separador MongoDB Users aninhado.

Para excluir um usuário do banco de dados, passe o metadata.name do usuário ConfigMap ao seguinte comando:

kubectl delete mdbu <metadata.name>