对于 AI 代理:可在 https://www.mongodb.com/zh-cn/docs/llms.txt 获取文档索引—通过在任何 URL 路径后添加 .md 可获取所有页面的 Markdown 版本。
Docs 菜单

更新一个项目的功能策略

基本 URL: https://cloud.mongodb.com/api/public/v1.0

此资源需要Project Owner 。

PUT /groups/{PROJECT-ID}/controlledFeature

重要

您必须包含要包含和维护的每项策略。 此资源将覆盖任何现有策略。 如果在使用此资源时省略策略,则更新后不会执行该策略。该政策已被删除。

名称
类型
必要性
说明

PROJECT-ID

字符串

必需

具有受控功能的项目的唯一标识符。

以下查询参数为可选参数:

名称
类型
说明
默认

pageNum

整型

页码(从 1 开始)。

1

itemsPerPage

整型

每页要返回的项目数,最多 500 个。

100

pretty

布尔

指示是否以美观打印格式返回响应正文。

false

envelope

布尔

指示是否将响应包装在信封中。

某些API客户端无法访问权限HTTP响应标头或状态代码。要修复此问题,请在查询中设立"envelope" : true。

对于返回一个结果的终结点,响应体包括:

  • status: HTTP响应代码

  • content:预期响应正文

对于返回结果列表的端点,results 对象是一个信封。Cloud Manager 将 status 字段添加到响应正文。

无

名称
类型
说明

externalManagementSystem

对象

识别托管此 Ops Manager 项目的外部系统的参数。

externalManagementSystem
.name

字符串

托管此 Ops Manager 项目的外部系统的标识标签。

externalManagementSystem
.systemId

字符串

托管此 Ops Manager 项目的外部系统的唯一标识符。

externalManagementSystem
.version

字符串

托管此 Ops Manager 项目的外部系统的活动版本。

policies

阵列

外部系统应用于此 Ops Manager 项目的策略列表。

policies
.policy[n]

对象

为此 Ops Manager 项目设置的单个策略。该参数可在policies数组中设置一次或多次。

接受的值为:

  • EXTERNALLY_MANAGED_LOCK:用户无法使用Ops Manager管理policies.policy[n]大量中列出的其他设置。这些用户可以使用已配置的外部系统(例如Kubernetes Operator)来管理这些设置。

  • DISABLE_USER_MANAGEMENT:用户无法管理用户或角色。

  • DISABLE_AUTHENTICATION_MECHANISMS:用户无法更改身份验证设置。

  • DISABLE_SET_MONGOD_CONFIG:用户无法更改 policies[n].disabledParams大量中列出的任何 mongod 设置。

  • DISABLE_SET_MONGOD_VERSION:用户无法更改任何 mongod 或 mongos 的版本。

  • DISABLE_BACKUP_AGENT:用户无法启用或禁用备份代理。

  • DISABLE_MONGOD_LOG_MANAGEMENT:用户无法更改日志管理设置。

  • DISABLE_IMPORT_TO_AUTOMATION:用户无法使用自动化来管理部署。

  • DISABLE_AGENT_API_KEY_MANAGEMENT:用户无法创建或更新代理API密钥。

  • DISABLE_MONGOD_HOST_MANAGEMENT:用户无法更改主机的服务器类型。

policies[n]
.disabledParams

阵列

名称
类型
说明

_id

字符串

此策略适用的项目的唯一标识符。

created

字符串

创建此功能控制策略时采用 ISO 8601 日期和时间格式(UTC 时间)的时间戳。

updated

字符串

更新此功能控制策略时采用 ISO 8601 日期和时间格式(UTC 时间)的时间戳。

externalManagementSystem

对象

识别托管此 Cloud Manager 项目的外部系统的参数。

externalManagementSystem
.name

字符串

识别托管此 Cloud Manager 项目的外部系统的标签。

externalManagementSystem
.systemId

字符串

此Cloud Manager项目的托管外部系统的唯一标识符。

