为一个项目返回使用客户管理密钥的一项静态加密配置

获取 /api/atlas/v2/groups/{groupId}/encryptionAtRest

使用您通过云提供商管理的密钥返回静态加密配置。即使您不使用自己的密钥管理,MongoDB Cloud 也会加密所有存储。此资源要求请求的服务帐户或 API 密钥具有项目所有者角色。

仅限于 M10 或更高版本:MongoDB Cloud 将此功能限制为 M10 或更高版本的专用集群层级。

路径参数

  • groupId 字符串 必需

    用于标识项目的唯一 24-十六进制数字字符串。 使用 /groups 端点检索身份验证的用户有权访问权限的所有项目。

    注意:群组和项目是同义词。您的群组 ID 与项目 ID 相同。对于现有群组,群组/项目 ID 保持不变。资源和相应的端点使用“群组”一词。

    格式应符合以下模式:^([a-f0-9]{24})$

查询参数

  • envelope 布尔

    指示应用程序是否将响应包装在envelope JSON 对象中的标志。某些 API 客户端无法访问 HTTP 响应标头或状态代码。要修复此问题,请在查询中设置 Envelope=true。返回结果列表的端点将结果对象用作 envelope。应用程序将状态参数添加到响应正文中。

    默认值为false

  • pretty 布尔

    指示响应正文是否应采用 prettyprint 格式的标记。

    默认值为false

    Prettyprint

