更新时间:2024-08-23 GMT+08:00

数据库安全服务 DBSS

Organizations服务中的服务控制策略(Service Control Policies,以下简称SCP)可以使用这些授权项元素设置访问控制策略。

SCP不直接进行授权,只划定权限边界。将SCP绑定到组织单元或者成员账号时,并没有直接对组织单元或成员账号授予操作权限,而是规定了成员账号或组织单元包含的成员账号的授权范围。

本章节介绍组织服务中SCP使用的元素,这些元素包含了操作(Action)、资源(Resource)和条件(Condition)。

如何使用这些元素编辑SCP自定义策略,请参考创建SCP

操作(Action)

操作(Action)即为SCP策略中支持的授权项。

  • “访问级别”列描述如何对操作进行分类(list、read和write等)。此分类可帮助您了解在SCP策略中相应操作对应的访问级别。
  • “资源类型”列指每个操作是否支持资源级权限。
    • 资源类型支持通配符号*表示所有。如果此列没有值(-),则必须在SCP策略语句的Resource元素中指定所有资源类型(“*”)。
    • 如果该列包含资源类型,则必须在具有该操作的语句中指定该资源的URN。
    • 资源类型列中必需资源在表中用星号(*)标识,表示使用此操作必须指定该资源类型。

    关于DBSS定义的资源类型的详细信息请参见资源类型(Resource)

  • “条件键”列包括了可以在SCP策略语句的Condition元素中支持指定的键值。
    • 如果该授权项资源类型列存在值,则表示条件键仅对列举的资源类型生效。
    • 如果该授权项资源类型列没有值(-),则表示条件键对整个授权项生效。
    • 如果此列条件键没有值(-),表示此操作不支持指定条件键。

    关于DBSS定义的条件键的详细信息请参见条件(Condition)

您可以在SCP策略语句的Action元素中指定以下DBSS的相关操作。

表1 dbss支持的授权项

操作项

描述

访问级别

资源类型(*为必须)

条件键

dbss:auditInstance:listSqlInjectRules

授予权限以查询SQL注入规则。

list

dbss:<region>:<account-id>:auditInstance:<instance-id>

-

dbss:auditInstance:listSqls

授予权限以获取审计结果信息。

list

dbss:<region>:<account-id>:auditInstance:<instance-id>

-

dbss:auditInstance:switchSqlInjectRule

授予权限以开启或关闭sql注入策略。

write

dbss:<region>:<account-id>:auditInstance:<instance-id>

-

dbss:auditInstance:addSqlInjectRule

授予权限以添加自定义sql注入规则。

write

dbss:<region>:<account-id>:auditInstance:<instance-id>

-

dbss:auditInstance:orderSqlInjectRule

授予权限以对sql规则优先级进行排序。

write

dbss:<region>:<account-id>:auditInstance:<instance-id>

-

dbss:auditInstance:createReporter

授予权限以立即生成报表。

write

dbss:<region>:<account-id>:auditInstance:<instance-id>

-

dbss:auditInstance:listReporters

授予权限以查询报表信息。

list

dbss:<region>:<account-id>:auditInstance:<instance-id>

-

dbss:auditInstance:getRiskRuleDetail

授予权限以查询指定风险规则策略。

read

dbss:<region>:<account-id>:auditInstance:<instance-id>

-

dbss:auditInstance:listAlarmEmails

授予权限以查询告警邮件信息。

list

dbss:<region>:<account-id>:auditInstance:<instance-id>

-

dbss:auditInstance:downloadReporter

授予权限以下载报表。

read

dbss:<region>:<account-id>:auditInstance:<instance-id>

-

dbss:auditInstance:listAuditScopeRules

授予权限以查询审计范围策略列表。

list

dbss:<region>:<account-id>:auditInstance:<instance-id>

-

dbss:auditInstance:addSensitiveRule

授予权限以添加隐私数据保护规则。

write

dbss:<region>:<account-id>:auditInstance:<instance-id>

-

