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 autenticação X.509 incluem a autenticação X.509 gerenciada pelo Atlas e a autenticação X.509 autogerenciada. Para saber mais sobre a autenticação X.509 autogerenciada, consulte Configurar certificados X.509 autogerenciados.
Para configurar a autenticação X.509:
- Gere um certificado X.509. 
- Configure o Recurso Personalizado do - AtlasProjectpara utilizar o certificado.
- Configure o recurso personalizado do - AtlasDatabaseUserpara usar a autenticação X.509 gerenciada pelo Atlas ou autogerenciada.
Pré-requisitos
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. 
Gerar um Certificado X.509 com o certifique-manager
Para gerar um certificado X.509 com cert-manager, faça as seguintes etapas:
Instale o gerenciador de certificados.
Para instalar o cert-manager, consulte a documentação de instalação do cert-manager.
Crie um Issuer.
Para criar um Issuer cert-manager, consulte a documentação de configuração do cert-manager.
Para saber mais, consulte o exemplo.
Crie um certificado.
Para criar um certificado, consulte a documentação de uso do cert-manager.
Para saber mais, consulte o exemplo.
Gerar um certificado X.509 com um script personalizado
Para gerar um certificado X.509 com o create_X.509.go script, faça as seguintes etapas:
Execute o script personalizado.
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/ 
Adicione o certificado a um segredo.
Para adicionar o certificado a um , 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 
Procedimento
Configure um projeto para usar o certificado.
Especifique o segredo dentro do parâmetro spec.x509CertRef.name para 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 
Adicione um trigger de banco de dados que use autenticação X.509.
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  | 
| CLIENTE | Usuário que usa o X autogerenciado.509. Os usuários criados com este  Você deve especificar  | 
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