响应

  • 200 application/vnd.atlas.2023-01-01+json

    正常

    隐藏响应属性 显示响应属性 对象
    • AWS KMS 对象

      Amazon Web Services (AWS) KMS 配置详细信息和指定项目的静态加密配置集。

      Amazon Web Services Key Management Service
      隐藏 awsKms 属性 显示 awsKms 属性 对象
      • accessKeyID 字符串

        唯一的字母数字字符串,用于标识身份和访问管理 (IAM)访问权限密钥以及访问权限Amazon Web Services (AWS)客户主密钥(集合扫描) 所需的权限。

        最小长度为 16,最大长度为 128

      • customerMasterKeyID 字符串

        唯一的字母数字字符串,用于标识您用于加密和解密MongoDB主密钥的Amazon Web Services (AWS)客户主密钥(集合扫描 )。

        最小长度为 1,最大长度为 2048

      • enabled 布尔

        指示某人是否通过Amazon Web Services (AWS) Key Management Service (KMS ) 为指定项目启用静态加密的标志。要使用客户密钥管理禁用静态加密并删除配置详细信息,请仅传递值为 false 的此参数。

      • 区域 字符串

        MongoDB Cloud 部署 AWS 托管的MongoDB 集群节点的物理位置。您选择的地区可能会影响客户端访问数据库的网络延迟。当MongoDB Cloud 部署专用集群时,它会检查该提供商和地区是否存在VPC或VPC连接。如果没有, MongoDB Cloud 会在部署过程中进行创建。MongoDB Cloud 为VPC分配 CIDR区块。要将新的VPC对等互连限制在一个 CIDR区块和地区内,请先创建连接。连接开始后部署集群。

        值为 US_GOV_WEST_1US_GOV_EAST_1US_EAST_1US_EAST_2US_WEST_1US_WEST_2CA_CENTRAL_1EU_NORTH_1EU_WEST_1EU_WEST_2EU_WEST_3EU_CENTRAL_1EU_CENTRAL_2AP_EAST_1AP_NORTHEAST_1AP_NORTHEAST_2AP_NORTHEAST_3AP_SOUTHEAST_1AP_SOUTHEAST_2AP_SOUTHEAST_3AP_SOUTHEAST_4AP_SOUTH_1AP_SOUTH_2SA_EAST_1CN_NORTH_1CN_NORTHWEST_1ME_SOUTH_1ME_CENTRAL_1AF_SOUTH_1EU_SOUTH_1EU_SOUTH_2IL_CENTRAL_1CA_WEST_1AP_SOUTHEAST_5AP_SOUTHEAST_7MX_CENTRAL_1GLOBAL

      • requirePrivateNetworking 布尔

        支持通过私有网络连接到Amazon Web Services (AWS) Key Management Service (KMS)。

      • valid 布尔

        指示Amazon Web Services (AWS) Key Management Service (KMS)加密密钥是否可以加密和解密数据的标志。

    • Azure Key Vault 对象

      定义使用 Azure Key Vault (AKV) 的静态加密配置的详细信息。

      Azure Key Vault
      隐藏 azureKeyVault 属性 显示 azureKeyVault 属性 对象
      • azureEnvironment 字符串

        帐户凭证所在的Azure环境。

        值为 AZUREAZURE_CHINA

      • clientID string(uuid)

        唯一的 36-十六进制字符串,用于标识与Azure Active Directory 租户关联的Azure应用程序。

      • enabled 布尔

        指示某人是否为指定项目启用静态加密的标志。要使用客户密钥管理禁用静态加密并删除配置详细信息,请仅传递值为 false 的此参数。

      • keyIdentifier 字符串

        带有唯一密钥的解决,用于标识Azure Key Vault。

      • keyVaultName 字符串

        标识包含密钥的Azure Key Vault 的唯一字符串。当您启用并设立与Azure Key Vault 的私有端点连接时,无法修改此字段。

      • requirePrivateNetworking 布尔

        允许通过专用网络连接到Azure Key Vault 。

      • 资源组名称 字符串

        包含Azure Key Vault的Azure资源群组的名称。当您启用并设立与Azure Key Vault 的私有端点连接时,无法修改此字段。

      • subscriptionID string(uuid)

        唯一的 36-十六进制字符串,用于标识您的Azure订阅。当您启用并设立与Azure Key Vault 的私有端点连接时,无法修改此字段。

      • tenantID string(uuid)

        唯一的 36-十六进制字符串,用于标识Azure订阅中的Azure Active Directory 租户。

      • valid 布尔

        指示Azure加密密钥是否可以加密和解密数据的标志。

    • enabledForSearchNodes 布尔

      指示是否在指定项目中启用专用搜索节点的静态加密的标志。

    • googleCloudKms 对象

      定义使用 Google Cloud Key Management Service (KMS) 的静态加密配置的详细信息。

      Google Cloud Key Management Service
      隐藏 googleCloudKms 属性 显示 googleCloudKms 属性 对象
      • enabled 布尔

        指示某人是否为指定项目启用静态加密的标志。要使用客户密钥管理禁用静态加密并删除配置详细信息,请仅传递值为 false 的此参数。

      • keyVersionResourceID 字符串

        显示 Google Cloud KMS的密钥版本资源ID 的资源路径。

      • roleId 字符串

        唯一的 24-十六进制数字字符串,用于标识MongoDB Cloud 用于访问权限Google Cloud KMS 的Google Cloud 提供商访问角色。

        格式应符合以下模式:^([a-f0-9]{24})$

      • valid 布尔

        指示 Google Cloud Key Management Service (KMS)加密密钥是否可以加密和解密数据的标志。

  • 401 application/json

    未经授权。

    隐藏响应属性 显示响应属性 对象
    • badRequestDetail 对象

      错误请求详情。

      隐藏 BadRequestDetail 属性 显示 BadRequestDetail 属性 对象
      • 字段 大量[对象]

        描述客户端请求中的所有违规行为。

        隐藏字段属性 显示字段属性 对象
        • 描述 字符串 必需

          关于请求元素错误的原因的描述。

        • 字段 字符串 必需

          指向请求正文中字段的路径。

    • 详细信息 字符串

      描述导致每种错误类型的具体条件或原因。

    • 错误 integer(int32) 必需

      与此错误一起返回的 HTTP 状态代码。

      外部文档
    • 错误代码 字符串 必需

      返回此错误时附带应用程序错误代码。

    • 参数 大量[对象]

      用于提供更多错误信息的参数。

    • 原因 字符串

      随此错误返回的应用程序错误消息。

  • 403 application/json

    Forbidden.

    隐藏响应属性 显示响应属性 对象
    • badRequestDetail 对象

      错误请求详情。

      隐藏 BadRequestDetail 属性 显示 BadRequestDetail 属性 对象
      • 字段 大量[对象]

        描述客户端请求中的所有违规行为。

        隐藏字段属性 显示字段属性 对象
        • 描述 字符串 必需

          关于请求元素错误的原因的描述。

        • 字段 字符串 必需

          指向请求正文中字段的路径。

    • 详细信息 字符串

      描述导致每种错误类型的具体条件或原因。

    • 错误 integer(int32) 必需

      与此错误一起返回的 HTTP 状态代码。

      外部文档
    • 错误代码 字符串 必需

      返回此错误时附带应用程序错误代码。

    • 参数 大量[对象]

      用于提供更多错误信息的参数。

    • 原因 字符串

      随此错误返回的应用程序错误消息。

  • 404 application/json

    未找到。

    隐藏响应属性 显示响应属性 对象
    • badRequestDetail 对象

      错误请求详情。

      隐藏 BadRequestDetail 属性 显示 BadRequestDetail 属性 对象
      • 字段 大量[对象]

        描述客户端请求中的所有违规行为。

        隐藏字段属性 显示字段属性 对象
        • 描述 字符串 必需

          关于请求元素错误的原因的描述。

        • 字段 字符串 必需

          指向请求正文中字段的路径。

    • 详细信息 字符串

      描述导致每种错误类型的具体条件或原因。

    • 错误 integer(int32) 必需

      与此错误一起返回的 HTTP 状态代码。

      外部文档
    • 错误代码 字符串 必需

      返回此错误时附带应用程序错误代码。

    • 参数 大量[对象]

      用于提供更多错误信息的参数。

    • 原因 字符串

      随此错误返回的应用程序错误消息。

  • 500 application/json

    内部服务器错误。

    隐藏响应属性 显示响应属性 对象
    • badRequestDetail 对象

      错误请求详情。

      隐藏 BadRequestDetail 属性 显示 BadRequestDetail 属性 对象
      • 字段 大量[对象]

        描述客户端请求中的所有违规行为。

        隐藏字段属性 显示字段属性 对象
        • 描述 字符串 必需

          关于请求元素错误的原因的描述。

        • 字段 字符串 必需

          指向请求正文中字段的路径。

    • 详细信息 字符串

      描述导致每种错误类型的具体条件或原因。

    • 错误 integer(int32) 必需

      与此错误一起返回的 HTTP 状态代码。

      外部文档
    • 错误代码 字符串 必需

      返回此错误时附带应用程序错误代码。

    • 参数 大量[对象]

      用于提供更多错误信息的参数。

    • 原因 字符串

      随此错误返回的应用程序错误消息。

