Página inicial do Docs → Corretor de serviço aberto do Atlas
Gerenciar usuários do banco de dados
Nesta página
Importante
O Atlas Open Service Corretor está obsoleto. Usar o MongoDB Atlas Operator no lugar.
Você pode criar e excluir Atlas trigger de banco de dados por meio do Atlas Open Service Corretor.
Pré-requisitos
Antes de gerenciar trigger de reconhecimento de data center, você deve implantar um conjunto de réplica.
Adicionar um usuário do banco de dados
Para criar um trigger de banco de dados, primeiro defina um recurso ServiceBinding em Kubernetes. Em seguida, o Atlas Open Service Corretor cria um trigger de reconhecimento de data center correspondente no Atlas.
Crie a ligação de serviço que corresponde ao Atlas user.
Copie o seguinte exemplo de definição de recurso.
Esse é um arquivo YAML que você pode modificar para atender à configuração desejada.
apiVersion: servicecatalog.k8s.io/v1beta1 kind: ServiceBinding metadata: name: <USER_NAME> namespace: <NAMESPACE> spec: instanceRef: name: <CLUSTER_NAME> Abra seu editor de texto preferido e cole a definição do recurso em um novo arquivo de texto.
Configure as configurações necessárias.
As configurações destacadas são necessárias para criar um usuário do banco de dados:
Chave | Descrição | Exemplo |
|---|---|---|
metadata.name | O nome do recurso de vinculação de serviço no Kubernetes. | atlas-user-1 |
metadata.namespace | O namespace Kubernetes onde o recurso de vinculação de serviço é criado. | atlas |
spec.intanceRef.name | O nome do recurso ServiceInstance no Kubernetes que corresponde ao seu cluster do Atlas. | my-atlas-cluster |
Quando você cria um trigger de banco de dados, o Atlas Open Service Corretor gera aleatoriamente um nome de usuário e uma senha do Atlas para o trigger de banco de dados. O catálogo de serviços armazena automaticamente o nome de usuário, a senha e o URI de conexão do Atlas dos usuários em um segredo do Kubernetes.
Se você não especificar configurações adicionais, o usuário do banco de dados será criado com os seguintes atributos padrão:
SCRAM-SHAautenticação no reconhecimento de data centeradminreadWriteAnyDatabasepermissões no reconhecimento de data centeradmin
Adicione quaisquer configurações adicionais para o usuário.
Você pode definir configurações adicionais para o usuário na chave spec.parameters.user . Essas configurações correspondem aos parâmetros do corpo da solicitação do método Criar uma API Pública de trigger de banco de dados .
Importante
Os seguintes parâmetros da API são substituídos pelas configurações necessárias do Atlas Open Service Agent da etapa anterior e não devem ser especificados:
databaseNamegroupIdpasswordusername
Exemplo
Esta definição de recurso de exemplo cria:
um recurso do Kubernetes chamado
atlas-user-1no namespaceatlaseum trigger de banco de dados do Atlas com a seguinte configuração:
SCRAM-SHAautenticação no reconhecimento de data center doadmincom nome de usuário e senha gerados aleatoriamentereadWritepermissões para a coleçãolistingsAndReviewsno banco de dadossample_airbnbdbAdminpermissões para o reconhecimento de data centersample_geospatial
apiVersion: servicecatalog.k8s.io/v1beta1 kind: ServiceBinding metadata: name: atlas-user-1 namespace: atlas spec: instanceRef: name: my-atlas-cluster parameters: user: roles: - databaseName: sample_airbnb collectionName: listingsAndReviews roleName: readWrite - databaseName: sample_geospatial roleName: dbAdmin
Visualize o status do novo usuário.
Para visualizar o status do novo usuário no cluster do Kubernetes, passe o metadata.name de replica-set.yaml para o seguinte comando:
svcat describe instance <METADATA.NAME> -n <METADATA.NAMESPACE>
O status do usuário aparece em Bindings.
Exemplo
Bindings: NAME STATUS +---------------+--------+ atlas-user-1 Ready
Para ter uma visão detalhada do usuário, passe o metadata.name de atlas-user-1.yaml para o seguinte comando:
svcat describe binding <METADATA.NAME> -n <METADATA.NAMESPACE>
O comando retorna os detalhes do usuário.
Exemplo
Name: atlas-user-1 Namespace: atlas Status: Ready - Injected bind result @ 2019-08-24 20:57:43 +0000 UTC Secret: atlas-user-1 Instance: my-replica-set Parameters: user: roles: - collectionName: listingsAndReviews databaseName: sample_airbnb roleName: readWrite - databaseName: sample_geospatial roleName: dbAdmin Secret Data: password 44 bytes uri 58 bytes username 36 bytes
Recupere os detalhes da conexão Atlas do novo usuário.
Os detalhes da conexão do usuário são armazenados em um segredo que tem o mesmo nome e namespace que o recurso ServiceBinding . O segredo é codificado em base64 pelo Kubernetes e contém o nome de usuário Atlas, a senha e o URI do usuário.
Passe
metadata.nameemetadata.namespacedeatlas-user-1.yamlpara o seguinte comando para recuperar o segredo do Kubernetes para o usuário:kubectl get secret <METADATA.NAME> -n <METADATA.NAMESPACE> -o yaml O comando retorna a senha do Atlas codificado em base64, e o nome de usuário do usuário:
Exemplo
apiVersion: v1 data: password: MlFhTnB4NzNoaEYwZWFKFMCjRUlNU2Iwbk5OMnJPT0JGZnZOeldKMS16Zz0= uri: bW9uZ29kYitzcnY6Ly8wMTY5YjA5My1jNTEyLTExZTktOGQyMC1kbjZyNy5tb25nb2RiLXFhLm5ldA== username: NTJjMzVlNjctYzdhMy0xMWKR7ThkMjAtMDI0MmFjMTEwMDA3 kind: Secret metadata: creationTimestamp: "2019-08-26T01:46:30Z" name: atlas-user-1 namespace: atlas ownerReferences: - apiVersion: servicecatalog.k8s.io/v1beta1 blockOwnerDeletion: true controller: true kind: ServiceBinding name: atlas-user-1 uid: 52c35ea1-c7a3-11e9-8d20-0242ac113457 resourceVersion: "79692" selfLink: /api/v1/namespaces/atlas/secrets/atlas-user-1 uid: 14829566-4859-4b47-97f6-d0a2f7425906 type: Opaque Passe
data.usernamedo segredo para o seguinte comando para decodificar o nome de usuário Atlas do usuário:echo '<DATA.USERNAME>' | base64 --decode O comando retorna o nome de usuário decodificado do Atlas:
Exemplo
52c35e67-c7a3-11e9-8d20-0374ac110007 Repita o comando com
data.passwordedata.uripara decodificar a senha e o URI do Atlas do usuário.echo '<DATA.PASSWORD>' | base64 --decode echo '<DATA.URI>' | base64 --decode
Dica
Conectando ao seu cluster do Atlas
Para se conectar ao seu sistema, passe o URI do Atlas e o nome de usuário decodificados para o seguinte comando:
mongo <DECODED_URI> --username <DECODED_USERNAME>
Quando a senha for solicitada, digite a senha decodificada do Atlas pelo usuário.
Excluir um trigger de reconhecimento de data center
Para excluir um trigger de banco de dados, passe o metadata.name do recurso ServiceBinding para um dos seguintes comandos:
kubectl delete servicebindings <METADATA.NAME> \ -n <METADATA.NAMESPACE>
Para confirmar que o usuário foi excluído, passe o metadata.name do recurso do cluster para o seguinte comando:
svcat describe instance <METADATA.NAME> -n <METADATA.NAMESPACE>
O comando retorna No bindings defined em Bindings.