Criar e atribuir uma conta de serviço da organização a um projeto
Nesta página
- A autenticação OAuth 2.0 para acesso programático ao Cloud Manager está disponível como um recurso de visualização.
- O recurso e a documentação correspondente podem mudar a qualquer momento durante o período de Pré-visualização. Para usar a 2.0 autenticação OAuth, crie uma conta de serviço para usar em suas solicitações para a API pública do Cloud Manager .
URL base: https://cloud.mongodb.com/api/public/v1.0
Resource
POST /groups/{PROJECT-ID}/serviceAccounts
Parâmetros do caminho da solicitação
Nome | Tipo | Descrição |
---|---|---|
PROJECT-ID | string | Identificador único do Projeto ao qual você deseja criar e atribuir a conta de serviço. Use o endpoint /groups para recuperar todas as organizações às quais o usuário autenticado tem acesso. |
Solicitar parâmetros de query
Os seguintes parâmetros de query são opcionais:
Nome | Tipo | Descrição | Default | ||||||
---|---|---|---|---|---|---|---|---|---|
pageNum | inteiro | Número da página (com base em índice 1). | 1 | ||||||
itemsPerPage | inteiro | Número de itens a serem devolvidos por página, até um máximo de 500. | 100 | ||||||
pretty | booleano | Indica se o corpo da resposta deve estar em um prettyprint formato. | false | ||||||
envelope | booleano | Indica se deseja ou não envolver a resposta em um envelope. Alguns clientes do API não podem acessar os cabeçalhos de resposta HTTP ou o código de status. Para corrigir isso, configure Para endpoints que retornam um resultado, o corpo da resposta inclui:
Para endpoints que retornam uma lista de resultados, o objeto | none |
Parâmetros do corpo da solicitação
Todos os parâmetros do corpo são obrigatórios.
Nome | Tipo | Descrição | ||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
name | string | Nome da conta de serviço. Os caracteres aceitos são A-Z , a-z , 0-9 , espaço, ponto . , apóstrofo ' , vírgula , , sublinhado _ e traço - . | ||||||||||||||||||||||
description | string | Descrição da conta de serviço. Deve ter entre 1 e 250 caracteres. Os caracteres aceitos são A-Z , a-z , 0-9 , espaço, ponto . , apóstrofo ' , vírgula , , sublinhado _ e traço - . | ||||||||||||||||||||||
secretExpiresAfterHours | string | Número de horas após as quais o segredo dessa conta de serviço expira | ||||||||||||||||||||||
roles | array de strings | Lista de roles que a conta de serviço deve ter. Deve haver pelo menos uma função listada e todas as funções devem ser válidas para um Projeto. As funções do projeto incluem:
|
Resposta
Nome | Tipo | Descrição |
---|---|---|
clientId | string | Identificador exclusivo da conta de serviço. |
createdAt | timestamp | Hora de criação da conta de serviço. |
name | string | Nome da conta de serviço. |
description | string | Descrição da conta de serviço. |
roles | array de strings | Lista de roles que a conta de serviço tem no projeto. As funções do projeto incluem: |
secrets | array de objetos | Lista de segredos de conta de serviço. |
secrets.id | string | 24-string exclusivo de caracteres hexadecimais que identifica o segredo. |
secrets.createdAt | timestamp | Timestamp representando o tempo de criação do segredo. |
secrets.expiresAt | timestamp | Timestamp representando o tempo de expiração secreto. |
secrets.secret | string | Segredo da conta de serviço, disponível apenas na criação. |
Exemplo de solicitação
Observação
O usuário que faz a solicitação pode ser formatado como {PUBLIC-KEY}:{PRIVATE-KEY}
.
1 curl --user "{PUBLIC-KEY}:{PRIVATE-KEY}" --digest \ 2 --header "Accept: application/json" \ 3 --header "Content-Type: application/json" \ 4 --include \ 5 --request POST "https://cloud.mongodb.com/api/public/v1.0/groups/{PROJECT-ID}/serviceAccounts?pretty=true" \ 6 --data '{ 7 "name" : "Cloud Manager service account", 8 "description" : "Service account for Cloud Manager users.", 9 "secretExpiresAfterHours" : "3600", 10 "roles": ["GROUP_READ_ONLY", "GROUP_DATA_ACCESS_ADMIN"] 11 }'
Exemplo de resposta
Cabeçalho de resposta
401 Unauthorized Content-Type: application/json;charset=ISO-8859-1 Date: {dateInUnixFormat} WWW-Authenticate: Digest realm="MMS Public API", domain="", nonce="{nonce}", algorithm=MD5, op="auth", stale=false Content-Length: {requestLengthInBytes} Connection: keep-alive
201 Created Vary: Accept-Encoding Content-Type: application/json Strict-Transport-Security: max-age=300 Date: {dateInUnixFormat} Connection: keep-alive Content-Length: {requestLengthInBytes} X-MongoDB-Service-Version: gitHash={gitHash}; versionString={ApplicationVersion}
Corpo de resposta
Observação
O secret
não é editado no corpo da resposta. Este exemplo foi redigido por motivos de segurança.
1 { 2 "createdAt" : "2024-08-03T14:02:40Z", 3 "description" : "Service account for Cloud Manager users.", 4 "clientId" : "mdb_sa_id_66ae38803cdf55582cb01144", 5 "name" : "Cloud Manager service account", 6 "roles" : [ "GROUP_READ_ONLY", "GROUP_DATA_ACCESS_ADMIN" ], 7 "secrets" : [ { 8 "createdAt" : "2024-08-03T14:02:40Z", 9 "expiresAt" : "2024-12-31T14:02:40Z", 10 "id" : "66ae38803cdf55582cb01143", 11 "secret" : "mdb_sa_sk_...hcOL" 12 } ] 13 }