云数据库访问管理策略示例
您可以通过使用 CAM 策略让用户拥有在云数据库控制台中查看和使用特定资源的权限。该部分的示例能够使用户使用控制台的特定部分的策略。目前仅支持按策略语法创建方式配置云数据库 MariaDB 支持访问管理 CAM 功能。
注意:
云数据库 MariaDB 在访问管理的接口关键词为 mariadb。
第一步、创建自定义策略语法
1. 进入 策略语法 配置页面,单击新建自定义策略。
2. 在弹出的对话框,选择按策略语法创建。
3. 选择空白模板并单击下一步。
4. 填入对应的策略语法。
第二步、关联子账号/协作者并验证
创建策略完成后,选择关联用户/组。关联完成后,更换浏览器(或主机),通过使用子账号/协作者验证是否正常。如果策略语法写作无误,您可以观察到:
您能正常访问预期目标产品和资源,并拥有预期的全部功能。
访问其他未授权产品或资源时提示“您没有权限执行此操作”。
注意:
为避免多个策略语法影响,建议一次只让子账号关联一个策略。
修改某账号访问控制权限后,预估会有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-guangzhou::instance/tdsql-xxx","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"}]}
拒绝用户拥有云数据库的创建数据库账号权限
如果您想要拒绝某用户拥有创建数据库账号权限,可做如下配置,即配置
"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 中换成允许或者拒绝。