Authorize One Cloud Provider Access Role
Grants access to the specified project for the specified access role. To use this resource, the requesting API Key must have the Project Owner role. This API endpoint is one step in a procedure to create unified access for MongoDB Cloud services.
PATCH
/api/atlas/v2/groups/{groupId}/cloudProviderAccess/{roleId}
Atlas CLI
atlas api cloudProviderAccess authorizeCloudProviderAccessRole --help
import (
"os"
"context"
"log"
sdk "go.mongodb.org/atlas-sdk/v20230101001/admin"
)
func main() {
ctx := context.Background()
clientID := os.Getenv("MONGODB_ATLAS_CLIENT_ID")
clientSecret := os.Getenv("MONGODB_ATLAS_CLIENT_SECRET")
// See https://dochub.mongodb.org/core/atlas-go-sdk-oauth
client, err := sdk.NewClient(sdk.UseOAuthAuth(clientID, clientSecret))
if err != nil {
log.Fatalf("Error: %v", err)
}
params = &sdk.AuthorizeCloudProviderAccessRoleApiParams{}
sdkResp, httpResp, err := client.CloudProviderAccessApi.
AuthorizeCloudProviderAccessRoleWithParams(ctx, params).
Execute()
}
curl --include --header "Authorization: Bearer ${ACCESS_TOKEN}" \
--header "Accept: application/vnd.atlas.2023-01-01+json" \
--header "Content-Type: application/json" \
-X PATCH "https://cloud.mongodb.com/api/atlas/v2/groups/{groupId}/cloudProviderAccess/{roleId}" \
-d '{ <Payload> }'
curl --user "${PUBLIC_KEY}:${PRIVATE_KEY}" \
--digest --include \
--header "Accept: application/vnd.atlas.2023-01-01+json" \
--header "Content-Type: application/json" \
-X PATCH "https://cloud.mongodb.com/api/atlas/v2/groups/{groupId}/cloudProviderAccess/{roleId}" \
-d '{ <Payload> }'
Request examples
Object-2
{
"providerName": "string",
"iamAssumedRoleArn": "arn:aws:iam::123456789012:root"
}
{
"providerName": "AZURE",
"atlasAzureAppId": "string",
"servicePrincipalId": "string",
"tenantId": "string"
}
Response examples (200)
Object-2
{
"providerName": "string",
"atlasAWSAccountArn": "arn:aws:iam::772401394250:role/my-test-aws-role",
"atlasAssumedRoleExternalId": "string",
"authorizedDate": "2025-05-04T09:42:00Z",
"createdDate": "2025-05-04T09:42:00Z",
"featureUsages": [
{
"featureType": "ATLAS_DATA_LAKE",
"featureId": {
"groupId": "32b6e34b3d91647abb20e7b8",
"name": "string"
}
}
],
"iamAssumedRoleArn": "arn:aws:iam::123456789012:root",
"roleId": "32b6e34b3d91647abb20e7b8"
}
{
"providerName": "AZURE",
"_id": "32b6e34b3d91647abb20e7b8",
"atlasAzureAppId": "string",
"createdDate": "2025-05-04T09:42:00Z",
"featureUsages": [
{
"featureType": "ATLAS_DATA_LAKE",
"featureId": {
"groupId": "32b6e34b3d91647abb20e7b8",
"name": "string"
}
}
],
"lastUpdatedDate": "2025-05-04T09:42:00Z",
"servicePrincipalId": "string",
"tenantId": "string"
}
Response examples (400)
{
"error": 400,
"detail": "(This is just an example, the exception may not be related to this endpoint) No provider AWS exists.",
"reason": "Bad Request",
"errorCode": "VALIDATION_ERROR"
}
Response examples (404)
{
"error": 404,
"detail": "(This is just an example, the exception may not be related to this endpoint) Cannot find resource AWS",
"reason": "Not Found",
"errorCode": "RESOURCE_NOT_FOUND"
}
Response examples (409)
{
"error": 409,
"detail": "(This is just an example, the exception may not be related to this endpoint) Cannot delete organization link while there is active migration in following project ids: 60c4fd418ebe251047c50554",
"reason": "Conflict",
"errorCode": "CANNOT_DELETE_ORG_ACTIVE_LIVE_MIGRATION_ATLAS_ORG_LINK"
}
Response examples (500)
{
"error": 500,
"detail": "(This is just an example, the exception may not be related to this endpoint)",
"reason": "Internal Server Error",
"errorCode": "UNEXPECTED_ERROR"
}