控制台示例

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

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

您可以通过使用 CAM 策略让用户拥有在云数据库控制台中查看和使用特定资源的权限。该部分的示例能够使用户使用控制台的特定部分的策略。云数据库 MySQL/MariaDB 在访问管理的接口关键词为 mariadb。

创建自定义策略语法

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

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

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

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

  5. 填入对应的策略语法并单击【完成】。

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

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

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

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

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

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

附录:常用的策略语法

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

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

策略语法如下:

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

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

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

策略语法如下:

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

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

目前并未涵盖全部功能 API 接口,您可能会观察到少量操作并未纳入 CAM 管理,这属于正常现象。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

其他自定义策略

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

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

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

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