有奖:语音产品征文挑战赛火热进行中> HOT

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

您可以通过使用 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 中换成允许或者拒绝。