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

Configurar a 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 para509 autenticação X. incluem a autenticação X. gerenciada pelo Atlas509 e a509 autenticação X. autogerenciada. Para saber mais sobre a509 autenticação X. autogerenciada, consulte Configurar509 certificados X. autogerenciados.

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.

    • Se você quiser que o Atlas Kubernetes Operator crie um novo projeto do Atlas , concedaacesso programático a uma organização. Se sua organização exigir uma lista de acesso IP para a API Atlas Administration, você também deverá configurar a lista de acesso da API.

      Importante

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

    • Se você quiser trabalhar com um projeto Atlas existente, adicione acesso a um projeto. Se sua organização exigir uma lista de acesso IP para a API Atlas Administration, você também deverá configurar a lista de acesso da 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

Integrações com provedores de serviços em nuvem

Nesta página