externalManagementSystem
.version

字符串

托管此 Cloud Manager 项目的外部系统的有效版本。

policies

阵列

外部系统应用于此 Cloud Manager 项目的策略列表。

policies
.policy[n]

对象

为此 Cloud Manager 项目设置的单个策略。该参数可在policies数组中设置一次或多次。

可能的值为:

  • EXTERNALLY_MANAGED_LOCK:用户无法使用Cloud Manager管理policies.policy[n]大量中列出的其他设置。这些用户可以使用已配置的外部系统(例如Kubernetes Operator)来管理这些设置。

  • DISABLE_USER_MANAGEMENT:用户无法管理用户或角色。

  • DISABLE_AUTHENTICATION_MECHANISMS:用户无法更改身份验证设置。

  • DISABLE_SET_MONGOD_CONFIG:用户无法更改 policies[n].disabledParams大量中列出的任何 mongod 设置。

  • DISABLE_SET_MONGOD_VERSION:用户无法更改任何 mongod 或 mongos 的版本。

  • DISABLE_BACKUP_AGENT:用户无法启用或禁用备份代理。

  • DISABLE_MONGOD_LOG_MANAGEMENT:用户无法更改日志管理设置。

  • DISABLE_IMPORT_TO_AUTOMATION:用户无法使用自动化来管理部署。

  • DISABLE_AGENT_API_KEY_MANAGEMENT:用户无法创建或更新代理API密钥。

  • DISABLE_MONGOD_HOST_MANAGEMENT:用户无法更改主机的服务器类型。

policies[n]
.disabledParams

阵列

1curl --user "{PUBLIC-KEY}:{PRIVATE-KEY}" --digest \
2 --header "Accept: application/json" \
3 --header "Content-Type: application/json" \
4 --include \
5 --request PUT "https://{OPSMANAGER-HOST}:{PORT}/api/public/v1.0/groups/{PROJECT-ID}/controlledFeature?pretty=true" \
6 --data '{
7 "externalManagementSystem":
8 {
9 "name": "Operator",
10 "systemId": "6d6c139ae5528707b6e8e3b2",
11 "version": "0.2.1"
12 },
13 "policies": [
14 {"policy": "ExternallyManagedLock"},
15 {"policy": "DisableUserManagement"},
16 {"policy": "DisableAuthenticationMechanisms"},
17 {"policy": "DisableSetMongodVersion"},
18 {
19 "policy": "DisableSetMongodConfig",
20 "disabledParams": ["net.tls.CAFile"]
21 }
22 ]
23 }'
HTTP/1.1 401 Unauthorized
Content-Type: application/json;charset=ISO-8859-1
Date: {dateInUnixFormat}
WWW-Authenticate: Digest realm="MMS Public API", domain="", nonce="{nonce}", algorithm=MD5, op="auth", stale=false
Content-Length: {requestLengthInBytes}
Connection: keep-alive
HTTP/1.1 200 OK
Vary: Accept-Encoding
Content-Type: application/json
Strict-Transport-Security: max-age=300
Date: {dateInUnixFormat}
Connection: keep-alive
Content-Length: {requestLengthInBytes}
X-MongoDB-Service-Version: gitHash={gitHash}; versionString={ApplicationVersion}
1{
2 "_id": "{PROJECT-ID}",
3 "created": "2019-08-29T15:03:24Z",
4 "updated": "2019-08-29T15:03:24Z",
5 "externalManagementSystem":
6 {
7 "name": "Operator",
8 "systemId": "6d6c139ae5528707b6e8e3b2",
9 "version": "0.2.1"
10 },
11 "policies": [
12 {"policy": "ExternallyManagedLock"},
13 {"policy": "DisableUserManagement"},
14 {"policy": "DisableAuthenticationMechanisms"},
15 {"policy": "DisableSetMongodVersion"},
16 {
17 "policy": "DisableSetMongodConfig",
18 "disabledParams": ["net.tls.CAFile"]
19 }
20 ]
21}