dbss:auditInstance:editSensitiveRule

授予权限以编辑隐私数据保护规则。

write

dbss:<region>:<account-id>:auditInstance:<instance-id>

-

dbss:auditInstance:deleteReporter

授予权限以删除报表。

write

dbss:<region>:<account-id>:auditInstance:<instance-id>

-

dbss:auditInstance:listOperateLog

授予权限以查询用户操作日志信息。

list

dbss:<region>:<account-id>:auditInstance:<instance-id>

-

dbss:auditInstance:listMonitorInfos

授予权限以查询审计实例监控信息。

list

dbss:<region>:<account-id>:auditInstance:<instance-id>

-

dbss:auditInstance:listSessionInfo

授予权限以查询审计实例会话信息。

list

dbss:<region>:<account-id>:auditInstance:<instance-id>

-

dbss:auditInstance:switchBackup

授予权限以开启或关闭备份功能。

write

dbss:<region>:<account-id>:auditInstance:<instance-id>

-

dbss::downloadLicense

授予权限以下载销售许可证。

read

-

-

dbss::deleteAuditInstanceJob

授予权限以删除审计实例创建失败的任务。

write

-

-

dbss::listRdsDb

授予权限以查询RDS数据库。

list

-

-

dbss:auditInstance:instanceStart

授予权限以开启审计实例。

write

dbss:<region>:<account-id>:auditInstance:<instance-id>

-

dbss:auditInstance:reboot

授予权限以重启审计实例。

write

dbss:<region>:<account-id>:auditInstance:<instance-id>

-

dbss:auditInstance:stop

授予权限以关闭审计实例。

write

dbss:<region>:<account-id>:auditInstance:<instance-id>

-

dbss:auditInstance:upgrade

授予权限以升级审计实例。

write

dbss:<region>:<account-id>:auditInstance:<instance-id>

-

dbss::queryUpgradeStatus

授予权限以查询审计实例升级状态。

list

-

-

dbss:auditInstance:updateSecurityGroup

授予权限以修改审计实例安全组。

write

dbss:<region>:<account-id>:auditInstance:<instance-id>

-

dbss:auditInstance:modifyAttribute

授予权限以修改审计实例审计属性。

write

dbss:<region>:<account-id>:auditInstance:<instance-id>

-

dbss:auditInstance:downloadAgent

授予权限以下载agent。

read

dbss:<region>:<account-id>:auditInstance:<instance-id>

-

dbss:auditInstance:switchAgent

授予权限以开启或关闭Agent。

write

dbss:<region>:<account-id>:auditInstance:<instance-id>

-

dbss:auditInstance:listAgents

授予权限以获取agent列表。

list

dbss:<region>:<account-id>:auditInstance:<instance-id>

-

dbss:auditInstance:deleteAgent

授予权限以删除agent。

write

dbss:<region>:<account-id>:auditInstance:<instance-id>

-

dbss:auditInstance:addAgent

授予权限以添加agent。

write

dbss:<region>:<account-id>:auditInstance:<instance-id>

-

dbss:auditInstance:previewReporter

授予权限以预览报表。

read

dbss:<region>:<account-id>:auditInstance:<instance-id>

-

dbss:auditInstance:setAlarmConfig

授予权限以配置告警信息。

write

dbss:<region>:<account-id>:auditInstance:<instance-id>

-

dbss:auditInstance:configAlarmEmail

授予权限以配置告警邮件信息。

write

dbss:<region>:<account-id>:auditInstance:<instance-id>

-

dbss:auditInstance:getAlarmConfig

授予权限以查询告警配置信息。

read

dbss:<region>:<account-id>:auditInstance:<instance-id>

-

dbss:auditInstance:listRiskRules

授予权限以查询风险规则策略。

list

dbss:<region>:<account-id>:auditInstance:<instance-id>

-

dbss:auditInstance:exportInstancesDatabaseConfig

授予权限以导出数据库配置。

list

dbss:<region>:<account-id>:auditInstance:<instance-id>

