Cria uma função de acesso para o provedor de nuvem especificado. Alguns recursos do MongoDB Cloud usam essas roles de acesso do provedor de nuvem para a autenticação. Para o fornecedor de GCP, se a pasta do projeto ainda não tiver sido provisionada, o Atlas criará a função de forma assíncrona. Uma função intermediária com status IN_PROGRESS será retornada e a conta de serviço final será provisionada. Depois que o projeto GCP for configurado, as solicitações subsequentes criarão a conta de serviço de forma síncrona.
- Proprietário do projeto
parâmetros de caminho
-
Sequência única de 24dígitos hexadecimais que identifica seu projeto. Use o endpoint /groups para extrair todos os projetos aos quais o usuário autenticado tem acesso.
AVISO: grupos e projetos são termos sinônimos. O ID do seu grupo é igual ao ID do seu projeto. Para grupos existentes, o ID do grupo/projeto permanece o mesmo. O recurso e os endpoints correspondentes usam o termo grupos.
O formato deve corresponder ao seguinte padrão:
^([a-f0-9]{24})$.
parâmetros de query
-
Sinalizador que indica se o aplicativo empacota a resposta em um objeto JSON
envelope. Alguns clientes de API não podem acessar os cabeçalhos de resposta HTTP ou o código de status. Para corrigir isso, defina envelope=true na consulta. Os endpoints que retornam uma lista de resultados usam o objeto de resultados como um envelope. O aplicativo adiciona o parâmetro de status ao corpo da resposta.O valor padrão é
false. -
Sinalizador que indica se o corpo da resposta deve estar no formato prettyprint.
O valor padrão é
false.Prettyprint
curl \
--request POST 'https://cloud.mongodb.com/api/atlas/v1.0/groups/32b6e34b3d91647abb20e7b8/cloudProviderAccess' \
--header "Authorization: Bearer $ACCESS_TOKEN" \
--header "Content-Type: application/json" \
--data '{
"providerName": "AWS"
}'
{
"providerName": "AWS"
}
{
"providerName": "AZURE",
"atlasAzureAppId": "string",
"servicePrincipalId": "string",
"tenantId": "string"
}
{
"providerName": "GCP"
}
{
"atlasAWSAccountArn": "arn:aws:iam::772401394250:role/my-test-aws-role",
"atlasAssumedRoleExternalId": "feb2dfc7-f760-4288-a403-01c7c2345005",
"authorizedDate": "2024-05-30T14:12:00Z",
"createdDate": "2024-05-30T14:11:00Z",
"featureUsages": [],
"iamAssumedRoleArn": "arn:aws:iam::123456789012:root",
"providerName": "AWS",
"roleId": "32b6e34b3d91647abb20e7b8"
}
{
"_id": "32b6e34b3d91647abb20e7b8",
"atlasAzureAppId": "da5dd062-f3ca-4cb5-b86a-05f82203ab67",
"createdDate": "2024-05-30T14:11:00Z",
"featureUsages": [],
"lastUpdatedDate": "2024-05-30T14:12:00Z",
"providerName": "AZURE",
"servicePrincipalId": "ec8e7844-912d-4869-86e9-6d0dfca4b8af",
"tenantId": "4297fc77-1592-4de8-a6d5-a8c32401df87"
}
{
"createdDate": "2024-05-30T14:11:00Z",
"featureUsages": [],
"gcpServiceAccountForAtlas": "mongodb-atlas-1234567890123456@p-111111111111111111111111.iam.gserviceaccount.com",
"providerName": "GCP",
"roleId": "32b6e34b3d91647abb20e7b8",
"status": "COMPLETE"
}
{
"detail": "(This is just an example, the exception may not be related to this endpoint)",
"error": 401,
"errorCode": "NOT_ORG_GROUP_CREATOR",
"reason": "Unauthorized"
}
{
"detail": "(This is just an example, the exception may not be related to this endpoint)",
"error": 403,
"errorCode": "CANNOT_CHANGE_GROUP_NAME",
"reason": "Forbidden"
}
{
"detail": "(This is just an example, the exception may not be related to this endpoint) Cannot find resource AWS",
"error": 404,
"errorCode": "RESOURCE_NOT_FOUND",
"reason": "Not Found"
}
{
"detail": "(This is just an example, the exception may not be related to this endpoint)",
"error": 500,
"errorCode": "UNEXPECTED_ERROR",
"reason": "Internal Server Error"
}