GET /api/atlas/v2 /groups/{groupId}/encryptionAtRest
atlas api encryptionAtRestUsingCustomerKeyManagement getGroupEncryptionAtRest --help
import (
	"os"
	"context"
	"log"
	sdk "go.mongodb.org/atlas-sdk/v20241113001/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.GetGroupEncryptionAtRestApiParams{}
	sdkResp, httpResp, err := client.EncryptionatRestusingCustomerKeyManagementApi.
		GetGroupEncryptionAtRestWithParams(ctx, params).
		Execute()
}
curl --include --header "Authorization: Bearer ${ACCESS_TOKEN}" \
  --header "Accept: application/vnd.atlas.2024-11-13+json" \
  -X GET "https://cloud.mongodb.com/api/atlas/v2/groups/{groupId}/encryptionAtRest?pretty=true"
curl --user "${PUBLIC_KEY}:${PRIVATE_KEY}" \
  --digest --include \
  --header "Accept: application/vnd.atlas.2024-11-13+json" \
  -X GET "https://cloud.mongodb.com/api/atlas/v2/groups/{groupId}/encryptionAtRest?pretty=true"
响应示例 (200)
{
  "awsKms": {
    "accessKeyID": "019dd98d94b4bb778e7552e4",
    "customerMasterKeyID": "string",
    "enabled": true,
    "region": "US_GOV_WEST_1",
    "requirePrivateNetworking": true,
    "valid": true
  },
  "azureKeyVault": {
    "azureEnvironment": "AZURE",
    "clientID": "string",
    "enabled": true,
    "keyIdentifier": "https://EXAMPLEKeyVault.vault.azure.net/keys/EXAMPLEKey/d891821e3d364e9eb88fbd3d11807b86",
    "keyVaultName": "string",
    "requirePrivateNetworking": true,
    "resourceGroupName": "string",
    "subscriptionID": "string",
    "tenantID": "string",
    "valid": true
  },
  "enabledForSearchNodes": true,
  "googleCloudKms": {
    "enabled": true,
    "keyVersionResourceID": "projects/my-project-common-0/locations/us-east4/keyRings/my-key-ring-0/cryptoKeys/my-key-0/cryptoKeyVersions/1",
    "roleId": "32b6e34b3d91647abb20e7b8",
    "valid": true
  }
}
响应示例 (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"
}