-

dbss:auditInstance:createOnPeriod

授予权限以包年包月计费模式创建审计实例。

write

dbss:<region>:<account-id>:auditInstance:<instance-id>

  • g:EnterpriseProjectId
  • g:RequestTag/<tag-key>
  • g:TagKeys

dbss:auditInstance:editSqlInjectRule

授予权限以编辑自定义sql注入规则。

write

dbss:<region>:<account-id>:auditInstance:<instance-id>

-

dbss:auditInstance:deleteSqlInjectRule

授予权限以删除自定义sql注入规则。

write

dbss:<region>:<account-id>:auditInstance:<instance-id>

-

dbss:auditInstance:deleteSensitiveRule

授予权限以删除隐私数据保护规则。

write

dbss:<region>:<account-id>:auditInstance:<instance-id>

-

dbss:auditInstance:deleteAuditScopeRule

授予权限以删除审计范围规则。

write

dbss:<region>:<account-id>:auditInstance:<instance-id>

-

dbss:auditInstance:deleteRiskRule

授予权限以删除风险规则。

write

dbss:<region>:<account-id>:auditInstance:<instance-id>

-

dbss:auditInstance:deleteBackup

授予权限以删除本地备份信息。

write

dbss:<region>:<account-id>:auditInstance:<instance-id>

-

dbss:auditInstance:listBackups

授予权限以查询备份信息。

list

dbss:<region>:<account-id>:auditInstance:<instance-id>

-

dbss:auditInstance:getBackupConfig

授予权限以获取备份配置信息。

read

dbss:<region>:<account-id>:auditInstance:<instance-id>

-

dbss:auditInstance:editAuditScopeRule

授予权限以编辑审计范围规则。

write

dbss:<region>:<account-id>:auditInstance:<instance-id>

-

dbss:auditInstance:instanceList

授予权限以查询审计实例信息。

list

dbss:<region>:<account-id>:auditInstance:<instance-id>

-

dbss:auditInstance:createOnDemand

授予权限以按需模式创建审计实例。

write

dbss:<region>:<account-id>:auditInstance:<instance-id>

  • g:EnterpriseProjectId
  • g:RequestTag/<tag-key>
  • g:TagKeys

dbss::listCommonInfo

授予权限以查询公共信息。

list

-

-

dbss:auditInstance:listInstancesSummaryInfo

授予权限以查询所有审计实例总览信息。

list

dbss:<region>:<account-id>:auditInstance:<instance-id>

-

dbss::getauditInstancesSummaryTaskStatus

授予权限以查询总览任务状态。

read

-

-

dbss::updateAuditInstancesSummaryInfo

授予权限以更新所有审计实例总览信息。

write

-

-

dbss:auditInstance:setReporterConfig

授予权限以更改报表的计划任务配置信息。

write

dbss:<region>:<account-id>:auditInstance:<instance-id>

-

dbss:auditInstance:getReporterConfig

授予权限以获取报表的计划任务配置信息。

read

dbss:<region>:<account-id>:auditInstance:<instance-id>

-

dbss:auditInstance:addBareDatabase

授予权限以添加自建数据库。

write

dbss:<region>:<account-id>:auditInstance:<instance-id>

-

dbss:auditInstance:listDatabases

授予权限以查询数据库列表。

list

dbss:<region>:<account-id>:auditInstance:<instance-id>

-

dbss:auditInstance:switchDatabase

授予权限以开启关闭数据库审计功能。

write

dbss:<region>:<account-id>:auditInstance:<instance-id>

-

dbss:auditInstance:deleteDatabase

授予权限以删除数据库。

write

dbss:<region>:<account-id>:auditInstance:<instance-id>

-

dbss:auditInstance:addAuditScopeRule

授予权限以添加审计范围规则。

write

dbss:<region>:<account-id>:auditInstance:<instance-id>

-

dbss:auditInstance:switchAuditScopeRule

授予权限以开启关闭审计范围规则。

write

