控制台示例

最近更新时间: 2024-10-17 17:10:00

云数据库访问管理策略示例

您可以通过使用 CAM 策略让用户拥有在云数据库控制台中查看和使用特定资源的权限。该部分的示例能够使用户使用控制台的特定部分的策略。

由于历史原因,分布式数据库 TDSQL(曾用名 DCDB)在访问管理的接口关键词为 dcdb。

创建自定义策略语法

  1. 进入访问管理->策略管理

  2. 进入策略语法配置页面,单击新建自定义策略

  3. 在弹出的对话框,选择按策略语法创建

  4. 选择空白模板并单击下一步

  5. 填入对应的策略语法。

关联子账号/协作者并验证

创建策略完成后,选择关联用户/组。关联完成后,更换浏览器(或主机),通过使用子账号/协作者验证验证是否正常。如果策略语法写作无误,您可以观察到:

  • 您能正常访问预期目标产品和资源,并拥有预期的全部功能。

  • 访问其他未授权产品或资源时提示“您没有权限执行此操作”。

  • 为避免多个策略语法影响,建议一次只让子账号关联一个策略。

  • 修改某账号访问控制权限后,预估会有1分钟以内的延迟。

附录:常用的策略语法

放通云数据库的全部实例全部功能策略

如果您想让用户拥有创建和管理云数据库实例的权限,您可以对该用户使用名称为 QcloudDCDBFullAccess 的策略。

策略语法如下:

{
    "version": "2.0",
    "statement": [
        {
            "action": [
                "dcdb:*"
            ],
            "resource": "*",
            "effect": "allow"
        }
    ]
}

云数据库全部实例仅查询功能策略

如果您只想让用户拥有查询云数据库实例的权限,但是不具有创建、删除和修改的权限,您可以对该用户使用名称为QcloudDCDBInnerReadOnlyAccess 的策略。

策略语法如下:

{
    "version": "2.0",
    "statement": [
        {
            "action": [
                "dcdb:Describe*"
            ],
            "resource": "*",
            "effect": "allow"
        }
    ]
}

以上策略是通过让用户分别对云数据库中所有以单词" Describe "开头的所有操作进行 CAM 策略授权来达到目的。

授权用户拥有特定地域云数据库的操作权限策略

如果您想要授权用户拥有特定地域的云数据库的操作权限,可将以下策略关联到该用户。以下策略允许用户拥有对广州地域的云数据库机器的操作权限。

{
    "version": "2.0",
    "statement": [
        {
            "action": "dcdb:*",
            "resource": "qcs::dcdb:ap-guangzhou::*",
            "effect": "allow"
        }
    ]
}

授权用户拥有若干特定地域云数据库的操作权限策略

如果您想要授权用户拥有特定地域的云数据库的操作权限,可将以下策略关联到该用户。以下策略允许用户拥有对广州地域的云数据库机器的操作权限。

{
    "version": "2.0",
    "statement": [
        {
            "action": "dcdb:*",
            "resource": "qcs::dcdb:ap-guangzhou::*","qcs::dcdb:ap-chengdu::*",
            "effect": "allow"
        }
    ]
}

授权用户拥有特定云数据库的操作权限策略

如果您想要授权用户拥有特定云数据库操作权限,可将以下策略关联到该用户。以下策略允许用户拥有对 ID 为 dcdb-xxx,广州地域的云数据库实例的操作权限:

{
    "version": "2.0",
    "statement": [
        {
            "action": [
                "dcdb:*"
            ],
            "resource": "qcs::dcdb:ap-chengdu::instance/dcdb-fwr62n3i",
            "effect": "allow"
        }
    ]
}

授权用户拥有若干云数据库的操作权限策略

如果您想要授权用户拥有批量云数据库操作权限,可将以下策略关联到该用户。以下策略允许用户拥有对 ID 为 dcdb-xxx、dcdb-yyy,广州地域的云数据库实例的操作权限和对 ID 为 dcdb-zzz,北京地域的云数据库实例的操作权限。

{
    "version": "2.0",
    "statement": [
        {
            "action": "dcdb:*",
            "resource": ["qcs::dcdb:ap-guangzhou::instance/dcdb-xxx", "qcs::dcdb:ap-guangzhou::instance/dcdb-yyy", "qcs::dcdb:ap-beijing::instance/dcdb-zzz"],
            "effect": "allow"
        }
    ]
}

授权用户拥有若干云数据库的若干操作权限策略

如果您想要授权用户拥有批量云数据库操作权限,可将以下策略关联到该用户。以下策略允许用户拥有对 ID 为 dcdb-xxx、dcdb-yyy,广州地域的云数据库实例的操作权限和对 ID 为 dcdb-zzz,北京地域的云数据库实例的操作权限。

{
    "version": "2.0",
    "statement": [
        {
            "action": "dcdb:Describe*","dcdb:Create*",
            "resource": ["qcs::dcdb:ap-guangzhou::instance/dcdb-xxx", "qcs::dcdb:ap-guangzhou::instance/dcdb-yyy", "qcs::dcdb:ap-beijing::instance/dcdb-zzz"],
            "effect": "allow"
        }
    ]
}

说明:

当前全部支持 API 接口详见API接口文档。

拒绝用户拥有云数据库的创建账号权限

如果您想要拒绝某用户拥有云数据库的创建账号权限,即配置"effect": "deny"

{
    "version": "2.0",
    "statement": [
        {
            "action": "dcdb:CreateAccount",
            "resource": "*",
            "effect": "deny"
        }
    ]
}

其他自定义策略

如果您觉得预设策略不能满足您所想要的要求,您也可以创建自定义策略。自定义的策略语法如下:

{
    "version": "2.0",
    "statement": [
        {
            "action": [
                "Action"
            ],
            "resource": "Resource",
            "effect": "Effect"
        }
    ]
}
  • Action 中换成您要进行允许或拒绝的操作。

  • Resource 中换成您要授权的具体资源。

  • Effect 中换成允许或者拒绝。