Importante
Recomendamos que você use contas de serviço em vez de chaves deAPI para se autenticar na API de administração do Atlas . As chaves de API são um método de autenticação legado .
Para utilizar a API de Administração do Atlas para gerenciar seus clusters do Atlas , você deve autenticar suas solicitações de API. A API de administração do Atlas aceita os seguintes métodos de autenticação:
Tokens de acesso à conta de serviço (OAuth) 2.0
Chaves de API (autenticação DigestHTTP)
Para saber como usar contas de serviço e chaves de API para configurar o acesso programático a suas organizações e projetos do Atlas , consulte o guia de Introdução à API de administração do Atlas.
A API de administração do Atlas não fornece acesso aos dados armazenados em seus clusters. Para ler ou gravar dados em um banco de dados, você deve autenticar em seu cluster usando as credenciais de um usuário de banco de dados com as funções de leitura ou gravação apropriadas. Você pode utilizar a API de Administração do Atlas para criar e gerenciar usuários do banco de dados .
Observação
Muitos URLs de endpoints da API de administração do Atlas seguem o formato /api/atlas/<version>/groups/<GROUP-ID>/ de, em que <GROUP-ID> é o ID do projeto. . Para esses recursos, a conta de serviço ou as chaves de API que você usa para autenticar a solicitação devem ser um membro da organização que hospeda o projeto. Caso contrário, o Atlas responde com um 401 erro.
As seções a seguir descrevem os métodos de autenticação da API de administração do Atlas :
Visão geral das contas de serviço
As contas de serviço são o método recomendado para gerenciar a autenticação na API de administração do Atlas . As contas de serviço fornecem segurança aprimorada para chaves de API usando o protocolo OAuth 2.0 padrão do setor com o fluxo de credenciais do cliente.
Uma conta de serviço permite gerenciar permissões e criar tokens de acesso que autenticam solicitações de API. Cada conta de serviço tem um ID de cliente e um segredo que funciona como um nome de usuário e uma senha para criar tokens de acesso. Para saber como construir uma solicitação de API com um token de acesso, consulte Fazer uma solicitação de API.
Os tokens de acesso são válidos apenas por 1 hora (3600 segundos) de acordo com a especificação OAuth. Essa vida útil limitada protege contra ataques de repetição, em que um invasor usa um token de acesso vazado sem restrição de 2.0 tempo.
Cada conta de serviço pertence a exatamente uma organização, e você pode conceder acesso a qualquer número de projetos dentro dessa organização. Para conceder acesso a uma conta de serviço em nível de organização a um projeto, consulte Conceder acesso a uma conta de serviço existente a um projeto.
As funções do Atlas limitam quais operações uma conta de serviço pode autenticar com seu token de acesso. Você deve atribuir roles às contas de serviço,como faria com os usuários, para garantir que a conta de serviço gere tokens de acesso com as permissões necessárias para as chamadas de API desejadas.
Você não pode usar uma conta de serviço ou seu token de acesso para fazer login no Atlas por meio da interface do usuário do Atlas . As contas de serviço só concedem acesso à API de administração do Atlas , que não inclui acesso à UI ou acesso a dados do cluster. Para saber mais sobre as limitações das contas de serviço, consulte Limites do MongoDB .
Visão geral das chaves API
Importante
Recomendamos que você utilize contas de serviço em vez de chaves API para autenticar na API de administração do Atlas . As chaves de API são um método de autenticação legado .
As chaves API são um método legado de autenticação para a API de Administração do Atlas que utiliza Autenticação Digest HTTP.
As chavesde API têm duas partes: uma chave pública e uma chave privada. Eles têm a mesma função que um nome de usuário e uma senha para autenticar solicitações de API. Para saber como construir uma solicitação de API usando chaves de API, consulte Criar uma solicitação de API.
O Atlas faz o hash da chave pública e da chave privada usando um valor exclusivo chamado nonce. O nonce só é válido por um curto período de tempo, de acordo com a especificação de autenticação de resumo HTTP . Essa vida útil limitada protege contra ataques de repetição, onde um invasor armazena em cache uma chave privada para usá-la sem restrição de tempo.
Cada par de chaves de API pertence a apenas uma organização e pode conceder acesso a qualquer quantidade de projetos nessa organização. Para conceder acesso a chaves de API em nível de organização a um projeto, consulte Conceder acesso a uma conta de serviço existente a um projeto.
As funções do Atlas limitam quais operações as chaves de API podem executar. Você deve atribuir funções às chaves de API, como faria com os usuários, para garantir que as chaves de API tenham as permissões necessárias para as chamadas de API desejadas.
Você não pode usar chaves de API para fazer login no Atlas por meio da interface do usuário do Atlas . As chaves deAPI concedem apenas acesso à API de administração do Atlas , que não inclui acesso à UI ou acesso a dados do cluster.
Próximos passos
Para saber como usar e gerenciar contas de serviço e chaves de API, consulte os seguintes procedimentos: