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

Comece a usar a API de administração do Atlas

Nesta página

  • Conceder acesso programático ao Atlas
  • Opcional: Exigir uma lista de acesso IP para a API de administração do Atlas
  • Gerenciar Acesso Programático a uma Organização
  • Conceder acesso de programação a um projeto
  • Fazer uma solicitação de API
  • Próximos passos

Importante

Cada Atlas Administration API tem seus próprios recursos e requer configuração inicial.

Você pode acessar os servidores da API de administração do Atlas apenas pela internet pública. A API Atlas Administration não está disponível em conexões que usam emparelhamento de rede ou endpoints privados.

Para saber mais, consulte Atlas Programmatic Access.

A API de Administração do Atlas segue os princípios do estilo de arquitetura REST para expor uma série de recursos internos que permitem o acesso programático aos recursos do Atlas. Para saber mais, consulte Referência da API de Administração do Atlas.

Você pode conceder acesso programático a uma organização ou projeto usando um dos dois métodos de autenticação a seguir:

Chaves de API
Conta de serviço (prévia)
Método legado de autenticação no Atlas que usa HTTP Digest Authentication.
Novo método de autenticação no Atlas usando o padrão da indústria OAuth 2.0 protocolo com o fluxo de credenciais do cliente . Atualmente em pré-visualização.
As chaves API têm duas partes: uma chave pública e uma chave privada. Essas duas partes servem a mesma função de um nome de usuário e uma senha quando você faz solicitações de API ao Atlas.
Uma conta de serviço permite gerenciar permissões e criar tokens de acesso. Uma conta de serviço tem um ID de cliente e um segredo que funcionam como nome de usuário e senha para criar tokens de acesso. Um token de acesso permite que você faça solicitações de API para o Atlas.
O Atlas faz o hash da Chave Pública e da Chave Privada usando um valor exclusivo chamado nonce. O nonce é válido apenas por um curto período de tempo, de acordo com a autenticação HTTP Digest especificação. Isso é para evitar ataques de repetição, para que você não possa armazenar em cache um nonce e usá-lo para sempre.
Depois de criar uma conta de serviço, você usará o ID de cliente e o segredo para gerar um token de acesso que autentica suas solicitações de API. Os tokens de acesso são válidos apenas por 1 hora (3600 segundos) de acordo com a precisão OAuth.2.0 A expiração dos tokens de acesso evita ataques de repetição, em que um token de acesso vazado poderia ser usado sem restrição de tempo.
As funções do Atlas limitam quais operações as chaves API podem executar. Você deve conceder funções às chaves de API, como faria com os usuários, para garantir que as chaves de API possam chamar os endpoints de API sem erros.
As funções do Atlas limitam quais operações uma conta de serviço pode executar com seu token de acesso. Você deve conceder funções às contas de serviço da mesma forma que concederia aos usuários para garantir que o token de acesso possa chamar os endpoints da API sem erros.
Atlas vincula muitos recursos a um projeto. Muitos <span tabindex=\" \" class=\" \">URLs de recursos /api/atlas/<version>/groups/<GROUP-ID>/ <GROUP-ID> da API <span tabindex=\" \" class=\" \"> seguem o formato de, onde é o seu <a class=\" \" href=\" \">ID do projeto. Para estes recursos, as chaves <span tabindex=\" \" class=\" \">API devem ser membro da organização que hospeda o projeto. Caso contrário, o Atlas responde com um 401 erro. Para conceder às chaves de API de nível de organização acesso a um projeto, consulte Atribuir acesso de organização existente a um projeto.
Atlas vincula muitos recursos a um projeto. Muitos URLs de recursos de API seguem o formato /api/atlas/<version>/groups/<GROUP-ID>/, onde <GROUP-ID> é o ID do seu projeto . Para estes recursos, a conta de serviço deve ser um membro da organização que hospeda o projeto. Caso contrário, o Atlas responde com um 401 erro. Para conceder à conta de serviço em nível de organização acesso a um projeto, consulte Atribuir acesso de organização existente a um projeto.
Cada chave de API pertence a apenas uma organização, mas você pode conceder acesso a chaves de API a qualquer quantidade de projetos nessa organização.
Cada conta de serviço pertence a apenas uma organização, mas você pode conceder acesso a uma conta de serviço a qualquer número de projetos nessa organização.
Você não pode usar chaves API para efetuar login no Atlas por meio da interface do usuário do Atlas.
Não é possível usar uma conta de serviço ou seu token de acesso para fazer login no Atlas por meio da IU do Atlas.

O Atlas permite que você faça solicitações de API do Atlas Administration a partir de qualquer endereço na Internet, a menos que você exija uma lista de acesso de IP, que limita as solicitações de API somente àquelas provenientes de endereços IP ou CIDR baseados em localização que você especificar na lista de acesso de IP.

Cada método de autenticação tem sua própria lista de acesso IP. Se você exigir uma lista de acesso IP para todas as solicitações da API de Administração do Atlas , defina pelo menos uma entrada da lista de acesso IP para suas chaves de API ou contas de serviço antes de poder usá-las para fazer solicitações de API.

Quando você cria uma organização usando a interface do usuário do Atlas, o Atlas habilita o requisito de lista de acesso à <span tabindex=\" \" class=\" \">API por padrão. Para desativar, alterne Require IP Access List for the Atlas Administration API para OFF ao criar uma organização.

Para definir sua organização para exigir listas de acesso IP para cada solicitação da API de administração do Atlas após a criação da organização, siga estas etapas:

1
  1. Se ainda não estiver exibido, selecione sua organização desejada no Menu Organizations na barra de navegação.

  2. Clique no ícone Organization Settings próximo ao menu Organizations.

    A página Configurações da organização é exibida.

2

Use os procedimentos a seguir para conceder acesso programático a uma organização por meio de chaves de API ou de uma conta de serviço. Para aprender mais sobre esses dois métodos de autenticação, consulte Autenticação da API Atlas Administration.

Importante

As contas de serviço estão no momento em pré-visualização. Para saber mais, consulte Visão geral das contas de serviço.

Para executar as seguintes ações, você deve ter acesso do Organization Owner ao Atlas.

Para criar uma chave API em uma organização usando o Atlas CLI, execute o seguinte comando:

atlas organizations apiKeys create [options]

Para saber mais sobre a sintaxe e os parâmetros do comando, consulte a documentação do Atlas CLI para atlas organizations apiKeys create.

Dica

Veja: links relacionados

Para criar uma entrada de lista de acesso IP para sua chave API utilizando o Atlas CLI, execute o seguinte comando:

atlas organizations apiKeys accessLists create [options]

Para saber mais sobre a sintaxe e os parâmetros do comando, consulte a documentação do Atlas CLI para atlas organizations apiKeys accessLists create.

1
  1. Se ainda não estiver exibido, selecione sua organização desejada no Menu Organizations na barra de navegação.

  2. Execute uma das seguintes etapas:

    • Selecione Organization Access no menu Access Manager na barra de navegação.

    • Clique em Access Manager na barra lateral.

    A página Organization Access Manager é exibida.

2
3
  1. Insira um Description.

  2. No menu Organization Permissions, selecione a nova função ou funções para a chave de API.

4
5

A chave pública atua como o nome de usuário ao fazer solicitações de API.

6

A chave privada atua como a senha ao fazer solicitações de API.

Aviso

Copie e salve chaves públicas e privadas

O Private Key é mostrado apenas uma vez: nesta página. Clique no botão Copy para adicionar a chave privada à área de transferência. Salve e proteja as chaves pública e privada.

7
  1. Clique em Add Access list Entry.

  2. Insira um endereço de IP ou bloco CIDR a partir do qual você deseja que o Atlas aceite solicitações de API para essa chave de API.

    Você também pode clicar em Use Current IP Address se o host que você está usando para acessar o Atlas também fizer solicitações de API usando essa chave de API.

  3. Clique em Save.

8
1
  1. Se ainda não estiver exibido, selecione sua organização desejada no Menu Organizations na barra de navegação.

  2. Execute uma das seguintes etapas:

    • Selecione Organization Access no menu Access Manager na barra de navegação.

    • Clique em Access Manager na barra lateral.

    A página Organization Access Manager é exibida.

2
3
  1. Insira um Name.

  2. Insira um Description.

  3. Selecione uma duração no menu Client Secret Expiration.

  4. No menu Permissões da organização, selecione a nova função ou funções para a conta de serviço.

4
5

O segredo do cliente atua como a senha na criação de tokens de acesso.

Aviso

Essa é a única vez em que você pode ver o segredo completo do cliente. Clique em Copy e salve-o em um local seguro. Caso contrário, você precisará gerar um novo segredo do cliente.

6
  1. Clique em Add Access List Entry.

  2. Insira um endereço IP ou bloco CIDR do qual você deseja que o Atlas aceite solicitações de API para esta conta de serviço.

    Você também pode clicar em Use Current IP Address se o host que você está usando para acessar o Atlas também fizer solicitações de API usando esta conta de serviço.

  3. Clique em Save.

Você pode usar a API de administração do Atlas para criar uma conta de serviço para sua organização.

Depois de criar a conta de serviço, copie e salve o {CLIENT-ID} e o {CLIENT-SECRET} do resultado, que deve ser semelhante ao exemplo a seguir . Esse é o único momento em que você pode visualizar o segredo completo do cliente. Você precisará dessas informações quando <a class=\" \" target=\" \" href=\" \"> fizer uma solicitação de API.

{
"createdAt" : "2024-04-23T17:47:17Z",
"description" : "Service account for my organization.",
"clientId" : "{CLIENT-ID}",
"name" : "My Service Account",
"roles" : [ "ORG_MEMBER" ],
"secrets" : [ {
"createdAt" : "2024-04-23T17:47:17Z",
"expiresAt" : "2024-12-01T00:00:00Z",
"id" : "6627f7259d39d858378c9e30",
"lastUsedAt" : null,
"secret" : "{CLIENT-SECRET}"
} ]
}%

Utilize os procedimentos a seguir para conceder acesso programático a um projeto por meio de chaves de <span tabindex=\" \" class=\" \">API ou de uma conta de serviço. Para saber mais sobre esses dois métodos de autenticação, consulte <a class=\" \" href=\" \">Autenticação da API de Administração do Atlas.

Importante

As contas de serviço estão no momento em pré-visualização. Para saber mais, consulte Visão geral das contas de serviço.

Para dar acesso às chaves de API a um projeto, você deve ter acesso para esse Project Owner projeto.

Para dar a uma conta de serviço acesso a um projeto, você deve ter acesso à organização proprietária do Organization Owner projeto.

Se você já criou chaves de API ou contas de serviço para uma organização, pode atribuí-las a um projeto para conceder a esse projeto acesso à API Atlas Administration.

Para atribuir uma chave API a um projeto utilizando o Atlas CLI, execute o seguinte comando:

atlas projects apiKeys assign <ID> [options]

Para saber mais sobre a sintaxe e os parâmetros do comando, consulte a documentação do Atlas CLI para atlas projects apiKeys assign..

Para atribuir chaves de API da organização a um projeto usando a interface do usuário do Atlas:

1
  1. Se ainda não estiver exibido, selecione sua organização desejada no Menu Organizations na barra de navegação.

  2. Se ainda não estiver exibido, selecione o projeto desejado no menu Projects na barra de navegação.

  3. Execute uma das seguintes etapas:

    • Selecione Project Access no menu Access Manager na barra de navegação.

    • Ao lado do menu Projects, expanda o menu Options, clique em Project Settings e clique em Access Manager na barra lateral.

    A página Project Access Manager (Gerente de acesso do projeto) é exibida.

2
3
  1. Digite a chave pública no campo.

  2. No menu Project Permissions, selecione a nova função ou funções para a chave de API.

4

Aviso

Se você atribuir uma conta de serviço da organização a um projeto, o Project Owner poderá gerenciar a conta de serviço, incluindo a rotação de segredos e a atualização da lista de acesso IP.

1
  1. Se ainda não estiver exibido, selecione sua organização desejada no Menu Organizations na barra de navegação.

  2. Se ainda não estiver exibido, selecione o projeto desejado no menu Projects na barra de navegação.

  3. Execute uma das seguintes etapas:

    • Selecione Project Access no menu Access Manager na barra de navegação.

    • Ao lado do menu Projects, expanda o menu Options, clique em Project Settings e clique em Access Manager na barra lateral.

    A página Project Access Manager (Gerente de acesso do projeto) é exibida.

2
3

Comece a digitar o ID do cliente da sua conta de serviço no campo e selecione sua conta de serviço no menu.

4

No menu que aparecer, selecione a <a class=\" \" href=\" \">nova função ou funções para a conta de serviço.

5

Você pode usar a API de administração do Atlas para conceder acesso a um projeto a uma conta de serviço existente.

Se você ainda não criou chaves de API ou uma conta de serviço para uma organização, você pode criá-las para um projeto para conceder a esse projeto acesso à API Atlas Administration. As chaves de API ou a conta de serviço que você cria para um Organization Member projeto são automaticamente adicionadas à organização principal com a permissão .

Para criar uma chave API para seu projeto utilizando o Atlas CLI, execute o seguinte comando:

atlas projects apiKeys create [options]

Para saber mais sobre a sintaxe e os parâmetros do comando, consulte a documentação do Atlas CLI para atlas organizations apiKeys create.

Depois de criar a chave de API do projeto, use a UI do Atlas para adicionar uma entrada na lista de acesso à API. Você não pode usar a chave de API no projeto até configurar a lista de acesso à API.

Observação

Limitação do Atlas CLI

Você não pode editar a lista de acesso à API da chave de API de um projeto usando o Atlas CLI.

Para adicionar uma entrada da lista de acesso de API usando a UI do Atlas:

1
  1. Clique em Add Access List Entry.

  2. Insira um endereço de IP a partir do qual você deseja que o Atlas aceite solicitações de API para essa chave de API. Você também pode clicar em Use Current IP Address se o host que você está usando para acessar o Atlas também fizer solicitações de API usando essa chave de API.

  3. Clique em Save.

2

Para criar uma chave API para um projeto usando a UI do Atlas:

1
  1. Se ainda não estiver exibido, selecione sua organização desejada no Menu Organizations na barra de navegação.

  2. Se ainda não estiver exibido, selecione o projeto desejado no menu Projects na barra de navegação.

  3. Execute uma das seguintes etapas:

    • Selecione Project Access no menu Access Manager na barra de navegação.

    • Ao lado do menu Projects, expanda o menu Options, clique em Project Settings e clique em Access Manager na barra lateral.

    A página Project Access Manager (Gerente de acesso do projeto) é exibida.

2
3

Na página Create API Key:

  1. Insira um Description.

  2. No menu Project Permissions, selecione a nova função ou funções para a chave de API.

4
5

A chave pública atua como o nome de usuário ao fazer solicitações de API.

6

A chave privada atua como a senha ao fazer solicitações de API.

Aviso

Salve a chave privada

O Private Key é mostrado apenas uma vez: nesta página. Clique no botão Copy para adicionar a chave privada à área de transferência. Salve e proteja as chaves pública e privada.

7
  1. Clique em Add Access List Entry.

  2. Insira um endereço de IP a partir do qual você deseja que o Atlas aceite solicitações de API para essa chave de API.

    Você também pode clicar em Use Current IP Address se o host que você está usando para acessar o Atlas também fizer solicitações de API usando essa chave de API.

  3. Clique em Save.

8

Para criar uma conta de serviço para um projeto usando a IU do Atlas:

1
  1. Se ainda não estiver exibido, selecione sua organização desejada no Menu Organizations na barra de navegação.

  2. Se ainda não estiver exibido, selecione o projeto desejado no menu Projects na barra de navegação.

  3. Execute uma das seguintes etapas:

    • Selecione Project Access no menu Access Manager na barra de navegação.

    • Ao lado do menu Projects, expanda o menu Options, clique em Project Settings e clique em Access Manager na barra lateral.

    A página Project Access Manager (Gerente de acesso do projeto) é exibida.

2
3
  1. Insira um Name.

  2. Insira um Description.

  3. Selecione uma duração no menu Client Secret Expiration.

  4. No menu Permissões do projeto, selecione a <a class=\" \" href=\" \">nova função ou funções para a conta de serviço.

4
5

O segredo do cliente atua como a senha na criação de tokens de acesso.

Aviso

Essa é a única vez em que você pode ver o segredo completo do cliente. Clique em Copy e salve-o em um local seguro. Caso contrário, você precisará gerar um novo segredo do cliente.

6
  1. Clique em Add Access List Entry.

  2. Insira um endereço IP ou bloco CIDR do qual você deseja que o Atlas aceite solicitações de API para esta conta de serviço.

    Você também pode clicar em Use Current IP Address se o host que você está usando para acessar o Atlas também fizer solicitações de API usando esta conta de serviço.

  3. Clique em Save.

Você pode usar a API de administração do Atlas para criar uma conta de serviço para seu projeto.

Depois de criar a conta de serviço, copie e salve o {CLIENT-ID} e o {CLIENT-SECRET} do resultado, que deve ser semelhante ao exemplo a seguir . Esse é o único momento em que você pode visualizar o segredo completo do cliente. Você precisará dessas informações quando <a class=\" \" target=\" \" href=\" \"> fizer uma solicitação de API.

{
"createdAt" : "2024-04-23T17:47:17Z",
"description" : "Service account for my organization.",
"clientId" : "{CLIENT-ID}",
"name" : "My Service Account",
"roles" : [ "ORG_MEMBER" ],
"secrets" : [ {
"createdAt" : "2024-04-23T17:47:17Z",
"expiresAt" : "2024-12-01T00:00:00Z",
"id" : "6627f7259d39d858378c9e30",
"lastUsedAt" : null,
"secret" : "{CLIENT-SECRET}"
} ]
}%

A API de Administração do Atlas usa um dos dois métodos de autenticação para autenticar solicitações: chaves de API ou uma conta de serviço. Você precisará das chaves ou do segredo que salvou ao configurar o método de autenticação preferido para concluir os procedimentos a seguir.

Importante

As contas de serviço estão no momento em pré-visualização. Para saber mais, consulte Visão geral das contas de serviço.

Todos os endpoints do Atlas Administration API têm a seguinte URL base:

https://cloud.mongodb.com/api/atlas/<version>

Sua solicitação deve se parecer com os exemplos a seguir, em que {PUBLIC-KEY} é a chave pública da API e {PRIVATE-KEY} é a chave privada correspondente. Para explorar os endpoints disponíveis por meio da Administration API do Atlas, você pode usar o espaço de trabalho do Postman do MongoDB.

A seguinte amostra de solicitação GET retorna todos os projetos na sua organização:

curl --user "{PUBLIC-KEY}:{PRIVATE-KEY}" --digest \
--header "Content-Type: application/json" \
--header "Accept: application/vnd.atlas.2024-08-05+json" \
--include \
--request GET "https://cloud.mongodb.com/api/atlas/v2/groups"

A seguinte amostra de solicitação POST recebe um corpo da solicitação e cria um projeto denominado MyProject na sua organização:

curl --user "{PUBLIC-KEY}:{PRIVATE-KEY}" --digest \
--header "Content-Type: application/json" \
--header "Accept: application/vnd.atlas.2024-08-05+json" \
--include \
--request POST "https://cloud.mongodb.com/api/atlas/v2/groups" \
--data '
{
"name": "MyProject",
"orgId": "5a0a1e7e0f2912c554080adc"
}'

Para fazer uma solicitação de API usando uma conta de serviço, use a conta de serviço para gerar um token de acesso e, em seguida, use o token de acesso em sua solicitação:

1

Localize o segredo do cliente que começa com mdb_sa_sk_ que você salvou imediatamente após criar a conta de serviço, que foi a única vez que você pode visualizar o segredo do cliente . Se você não salvou o segredo do cliente, deve gerar um novo segredo do cliente.

2

Por exemplo, execute:

echo -n {CLIENT-ID}:{CLIENT-SECRET} | base64
3

Substitua {BASE64-AUTH} no exemplo a seguir pela saída da etapa anterior e execute:

1curl --request POST \
2 --url https://cloud.mongodb.com/api/oauth/token \
3 --header 'accept: application/json' \
4 --header 'cache-control: no-cache' \
5 --header 'authorization: Basic {BASE64-AUTH}' \
6 --header 'content-type: application/x-www-form-urlencoded' \
7 --data 'grant_type=client_credentials'
{"access_token":"eyJhbGciOiJFUzUxMiIsInR5cCI6IkpXVCIsImtpZCI6ImYyZjE2YmE4LTkwYjUtNDRlZS1iMWYwLTRkNWE2OTllYzVhNyJ9.eyJpc3MiOiJodHRwczovL2Nsb3VkLWRldi5tb25nb2RiLmNvbSIsImF1ZCI6ImFwaTovL2FkbWluIiwic3ViIjoibWRiX3NhX2lkXzY2MjgxYmM2MDNhNzFhNDMwYjkwNmVmNyIsImNpZCI6Im1kYl9zYV9pZF82NjI4MWJjNjAzYTcxYTQzMGI5MDZlZjciLCJhY3RvcklkIjoibWRiX3NhX2lkXzY2MjgxYmM2MDNhNzFhNDMwYjkwNmVmNyIsImlhdCI6MTcxMzkwNTM1OSwiZXhwIjoxNzEzOTA4OTU5LCJqdGkiOiI4ZTg1MTM3YS0wZGU1LTQ0N2YtYTA0OS1hMmVmNTIwZGJhNTIifQ.AZSFvhcjwVcJYmvW6E_K5UnDmeiX2sJgL27vo5ElzeBuPawRciKkn6ervZ6IpUTx2HHllGgAAMmhaP9B66NywhfjAXC697X9KcOzm81DTtvDjLrFeRSc_3vFmeGvfUKKXljEdWBnbmwCwtBlO5SJuBxb1V5swAl-Sbq9Ymo4NbyepSnF","expires_in":3600,"token_type":"Bearer"}%

Importante

O token de acesso é válido por 1 hora (3600 segundos). Você não pode atualizar um token de acesso. Quando esse token de acesso expirar, repita essa etapa para gerar um novo.

4

Substitua {ACCESS-TOKEN} no exemplo a seguir pela saída da etapa anterior.

A seguinte amostra de solicitação GET retorna todos os projetos na sua organização:

curl --request GET \
--url https://cloud.mongodb.com/api/atlas/v2/groups \
--header 'Authorization: Bearer {ACCESS-TOKEN}' \
--header 'Accept: application/vnd.atlas.2023-02-01+json' \
--header 'Content-Type: application/json'

A seguinte amostra de solicitação POST recebe um corpo da solicitação e cria um projeto denominado MyProject na sua organização:

curl --header 'Authorization: Bearer {ACCESS-TOKEN}' \
--header "Content-Type: application/json" \
--header "Accept: application/vnd.atlas.2023-02-01+json" \
--include \
--request POST "https://cloud.mongodb.com/api/atlas/v2/groups" \
--data '
{
"name": "MyProject",
"orgId": "5a0a1e7e0f2912c554080adc"
}'

Alternativamente, você pode usar qualquer ferramenta que suporte a especificação OpenAPI v3 para gerar exemplos de código ou servidores de simulação. Por exemplo, você pode importar a Especificação da API Admin do Atlas para o Postman para gerar comandos curl. Para usar o Postman para gerar comandos curl:

1
2

A janela Importar é exibida.

3
4
5

Para saber mais sobre a API de Administração do Atlas, consulte Referência da API de administração do Atlas.

Para gerenciar o acesso de programação à API de administração do Atlas, consulte qualquer um dos seguintes procedimentos:

Voltar

API de administração do Atlas