dbss:<region>:<account-id>:auditInstance:<instance-id>

-

dbss:auditInstance:addRiskRule

授予权限以添加风险规则。

write

dbss:<region>:<account-id>:auditInstance:<instance-id>

-

dbss:auditInstance:switchRiskRule

授予权限以开启或关闭风险规则。

write

dbss:<region>:<account-id>:auditInstance:<instance-id>

-

dbss:auditInstance:editRiskRule

授予权限以编辑风险规则。

write

dbss:<region>:<account-id>:auditInstance:<instance-id>

-

dbss:auditInstance:setRiskRulePriority

授予权限以设置风险规则优先级。

write

dbss:<region>:<account-id>:auditInstance:<instance-id>

-

dbss:auditInstance:listStatistics

授予权限以查询审计实例概览信息。

list

dbss:<region>:<account-id>:auditInstance:<instance-id>

-

dbss:auditInstance:listSensitiveRules

授予权限以查询隐私数据脱敏规则。

list

dbss:<region>:<account-id>:auditInstance:<instance-id>

-

dbss:auditInstance:modifySensitiveRuleSaveResultSwitch

授予权限以开启关闭存储结果集开关。

write

dbss:<region>:<account-id>:auditInstance:<instance-id>

-

dbss:auditInstance:modifySensitiveRuleAnonymizeSwitch

授予权限以开启关闭隐私数据脱敏开关。

write

dbss:<region>:<account-id>:auditInstance:<instance-id>

-

dbss:auditInstance:switchSensitiveRule

授予权限以开启或关闭隐私数据保护规则。

write

dbss:<region>:<account-id>:auditInstance:<instance-id>

-

dbss:auditInstance:listAlarmItems

授予权限以查询告警信息。

list

dbss:<region>:<account-id>:auditInstance:<instance-id>

-

dbss:auditInstance:markAlarm

授予权限以标记告警信息。

write

dbss:<region>:<account-id>:auditInstance:<instance-id>

-

dbss:auditInstance:deleteAlarm

授予权限以删除告警信息。

write

dbss:<region>:<account-id>:auditInstance:<instance-id>

-

dbss:auditInstance:restoreBackup

授予权限以恢复备份信息。

write

dbss:<region>:<account-id>:auditInstance:<instance-id>

-

dbss:auditInstance:retryBackup

授予权限以重试备份操作。

write

dbss:<region>:<account-id>:auditInstance:<instance-id>

-

dbss:auditInstance:getRiskBackupConfigInfo

授予权限以获取风险导出配置信息。

read

dbss:<region>:<account-id>:auditInstance:<instance-id>

-

dbss:auditInstance:switchRiskBackup

授予权限以开启关闭风险导出功能。

write

dbss:<region>:<account-id>:auditInstance:<instance-id>

-

dbss:auditInstance:getRiskBackupBucketInfo

授予权限以获取风险导出obs桶信息。

read

dbss:<region>:<account-id>:auditInstance:<instance-id>

-

dbss:auditInstance:setRiskBackupBucketInfo

授予权限以设置风险导出obs桶信息。

write

dbss:<region>:<account-id>:auditInstance:<instance-id>

-

dbss:auditInstance:addRdsDatabase

授予权限以添加RDS数据库。

write

dbss:<region>:<account-id>:auditInstance:<instance-id>

-

dbss::getServerInfo

授予权限以获取DBSS服务信息。

read

-

-

dbss::getAuditInstanceJob

授予权限以查看审计实例任务创建信息。

read

-

-

dbss:auditInstance:listJobs

授予权限以列举审计实例任务创建信息。

list

dbss:<region>:<account-id>:auditInstance:<instance-id>

-

dbss::listObsBuckets

授予权限以查询obs桶列表。

list

-

-

dbss:auditInstance:instanceDelete

授予权限以删除审计实例。

write

dbss:<region>:<account-id>:auditInstance:<instance-id>

-

dbss::listResourcesByTag

授予权限以根据标签信息查询审计实例。

