有奖捉虫:云通信与企业服务文档专题,速来> HOT
您可以使用访问管理 CAM 策略让用户拥有在云数据库控制台中查看和使用特定资源的权限。该部分的示例能够使用户使用控制台的特定部分的策略。

云数据库的全读写策略

如果您想让用户拥有创建和管理云数据库实例的权限,您可以对该用户使用名称为:QcloudCDBFullAccess 的策略。
进入 策略管理 界面,在右上角搜索框搜索 QcloudCDBFullAccess,即可找到该策略。

策略语法如下:
{
"statement": [
{
"action": [
"cdb:*"
],
"effect": "allow",
"resource": "*"
},
{
"action": [
"vpc:*"
],
"effect": "allow",
"resource": "*"
},
{
"action": [
"cvm:*"
],
"effect": "allow",
"resource": "qcs::cvm:::sg/*"
},
{
"action": [
"cos:*"
],
"effect": "allow",
"resource": "*"
},
{
"action": [
"monitor:*",
"cam:ListUsersForGroup",
"cam:ListGroups",
"cam:GetGroup"
],
"effect": "allow",
"resource": "*"
},
{
"action": [
"kms:CreateKey",
"kms:GenerateDataKey",
"kms:Decrypt",
"kms:ListKey"
],
"effect": "allow",
"resource": "*"
}
],
"version": "2.0"
}
以上策略是通过让用户分别对云数据库、私有网络、安全组、对象存储、密钥管理服务和 Monitor 中所有资源进行 CAM 策略授权来达到目的。

云数据库的只读策略

如果您只想让用户拥有查询云数据库实例的权限,但是不具有创建、删除和修改的权限,您可以对该用户使用名称为:QcloudCDBInnerReadOnlyAccess 的策略。
说明
建议配置云数据库的只读策略。
您可以进入 策略管理 界面,单击列项服务类型在下拉选项中选择云数据库 MySQL,就可以在结果中找到该策略。
策略语法如下:
{
"statement": [
{
"action": [
"cdb:Describe*"
],
"effect": "allow",
"resource": "*"
}
],
"version": "2.0"
}

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

如果您想要让用户只拥有查询云数据库实例及相关资源(私有网络、安全组、对象存储、Monitor)的权限,但不允许该用户拥有创建、删除和修改等操作的权限,您可以对该用户使用名称为:QcloudCDBReadOnlyAccess 的策略。
您可以进入 策略管理 界面,单击列项服务类型在下拉选项中选择云数据库 MySQL,就可以在结果中找到该策略。
策略语法如下:
{
"statement": [
{
"action": [
"cdb:Describe*"
],
"effect": "allow",
"resource": "*"
},
{
"action": [
"monitor:Describe*",
"monitor:Get*",
"cam:ListUsersForGroup",
"cam:ListGroups",
"cam:GetGroup"
],
"effect": "allow",
"resource": "*"
}
],
"version": "2.0"
}
以上策略是通过让用户分别对如下操作进行 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 中换成允许或者拒绝。