创建一个云提供商访问角色
为指定的云提供商创建一个访问权限角色。某些MongoDB Cloud 功能使用这些云提供商访问权限角色进行身份验证。要使用此资源,请求的服务帐户或API密钥必须具有项目所有者角色。对于GCP提供商,如果尚未预配项目文件夹, Atlas现在将异步创建角色。将返回状态为 IN_PROGRESS 的中间角色,并预配最终的服务帐户。GCP项目设立完成后,后续请求将同步创建服务帐号。
路径参数
- 
    
  用于标识项目的唯一 24-十六进制数字字符串。 使用 /groups 端点检索身份验证的用户有权访问权限的所有项目。 注意:群组和项目是同义词。您的群组 ID 与项目 ID 相同。对于现有群组,群组/项目 ID 保持不变。资源和相应的端点使用“群组”一词。 格式应符合以下模式: ^([a-f0-9]{24})$。
查询参数
- 
    
  指示应用程序是否将响应包装在 envelopeJSON 对象中的标志。某些 API 客户端无法访问 HTTP 响应标头或状态代码。要修复此问题,请在查询中设置 Envelope=true。返回结果列表的端点将结果对象用作 envelope。应用程序将状态参数添加到响应正文中。默认值为 false。
- 
    
  指示响应正文是否应采用 prettyprint 格式的标记。 默认值为 false。Prettyprint 
        POST /API/Atlas/v2/groups/{groupId}/cloudProviderAccess
  
  
                    Atlas CLI
      
        
  atlas api cloudProviderAccess createCloudProviderAccess --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.CreateGroupCloudProviderAccessApiParams{}
	sdkResp, httpResp, err := client.CloudProviderAccessApi.
		CreateGroupCloudProviderAccessWithParams(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 POST "https://cloud.mongodb.com/api/atlas/v2/groups/{groupId}/cloudProviderAccess" \
  -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 POST "https://cloud.mongodb.com/api/atlas/v2/groups/{groupId}/cloudProviderAccess" \
  -d '{ <Payload> }'
        请求示例
  
  
                    AWS
      
        
  {
  "providerName": "AWS"
}{
  "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"
}
        响应示例 (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"
}
        响应示例 (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"
}