You need to enable JavaScript to run this app.
导航
UpdateDBAccountPrivilege
最近更新时间:2024.12.12 21:46:14首次发布时间:2024.12.04 11:23:22

调用 UpdateDBAccountPrivilege 接口修改目标 MongoDB 实例中指定账号的权限或账号描述。

请求类型

同步请求。

注意事项

  • 账号类型不同,支持通过 UpdateDBAccountPrivilege 接口修改的信息也不同。其中:
    • 高权限账号(即 AccountTypeUserAdmin )和普通账号(即 AccountTypeNormal
      • 支持通过当前接口修改高权限账号或普通账号的数据库权限以及账号描述。
      • 更多关于不同类型账号的更多详情,请参见账号类型
    • 超级管理员账号(即 AccountTypeSuper ):
      • 仅支持通过当前接口修改超级管理员账号的账号描述。
      • 超级管理员账号的权限仅支持重置为出初始状态,无法修改为指定权限,您可以通过 ResetDBAccount 接口重置超级管理员账号权限更多详情,请参见重置 root 账号
  • 修改账号权限可能会导致当前账号连接对应数据库时,出现访问无权限等报错从而影响业务,请谨慎操作。更多详情,请参见修改账号权限

请求参数

参数
类型
是否必选
示例值
描述
InstanceId
String
mongo-replica-7e0f6190****

实例 ID。

说明

您可以调用 DescribeDBInstances 接口查询目标地域下所有 MongoDB 实例的基本信息,包括实例 ID。

AccountName
String
apitest

需要修改权限或账号描述的账号名称。

说明

您可以调用 DescribeDBAccounts 接口查询目标 MongoDB 实例下的所有账号信息,包括账号名称。

AuthDB
String
admin

账号所属的数据库。

说明

若不设置该参数,默认需要修改权限的账号属于 admin 库。

AccountDBPrivileges
Object[]

需要为账号修改的数据库权限列表。

说明

  • 若不设置该参数,默认不修改账号在任何数据库的任何权限。
  • 修改账号权限可能会导致当前账号连接对应数据库时,出现访问无权限等报错从而影响业务,请谨慎操作。
  • 不允许同时将 AccountDBPrivilegesAccountDesc 参数留空。
AccountDesc
String
testdesc

修改账号描述。备注信息需同时满足如下条件:

  • 长度为 0~256 个字符。
  • 可以包含数字、中文、英文、下划线(_)、短横线(-)。

说明

  • 若不设置该参数,默认不会修改账号的原备注信息。
  • 不允许同时将 AccountDBPrivilegesAccountDesc 参数留空。

返回参数

本接口无特有的返回参数。更多信息请见返回结构

示例

请求示例 1

将超级管理员账号 root 的账号描述为 super account root,请求示例如下。

POST https://mongodb.volcengineapi.com/?Action=UpdateDBAccountPrivilege&Version=2022-01-01 HTTP/1.1
Host: mongodb.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-7e0f6190****",
    "AccountName": "root",
    "AccountDesc": "super account root"
}

返回示例 1

{
    "ResponseMetadata": {
        "RequestId": "2023060411042010023228002****",
        "Action": "UpdateDBAccountPrivilege",
        "Version": "2022-01-01",
        "Service": "mongodb",
        "Region": "cn-beijing"
    },
    "Result": null
}

请求示例 2

修改 testdb 库中 apitest 账号的权限,修改后的权限如下:

  • 清空 apitest 在 testdb1 库中的所有权限。
  • 授予 apitest 在 testdb2 库中的 readreadWrite 权限。
POST https://mongodb.volcengineapi.com/?Action=UpdateDBAccountPrivilege&Version=2022-01-01 HTTP/1.1
Host: mongodb.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-7e0f6190****",
    "AccountName": "apitest",
    "AuthDB": "testdb",
    "AccountDBPrivileges": [
        {
            "DBName": "testdb1",
            "RoleNames": []
        },
        {
            "DBName": "testdb2",
            "RoleNames": [
                "read",
                "readwrite"
            ]
        }
    ]
}

返回示例 2

{
    "ResponseMetadata": {
        "RequestId": "2023060411042010023228002****",
        "Action": "UpdateDBAccountPrivilege",
        "Version": "2022-01-01",
        "Service": "mongodb",
        "Region": "cn-beijing"
    },
    "Result": null
}

错误码

更多详情,请参见错误码