控制台示例

最近更新时间:2019-04-16 12:20:28

注意:

云数据库 MariaDB 支持访问管理 CAM 功能,自2018年12月6日起进行公测。您可以通过策略语法进行配置。

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

您可以通过使用 CAM (Cloud Access Management,访问管理)策略让用户拥有在云数据库控制台中查看和使用特定资源的权限。该部分的示例能够使用户使用控制台的特定部分的策略。公测期间,仅支持“按策略语法创建”方式配置云数据库 MariaDB 支持访问管理 CAM 功能。访问入口为【访问管理】>【策略】>【新建自定义策略】>【按策略语法创建】>【自定义】,如下流程:

注意:

云数据库 MariaDB(TDSQL) 的在访问控制的接口关键词为 mariadb;详情请参考 产品更名详情

第一步、创建自定义策略语法

1.进入策略语法配置页面

2.选择空白模板并下一步

3.填入对应的策略语法

第二步、关联子帐号/协作者并验证

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

  • 您能正常访问预期目标产品和资源,并拥有预期的全部功能。
  • 访问其他未授权产品或资源时提示“您没有权限执行此操作”。

注意:

  • 为避免多个策略语法影响,建议一次只让子帐号关联一个策略。
  • 修改某帐号访问控制权限后,预估会有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"
        }
    ]
}

说明:

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

其他自定义策略

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

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

公测期间可支持的操作权限

操作名 API 名 配置后控制台是否可以生效
查看实例列表 DescribeDBInstances YES
修改实例名称 ModifyDBInstanceName NO
实例扩容 UpgradeDBInstance NO
修改实例所属项目 ModifyDBInstancesProject NO
开放外网地址 OpenDBExtranetAccess NO
关闭外网地址 CloseDBExtranetAccess NO
查询实例续费价格 DescribeRenewalPrice NO
查询实例升级价格 DescribeUpgradePrice NO
初始化实例 InitDBInstances NO
续费实例 RenewDBInstance NO
获取自定义备份时间 DescribeBackupTime NO
设置自定义备份时间 ModifyBackupTime NO
创建帐号 CreateAccount YES
查看帐号列表 DescribeAccounts YES
删除帐号 DeleteAccount YES
设置权限 GrantAccountPrivileges YES
获取权限列表 DescribeAccountPrivileges YES
复制权限 CopyAccountPrivileges YES
修改帐号备注 ModifyAccountDescription NO
重置帐号密码 ResetAccountPassword YES
获取日志列表 DescribeDBLogFiles YES
查看数据库参数 DescribeDBParameters NO
修改数据库参数 ModifyDBParameters NO
查看备份日志设置 DescribeLogFileRetentionPeriod NO
修改备份日志设置 ModifyLogFileRetentionPeriod NO
查看实例资源使用情况 DescribeDBResourceUsage NO
查看实例性能数据 DescribeDBPerformance NO
查看实例资源使用详情 DescribeDBResourceUsageDetails NO
查看实例性能数据详情 DescribeDBPerformanceDetails NO
获取慢查询记录详情 DescribeDBSlowLogAnalysis NO
查询慢查询日志列表 DescribeDBSlowLogs NO
克隆帐号 CloneAccount YES
获取SQL日志 DescribeSqlLogs NO