tencent cloud

文档反馈

权限策略语法

最后更新时间:2024-01-11 17:33:32
    策略是用户权限集的一种语法规范, 可以精确地描述被授权的资源集、操作集以及授权条件 。

    CAM 策略语法

    {
    "version":"2.0",
    "statement":
    [
    {
    "effect":"effect",
    "action":["action"],
    "resource":["resource"],
    "condition": {"key":{"value"}}
    }
    ]
    }
    策略语法中各个语句解释如下表所示。
    参数名称
    子参数
    是否必选
    参数说明
    version
    目前仅允许值为"2.0"。
    statement
    effect
    描述声明产生的结果是“允许”还是“显式拒绝”。包括 allow(允许)和 deny(显式拒绝)两种情况。
    action
    用来描述允许或拒绝的操作。操作可以是 API 或者功能集(一组特定的 API ,以 permid 前缀描述)。
    resource
    描述授权的具体数据。资源是用六段式描述,每款产品的资源定义详情会有所区别。
    condition
    描述策略生效的约束条件。条件包括操作符、操作键和操作值组成。条件值可包括时间、IP 地址等信息,有些服务允许您在条件中指定其他值。
    说明:
    statement 用来描述一条或多条权限的详细信息。该元素包括 effect、action、resource、condition 等多个其他元素的权限或权限集合。一条策略有且仅有一个 statement 元素。

    定义 action

    在 CAM 策略语句中,您可以从支持 CAM 的任何服务中指定任意的 API 操作。对于 MongoDB,请使用以 mongodb: 为前缀的 API。例如 mongodb:BackupDBInstance 或 mongodb:CreateAccountUser。 如果您要在单个语句中指定多个操作的时候,请使用逗号将它们隔开,如下所示:
    "action":["mongodb:action1","mongodb:action2"]
    您也可以使用通配符指定多项操作。例如,您可以指定名字以单词" Describe "开头的所有操作,如下所示:
    "action":["mongodb:Describe*"]
    如果您要指定 MongoDB 中所有操作,请使用 * 通配符,如下所示:
    "action"["mongodb:*"]

    定义 resource

    每个 CAM 策略语句都有适用于自己的资源。资源路径的一般形式如下:
    qcs:project_id:service_type:region:account:resource
    project_id:描述项目信息,仅为了兼容 CAM 早期逻辑,无需填写。
    service_type:产品简称,如 mongodb。
    region:地域信息,如 bj。
    account:资源拥有者的主帐号信息,如 uin/12345678。
    resource:各产品的具体资源详情,如 instance/instance_id 或者 instance/*
    您可以使用特定实例(cmgo-aw6g1g0z)在语句中指定resource,示例如下:
    "resource":[ "qcs::mongodb:bj:uin/12345678:instance/cmgo-aw6g1g0z"]
    您还可以使用 * 通配符指定属于特定账户的所有实例,示例如下:
    "resource":[ "qcs::mongodb:bj:uin/12345678:instance/*"]
    您要指定所有资源,或者如果特定 API 操作不支持资源级权限,请在 resource 元素中使用 * 通配符,如下所示:
    "resource": ["*"]
    如果您想要在一条指令中同时指定多个资源,请使用英文逗号将它们隔开,如下所示为指定两个资源的例子:
    "resource":["resource1","resource2"]
    MongoDB 能够使用的资源和对应的资源描述方法,如下表所示。其中,$ 为前缀的单词均为代称,region 指地域,account 指账户 ID。
    资源类型
    授权策略中的 resource 描述方法
    实例
    qcs::mongodb:$region:$account:instance/*
    qcs::mongodb:$region:$account:instance/$instanceId
    VPC
    qcs::vpc:$region:$account:vpc/$vpcId
    安全组
    qcs::cvm:$region:$account:sg/$sgId

    云数据库 MongoDB 系统默认权限策略

    腾讯云数据库 MongoDB 支持以下系统权限策略。
    策略名称
    说明
    QcloudMongoDBFullAccess
    云数据库 MongoDB 的管理权限,被授予该权限的子账户具有等同于腾讯云账号的权限,即控制台和 API 的所有操作权限。
    QcloudMongoDBReadOnlyAccess
    只读权限,被授予该权限的子账户只具有腾讯云账号所有资源的只读权限,不具有控制台和 API 的操作权限。
    系统权限策略 QcloudMongoDFullAccess 策略内容如下:
    {
    "version": "2.0",
    "statement": [
    {
    "action": [
    "monitor:GetMonitorData",
    "monitor:DescribeBaseMetrics",
    "mongodb:*"
    ],
    "resource": "*",
    "effect": "allow"
    }
    ]
    }
    系统权限策略 QcloudMongoDBReadOnlyAccess 策略内容如下:
    {
    "version": "2.0",
    "statement": [
    {
    "action": [
    "monitor:GetMonitorData",
    "monitor:DescribeBaseMetrics",
    "mongodb:Describe*"
    ],
    "resource": "*",
    "effect": "allow"
    }
    ]
    }

    云数据库 MongoDB 自定义权限策略

    当前云数据库 MongoDB 支持以下资源级权限的自定义权限策略。
    说明:
    下表中未列出的云数据库 API 操作,即表示该云数据库 API 操作不支持资源级权限。针对不支持资源级权限的云数据库 API 操作,您仍可以向用户授予使用该操作的权限,但策略语句的资源元素必须指定为 *
    action 名称
    权限说明
    resource 描述
    BackupDBInstance
    备份数据库实例
    qcs::mongodb:$region:$account:instance/*
    qcs::mongodb:$region:$account:instance/$instanceId
    CreateAccountUser
    创建账号
    qcs::mongodb:$region:$account:instance/*
    qcs::mongodb:$region:$account:instance/$instanceId
    CreateDBInstanceHour
    创建云数据库实例(按量计费)
    qcs::mongodb:$region:$account:instance/*
    qcs::mongodb:$region:$account:instance/$instanceId
    DeleteAccountUser
    删除账号
    qcs::mongodb:$region:$account:instance/*
    qcs::mongodb:$region:$account:instance/$instanceId
    DescribeAccountUsers
    查询账号的用户信息
    qcs::mongodb:$region:$account:instance/*
    qcs::mongodb:$region:$account:instance/$instanceId
    DescribeBackupAccess
    获取实例备份下载授权
    qcs::mongodb:$region:$account:instance/*
    qcs::mongodb:$region:$account:instance/$instanceId
    DescribeBackupRules
    获取云数据库实例备份规则
    qcs::mongodb:$region:$account:instance/*
    qcs::mongodb:$region:$account:instance/$instanceId
    DescribeClientConnections
    获取客户端连接数
    qcs::mongodb:$region:$account:instance/*
    qcs::mongodb:$region:$account:instance/$instanceId
    DescribeDBBackups
    查询实例备份列表
    qcs::mongodb:$region:$account:instance/*
    qcs::mongodb:$region:$account:instance/$instanceId
    DescribeDBInstances
    查询数据库实例列表
    qcs::mongodb:$region:$account:instance/*
    qcs::mongodb:$region:$account:instance/$instanceId
    DescribeInstanceDB
    查询实例的库表信息
    qcs::mongodb:$region:$account:instance/*
    qcs::mongodb:$region:$account:instance/$instanceId
    DescribeSlowLog
    获取慢日志信息
    qcs::mongodb:$region:$account:instance/*
    qcs::mongodb:$region:$account:instance/$instanceId
    DescribeSlowLogPattern
    获取慢日志统计信息
    qcs::mongodb:$region:$account:instance/*
    qcs::mongodb:$region:$account:instance/$instanceId
    DescribeSpecInfo
    查询云数据库的售卖规格
    qcs::mongodb:$region:$account:instance/*
    qcs::mongodb:$region:$account:instance/$instanceId
    ExchangeInstance
    临时实例替换原实例
    qcs::mongodb:$region:$account:instance/*
    qcs::mongodb:$region:$account:instance/$instanceId
    IsolateDBInstance
    隔离云数据库实例
    qcs::mongodb:$region:$account:instance/*
    qcs::mongodb:$region:$account:instance/$instanceId
    ModifyDBInstanceSpec
    调整云数据库实例配置
    qcs::mongodb:$region:$account:instance/*
    qcs::mongodb:$region:$account:instance/$instanceId
    OfflineIsolatedDBInstance
    下线隔离状态的云数据库实例
    qcs::mongodb:$region:$account:instance/*
    qcs::mongodb:$region:$account:instance/$instanceId
    RemoveCloneInstance
    删除临时实例
    qcs::mongodb:$region:$account:instance/*
    qcs::mongodb:$region:$account:instance/$instanceId
    RenameInstance
    重命名实例
    qcs::mongodb:$region:$account:instance/*
    qcs::mongodb:$region:$account:instance/$instanceId
    RenewInstance
    续费云数据库实例
    qcs::mongodb:$region:$account:instance/*
    qcs::mongodb:$region:$account:instance/$instanceId
    ResizeOplog
    调整实例 oplog 大小
    qcs::mongodb:$region:$account:instance/*
    qcs::mongodb:$region:$account:instance/$instanceId
    RestartInstance
    重启实例
    qcs::mongodb:$region:$account:instance/*
    qcs::mongodb:$region:$account:instance/$instanceId
    RestoreDBInstance
    恢复数据库实例
    qcs::mongodb:$region:$account:instance/*
    qcs::mongodb:$region:$account:instance/$instanceId
    SetAccountUserPrivilege
    设置用户权限
    qcs::mongodb:$region:$account:instance/*
    qcs::mongodb:$region:$account:instance/$instanceId
    SetAutoRenew
    设置自动续费
    qcs::mongodb:$region:$account:instance/*
    qcs::mongodb:$region:$account:instance/$instanceId
    SetBackupRules
    设置备份规则
    qcs::mongodb:$region:$account:instance/*
    qcs::mongodb:$region:$account:instance/$instanceId
    SetInstanceFormal
    设置临时实例为正式实例
    qcs::mongodb:$region:$account:instance/*
    qcs::mongodb:$region:$account:instance/$instanceId
    SetInstanceMaintenance
    设置实例维护时间窗
    qcs::mongodb:$region:$account:instance/*
    qcs::mongodb:$region:$account:instance/$instanceId
    SetPassword
    设置密码
    qcs::mongodb:$region:$account:instance/*
    qcs::mongodb:$region:$account:instance/$instanceId
    SetReadOnlyToNormal
    设置只读实例为正式实例
    qcs::mongodb:$region:$account:instance/*
    qcs::mongodb:$region:$account:instance/$instanceId
    TerminateDBInstanceHour
    销毁按量计费实例
    qcs::mongodb:$region:$account:instance/*
    qcs::mongodb:$region:$account:instance/$instanceId
    UpgradeDBInstanceHour
    升级按量计费实例
    qcs::mongodb:$region:$account:instance/*
    qcs::mongodb:$region:$account:instance/$instanceId

    自定义权限策略示例

    授权账户对实例 cmgo-aw6g**** 进行 CreateDBInstance 和 CreateAccountUser 的操作权限。示例如下:
    {
    "version": "2.0",
    "statement": [
    {
    "effect": "allow",
    "action": [
    "mongodb:CreateDBInstance",
    "mongodb:CreateAccountUser"
    ],
    "resource": [
    "qcs::mongodb::uin/100001540306:instanceId/cmgo-aw6g****"
    ],
    "condition": {
    "ip_equal": {
    "qcs:ip": [
    "10.0.0.4"
    ]
    }
    }
    }
    ]
    }

    创建自定义权限策略

    具体操作,请您登录访问管理(CAM)控制台的 策略 页面,参见 创建自定义策略 进行操作。
    联系我们

    联系我们,为您的业务提供专属服务。

    技术支持

    如果你想寻求进一步的帮助,通过工单与我们进行联络。我们提供7x24的工单服务。

    7x24 电话支持