Configurar a autenticação X.509
Nesta página
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:
Gere um certificado X.509.
Configure o Recurso Personalizado do
AtlasProject
para utilizar o certificado.Configure o recurso personalizado do
AtlasDatabaseUser
para 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 um509 certificado X. com cert-manager , execute 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 de gerenciamento Issuer
seguro, consulte a documentação de configuração de gerenciamento certo .
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 um509 certificado X. 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 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
Procedimento
Configure um projeto para usar o certificado.
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
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 |
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