tagging

-

  • g:RequestTag/<tag-key>
  • g:TagKeys

dbss::tagResource

授予权限以批量添加实例标签。

tagging

-

  • g:RequestTag/<tag-key>
  • g:TagKeys

dbss::unTagResource

授予权限以批量删除实例标签。

tagging

-

  • g:RequestTag/<tag-key>
  • g:TagKeys

dbss::listTags

授予权限以查询项目下的所有标签。

tagging

-

-

dbss::listTagsForResource

授予权限以查询实例标签信息。

tagging

-

-

DBSS的API通常对应着一个或多个操作项。表2展示了API与操作项的关系,以及该API需要依赖的操作项。

表2 API与操作项的关系

API

对应的操作项

依赖的操作项

POST /v1/{project_id}/{instance_id}/audit/rule/risk/switch

dbss:auditInstance:switchRiskRule

-

POST /v1/{project_id}/{instance_id}/audit/agent/switch

dbss:auditInstance:switchAgent

-

GET /v1/{project_id}/dbss/audit/quota

dbss::listCommonInfo

-

GET /v1/{project_id}/dbss/audit/specification

dbss::listCommonInfo

-

GET /v2/{project_id}/dbss/audit/availability-zone

dbss::listCommonInfo

-

POST /v1/{project_id}/{instance_id}/dbss/audit/operate-log

dbss:auditInstance:listOperateLog

-

POST /v1/{project_id}/dbss/audit/security-group

dbss:auditInstance:updateSecurityGroup

-

GET /v1/{project_id}/dbss/audit/instances

dbss:auditInstance:instanceList

-

GET /v1/{project_id}/dbss/audit/jobs/{resource_id}

dbss:auditInstance:listJobs

-

POST /v2/{project_id}/dbss/audit/charge/period/order

dbss:auditInstance:createOnPeriod

dbss::listCommonInfo

GET /v1/{project_id}/{instance_id}/dbss/audit/databases

dbss:auditInstance:listDatabases

-

POST /v1/{project_id}/{instance_id}/dbss/audit/databases/rds

dbss:auditInstance:addRdsDatabase

-

GET /v1/{project_id}/{resource_type}/tags

dbss::listTags

-

POST /v1/{project_id}/{resource_type}/resource-instances/filter

dbss::listResourcesByTag

-

POST /v1/{project_id}/{resource_type}/resource-instances/count

dbss::listResourcesByTag

-

POST /v1/{project_id}/{resource_type}/{resource_id}/tags/create

dbss::tagResource

-

DELETE /v1/{project_id}/{resource_type}/{resource_id}/tags/delete

dbss::unTagResource

-

GET /v1/{project_id}/{instance_id}/dbss/audit/rule/scopes

dbss:auditInstance:listAuditScopeRules

-

POST /v1/{project_id}/{instance_id}/dbss/audit/rule/sql-injections

dbss:auditInstance:listSqlInjectRules

-

GET /v1/{project_id}/{instance_id}/dbss/audit/rule/risk

dbss:auditInstance:listRiskRules

-

GET /v1/{project_id}/{instance_id}/dbss/audit/rule/risk/{risk_id}

dbss:auditInstance:getRiskRuleDetail

-

GET /v1/{project_id}/{instance_id}/dbss/audit/sensitive/masks

dbss:auditInstance:listSensitiveRules

-

资源类型(Resource)

DBSS服务不支持在身份策略中的资源中指定资源进行权限控制。如需允许访问DBSS服务,请在身份策略的Resource元素中使用通配符号*,表示身份策略将应用到所有资源。

表3 dbss支持的资源类型

资源类型

URN

条件键

auditInstance

dbss:<region>:<account-id>:auditInstance:<instance-id>

  • g:EnterpriseProjectId
  • g:ResourceTag/<tag-key>

条件(Condition)

DBSS服务不支持在身份策略中的条件键中配置服务级的条件键。DBSS可以使用适用于所有服务的全局条件键,请参考全局条件键