You need to enable JavaScript to run this app.
文档中心
文档数据库 MongoDB 版

文档数据库 MongoDB 版

复制全文
下载 pdf
账号管理
UpdateDBAccountPrivilege
复制全文
下载 pdf
UpdateDBAccountPrivilege
调用 UpdateDBAccountPrivilege 接口修改目标 MongoDB 实例中指定账号的权限或账号描述。
请求类型
同步请求。
注意事项
  • 账号类型不同,支持通过 UpdateDBAccountPrivilege 接口修改的信息也不同。其中:
  • 高权限账号(即 AccountTypeUserAdmin )和普通账号(即 AccountTypeNormal
  • 支持通过当前接口修改高权限账号或普通账号的数据库权限以及账号描述。
  • 更多关于不同类型账号的更多详情,请参见账号类型
  • 超级管理员账号(即 AccountTypeSuper ):
  • 仅支持通过当前接口修改超级管理员账号的账号描述。
  • 超级管理员账号的权限仅支持重置为出初始状态,无法修改为指定权限,您可以通过 ResetDBAccount 接口重置超级管理员账号权限更多详情,请参见重置 root 账号
  • 修改账号权限可能会导致当前账号连接对应数据库时,出现访问无权限等报错从而影响业务,请谨慎操作。更多详情,请参见修改账号权限
调试
API Explorer
您可以通过 API Explorer 在线发起调用,无需关注签名生成过程,快速获取调用结果。
请求参数
InstanceId String 必选 示例值:mongo-replica-7e0f61909ce5
实例 ID。
说明
您可以调用 DescribeDBInstances接口查询目标地域下所有 MongoDB 实例的基本信息,包括实例 ID。
AccountName String 必选 示例值:apitest
需要修改权限或账号描述的账号名称。
说明
您可以调用 DescribeDBAccounts接口查询目标 MongoDB 实例下的所有账号信息,包括账号名称。
AuthDB String 可选 示例值:admin
账号所属的数据库。
说明
若不设置该参数,默认需要修改权限的账号属于 admin 库。
AccountDBPrivileges Object[] 可选 示例值:
需要为账号修改的数据库权限列表。
说明
  • 若不设置该参数,默认不修改账号在任何数据库的任何权限。
  • 修改账号权限可能会导致当前账号连接对应数据库时,出现访问无权限等报错从而影响业务,请谨慎操作。
  • 不允许同时将 AccountDBPrivilegesAccountDesc参数留空。
DBName String 必选 示例值:admin
需要为账号授予权限的数据库名称。
文档数据库 MongoDB 版允许为部分系统库以及您的自建数据库授予相关权限,因此允许传入的数据库取值如下:
  • 系统库:包括 adminlocalconfig
  • 其他数据库:即您自行创建的任意数据库,例如 testdb
说明
  • 您可以通过 listDatabases命令查看当前 MongoDB 实例中的数据库名称。
RoleNames String[] 必选 示例值:read
需要为账号授予的数据库权限。
文档数据库 MongoDB 版对不同数据库允许授予的权限如下:
  • admin 库:允许为账号在 admin 库中授予 readuserAdminreadAnyDatabase
  • readWriteAnyDatabaseuserAdminAnyDatabasedbAdminAnyDatabaseclusterMonitorbackup 权限。
  • local 库:仅允许为账号在 local 库中授予 read 权限。
  • config 库:仅允许为账号在 config 库中授予 read 权限。
  • 其他数据库:允许为账号在您自行创建的数据库中授予 readreadWritedbAdminuserAdmindbOwner 权限。
说明
  • 该权限修改为覆盖性修改,即会使用 AccountDBPrivilegesRoleNames 的权限列表覆盖掉账号在对应 DBName 数据库中的权限。
  • 若该参数留空,表示清空当前账号在对应 DBName库中的所有权限,请谨慎操作。
AccountDesc String 可选 示例值:testdesc
修改账号描述。备注信息需同时满足如下条件:
  • 长度为 0~256 个字符。
  • 可以包含数字、中文、英文、下划线(_)、短横线(-)。
说明
  • 若不设置该参数,默认不会修改账号的原备注信息。
  • 不允许同时将 AccountDBPrivilegesAccountDesc参数留空。
返回参数
本接口无特有的返回参数。更多信息请见返回结构
示例
请求示例 1
将超级管理员账号 root 的账号描述改为 super account root,请求示例如下。
POST https://mongodb.cn-beijing.volcengineapi.com/?Action=UpdateDBAccountPrivilege&Version=2022-01-01 HTTP/1.1
Host: mongodb.cn-beijing.volcengineapi.com
Content-Type: application/json; charset=utf-8
X-Date: 20201103T104027Z
Authorization: HMAC-SHA256 Credential=AK****/20201103/cn-beijing/mongodb/request,SignedHeaders=content-type;host;x-date,Signature=****
{
"InstanceId": "mongo-replica-7e0f61909ce5",
"AccountName": "root",
"AccountDesc": "super account root"
}
返回示例 1
{
"ResponseMetadata": {
"RequestId": "20230604110420100232280022D31",
"Action": "UpdateDBAccountPrivilege",
"Version": "2022-01-01",
"Service": "mongodb",
"Region": "cn-beijing"
},
"Result": null
}
请求示例 2
修改 testdb 库中 apitest 账号的权限,修改后的权限如下:
  • 清空 apitest 在 testdb1 库中的所有权限。
  • 授予 apitest 在 testdb2 库中的 readreadWrite 权限。
POST https://mongodb.cn-beijing.volcengineapi.com/?Action=UpdateDBAccountPrivilege&Version=2022-01-01 HTTP/1.1
Host: mongodb.cn-beijing.volcengineapi.com
Content-Type: application/json; charset=utf-8
X-Date: 20201103T104027Z
Authorization: HMAC-SHA256 Credential=AK****/20201103/cn-beijing/mongodb/request,SignedHeaders=content-type;host;x-date,Signature=****
{
"InstanceId": "mongo-replica-7e0f61909ce5",
"AccountName": "apitest",
"AuthDB": "testdb",
"AccountDBPrivileges": [
{
"DBName": "testdb1",
"RoleNames": []
},
{
"DBName": "testdb2",
"RoleNames": [
"read",
"readwrite"
]
}
]
}
返回示例 2
{
"ResponseMetadata": {
"RequestId": "20230604110420100232280022D31",
"Action": "UpdateDBAccountPrivilege",
"Version": "2022-01-01",
"Service": "mongodb",
"Region": "cn-beijing"
},
"Result": null
}
错误码
更多详情,请参见错误码
最近更新时间:2026.06.17 16:14:55
这个页面对您有帮助吗?
有用
有用
无用
无用