控制台示例

最后更新时间:2020-09-02 11:15:04

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

    云数据库的全读写策略

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

    进入 策略管理 界面,在右上角搜索框搜索 QcloudCDBFullAccess,即可找到该策略。

    策略语法如下:

    {
        "version": "2.0",
        "statement": [
            {
                "action": [
                    "cdb:*"
                ],
                "resource": "*",
                "effect": "allow"
            },
            {
                "action": [
                    "vpc:*"
                ],
                "resource": "*",
                "effect": "allow"
            },
            {
                "action": [
                    "cvm:*"
                ],
                "resource": "qcs::cvm:::sg/*",
                "effect": "allow"
            },
            {
                "action": [
                    "cos:*"
                ],
                "resource": "*",
                "effect": "allow"
            },
            {
                "effect": "allow",
                "action": "monitor:*",
                "resource": "*"
            },
            {
                "action": [
                    "kms:CreateKey",
                    "kms:GenerateDataKey",
                    "kms:Decrypt",
                    "kms:ListKey"
                ],
                "resource": "*",
                "effect": "allow"
            }
        ]
    }

    以上策略是通过让用户分别对云数据库、私有网络、安全组、对象存储、密钥管理服务和 Monitor 中所有资源进行 CAM 策略授权来达到目的。

    云数据库的只读策略

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

    说明:

    建议配置云数据库的只读策略。

    您可以进入 策略管理 界面,单击列项【服务类型】在下拉选项中选择【云数据库 MySQL】,就可以在结果中找到该策略。

    策略语法如下:

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

    云数据库相关资源的只读策略

    如果您想要让用户只拥有查询云数据库实例及相关资源(私有网络、安全组、对象存储、Monitor)的权限,但不允许该用户拥有创建、删除和修改等操作的权限,您可以对该用户使用名称为:QcloudCDBReadOnlyAccess 的策略。

    您可以进入 策略管理 界面,单击列项【服务类型】在下拉选项中选择【云数据库 MySQL】,就可以在结果中找到该策略。

    策略语法如下:

    {
        "version": "2.0",
        "statement": [
            {
                "action": [
                    "cdb:Describe*"
                ],
                "resource": "*",
                "effect": "allow"
            },
            {
                "action": [
                    "vpc:Describe*",
                    "vpc:Inquiry*",
                    "vpc:Get*"
                ],
                "resource": "*",
                "effect": "allow"
            },
            {
                "action": [
                    "cvm:DescribeSecurityGroup*"
                ],
                "resource": "*",
                "effect": "allow"
            },
            {
                "action": [
                    "cos:List*",
                    "cos:Get*",
                    "cos:Head*",
                    "cos:OptionsObject"
                ],
                "resource": "*",
                "effect": "allow"
            },
            {
                "effect": "allow",
                "action": "monitor:*",
                "resource": "*"
            }
        ]
    }

    以上策略是通过让用户分别对如下操作进行 CAM 策略授权来达到目的:

    • 云数据库中所有以单词“Describe”开头的操作。
    • 私有网络中所有以单词“Describe”开头的操作、所有以单词“Inquiry”开头的操作和所有以单词“Get”开头的操作。
    • 安全组中所有以单词“DescribeSecurityGroup”开头的所有操作。
    • 对象存储中所有以单词“List”开头的操作、所有以单词“Get”开头的操作、所有以单词“Head”开头的操作和名为“OptionsObject”的操作。
    • Monitor 中所有的操作。

    授权用户拥有非资源级的 API 接口的操作权限策略

    如果您想要让用户只拥非资源级的 API 接口的操作权限,您可以对该用户使用名称为:QcloudCDBProjectToUser 的策略。
    进入 策略管理 界面,单击列项【服务类型】在下拉选项中选择【云数据库 MySQL】,就可以在结果中找到该策略。
    策略语法如下:

    {
        "version": "2.0",
        "statement": [
            {
                "action": [
                    "cdb:BalanceRoGroupLoad",
                    "cdb:CancelBatchOperation",
                    "cdb:CreateBatchJobFiles",
                    "cdb:CreateDBInstance",
                    "cdb:CreateDBInstanceHour",
                    "cdb:CreateMonitorTemplate",
                    "cdb:CreateParamTemplate",
                    "cdb:DeleteBatchJobFiles",
                    "cdb:DeleteMonitorTemplate",
                    "cdb:DeleteParamTemplate",
                    "cdb:DescribeBatchJobFileContent",
                    "cdb:DescribeBatchJobFiles",
                    "cdb:DescribeBatchJobInfo",
                    "cdb:DescribeProjectSecurityGroups",
                    "cdb:DescribeDefaultParams",
                    "cdb:DescribeMonitorTemplate",
                    "cdb:DescribeParamTemplateInfo",
                    "cdb:DescribeParamTemplates",
                    "cdb:DescribeRequestResult",
                    "cdb:DescribeRoGroupInfo",
                    "cdb:DescribeRoMinScale",
                    "cdb:DescribeTasks",
                    "cdb:DescribeUploadedFiles",
                    "cdb:ModifyMonitorTemplate",
                    "cdb:ModifyParamTemplate",
                    "cdb:ModifyRoGroupInfo",
                    "cdb:ModifyRoGroupVipVport",
                    "cdb:StopDBImportJob",
                    "cdb:UploadSqlFiles"
                ],
                "effect": "allow",
                "resource": "*"
            }
        ]
    }

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

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

    {
        "version": "2.0",
        "statement": [
            {
                "action": "cdb:*",
                "resource": "qcs::cdb:ap-guangzhou::instanceId/cdb-xxx",
                "effect": "allow"
            }
        ]
    }

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

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

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

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

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

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

    自定义策略

    如果您觉得预设策略不能满足您所想要的要求,您也可以创建自定义策略。若按照资源进行授权,针对不支持资源级权限的云数据库 API 操作,您仍可以向用户授予使用该操作的权限,但策略语句的资源元素必须指定为 *。

    自定义的策略语法如下:

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