授权一个云提供商访问角色
授予指定访问角色对指定项目的访问权限。要使用此资源,请求的服务帐户或 API 密钥必须具有“项目所有者”角色。此 API 终结点是为 MongoDB Cloud 服务创建统一访问权限过程中的一个步骤。GCP 服务帐号访问无需执行此操作。
        PATCH /api/atlas/v2 /groups/{groupId}/cloudProviderAccess/{roleId}
  
  
                    Atlas CLI
      
        
  atlas api cloudProviderAccess authorizeProviderAccessRole --helpimport (
	"os"
	"context"
	"log"
	sdk "go.mongodb.org/atlas-sdk/v20250312001/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.AuthorizeGroupCloudProviderAccessRoleApiParams{}
	sdkResp, httpResp, err := client.CloudProviderAccessApi.
		AuthorizeGroupCloudProviderAccessRoleWithParams(ctx, params).
		Execute()
}
curl --include --header "Authorization: Bearer ${ACCESS_TOKEN}" \
  --header "Accept: application/vnd.atlas.2025-03-12+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.2025-03-12+json" \
  --header "Content-Type: application/json" \
  -X PATCH "https://cloud.mongodb.com/api/atlas/v2/groups/{groupId}/cloudProviderAccess/{roleId}" \
  -d '{ <Payload> }'
        请求示例
  
  
                    AWS
      
        
  {
  "providerName": "AWS",
  "iamAssumedRoleArn": "arn:aws:iam::123456789012:root"
}{
  "providerName": "AZURE",
  "atlasAzureAppId": "string",
  "servicePrincipalId": "string",
  "tenantId": "string"
}{
  "providerName": "GCP"
}
        响应示例 (200)
  
  
                    对象-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"
}{
  "providerName": "GCP",
  "createdDate": "2025-05-04T09:42:00Z",
  "featureUsages": [
    {
      "featureType": "ATLAS_DATA_LAKE",
      "featureId": {
        "groupId": "32b6e34b3d91647abb20e7b8",
        "name": "string"
      }
    }
  ],
  "gcpServiceAccountForAtlas": "string",
  "roleId": "32b6e34b3d91647abb20e7b8",
  "status": "IN_PROGRESS"
}
        响应示例 (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"
}
        响应示例 (401)
  
  {
  "error": 401,
  "detail": "(This is just an example, the exception may not be related to this endpoint)",
  "reason": "Unauthorized",
  "errorCode": "NOT_ORG_GROUP_CREATOR"
}
        响应示例 (403)
  
  {
  "error": 403,
  "detail": "(This is just an example, the exception may not be related to this endpoint)",
  "reason": "Forbidden",
  "errorCode": "CANNOT_CHANGE_GROUP_NAME"
}
        响应示例 (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"
}
        响应示例 (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"
}
        响应示例 (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"
}