Menu Docs
Página inicial do Docs
/ /
Kubernetes Operator do MongoDB Atlas
/

Configurar a autenticação X.509

Nesta página

  • Pré-requisitos
  • Gerar um Certificado X.509 com o certifique-manager
  • Gerar um certificado X.509 com um script personalizado
  • Procedimento
  • Configure um projeto para usar o certificado.
  • Adicione um trigger de banco de dados que use autenticação X.509.

X.509 certificados de cliente fornecem aos usuários do banco de dados de dados acesso aos sistemas de banco de dados de dados em seu projeto. Você pode utilizar o Atlas Kubernetes Operator para habilitar a autenticação X.509 para o AtlasProject Recurso Personalizado e o AtlasDatabaseUser Recurso Personalizado.

As opções para X.509 autenticação incluem a autenticação X.509 gerenciada pelo Atlas e a autenticação X.509 autogerenciada. Para saber mais sobre a autenticação autogerenciada do X.509 , consulte Configurar a autenticação do X.509 autogerenciado.

Para configurar a autenticação X.509:

  1. Gere um certificado X.509.

  2. Configure o Recurso Personalizado doAtlasProject para utilizar o certificado.

  3. Configure o recurso personalizado do AtlasDatabaseUser para usar a autenticação X.509 gerenciada pelo Atlas ou autogerenciada.

Observação

Para usar certificados X.509 autogerenciados, você deve ter uma infraestrutura de chave pública para integrar ao MongoDB Atlas.

  • Você precisa das seguintes informações da chave de API pública, chave de API privada e ID da organização para configurar o acesso do Atlas Kubernetes Operator ao Atlas.

    • Para que o Atlas Kubernetes Operator possa criar um novo projeto Atlas, crie uma chave de API (Interface de Programação de Aplicação) em uma organização. Se a sua organização exigir uma lista de acesso de IP para a API de administração do Atlas, você também deverá configurar a lista de acesso à API.

      Importante

      Você deve atribuir a chave API ao role da organização Organization Project Creator ou superior.

    • Para trabalhar em um projeto existente do Atlas, crie uma chave de API (Interface de Programação de Aplicação) para um projeto. Se a sua organização exigir uma lista de acesso de IP para a API de administração do Atlas, você também deverá configurar a lista de acesso à API.

      Importante

      Você deve atribuir à chave de API ao role de projeto Project Owner .

    Para saber mais, consulte Configurar Acesso ao Atlas.

  • Gere um certificado X.509 com cert-manager ou create_X.509.go script.

Para gerar um509 certificado X. com cert-manager , execute as seguintes etapas:

1

Para instalar o cert-manager, consulte a documentação de instalação do cert-manager .

2

Para criar um de gerenciamento Issuer seguro, consulte a documentação de configuração de gerenciamento certo .

Para saber mais, consulte o exemplo.

3

Para criar um certificado, consulte a documentação de uso do cert-manager .

Para saber mais, consulte o exemplo.

Para gerar um509 certificado X. com o create_X.509.go script, faça as seguintes etapas:

1

Execute o create_X.509.go roteiro:

go run scripts/create_x509.go --path={pem-file-path}

Exemplo:

go run scripts/create_x509.go --path=tmp/x509/
2

Para adicionar o certificado a um segredo , execute os seguintes comandos:

kubectl create secret generic {secret-name} --from-file={pem-file-directory}
kubectl label secret {secret-name} atlas.mongodb.com/type=credentials

Exemplo:

kubectl create secret generic my-x509-cert --from-file=./tmp/x509/cert.pem
kubectl label secret my-x509-cert atlas.mongodb.com/type=credentials
1

Especifique o segredo dentro do parâmetro para spec.x509CertRef.name o AtlasProject Recurso Personalizado .

Exemplo:

cat <<EOF | kubectl apply -f -
apiVersion: atlas.mongodb.com/v1
kind: AtlasProject
metadata:
name: my-project
spec:
name: Test Project
projectIpAccessList:
- ipAddress: "192.0.2.15"
comment: "IP address for Application Server A"
- cidrBlock: "203.0.113.0/24"
comment: "CIDR block for Application Servers B - D"
x509CertRef:
name: my-x509-cert
EOF
2

Especifique o parâmetro x509Type para o Recurso PersonalizadoAtlasDatabaseUser .

Este parâmetro aceita:

none
Usuário que não usa autenticação X.509.
GERENCIADO

Usuário que usa X.509 managed pelo Atlas.

Você deve especificar \$external para o parâmetro spec.databaseName .

CLIENTE

Usuário que usa o X.509. Os usuários criados com este x509Type exigem um Nome Comum (CN) no campo username . Para saber mais, consulte RFC 2253.

Você deve especificar \$external para o parâmetro spec.databaseName .

Para saber mais sobre os parâmetros de configuração disponíveis a partir daAPI do , consulte a API do Usuários do Banco de Dados do Atlas.

Exemplo:

cat <<EOF | kubectl apply -f -
apiVersion: atlas.mongodb.com/v1
kind: AtlasDatabaseUser
metadata:
name: my-database-user
spec:
username: CN=my-x509-authenticated-user,OU=organizationalunit,O=organization
databaseName: "\$external"
x509Type: "CUSTOMER"
roles:
- roleName: "readWriteAnyDatabase"
databaseName: "admin"
projectRef:
name: my-project
EOF

Voltar

Papéis do Banco de Dados Personalizado