创建用户并授权使用DCS
如果您需要对您所拥有的DCS服务进行精细的权限管理,您可以使用统一身份认证服务(Identity and Access Management,简称IAM),通过IAM,您可以:
- 根据企业的业务组织,在您的帐号中,给企业中不同职能部门的员工创建IAM用户,让员工拥有唯一安全凭证,并使用DCS资源。
- 根据企业用户的职能,设置不同的访问权限,以达到用户之间的权限隔离。
- 将DCS资源委托给更专业、高效的其他帐号或者云服务,这些帐号或者云服务可以根据权限进行代运维。
如果帐号已经能满足您的要求,不需要创建独立的IAM用户,您可以跳过本章节,不影响您使用DCS服务的其它功能。
本章节以创建用户并授予“DCS ReadOnlyAccess”权限为例,为您介绍对用户授权的方法,操作流程如下图所示。
前提条件
给用户组授权之前,请您了解用户组可以添加的DCS系统策略,并结合实际需求进行选择,DCS支持的系统策略及策略间的对比,请参见权限管理。若您需要对除DCS之外的其它服务授权,IAM支持服务的所有策略请参见权限集。
示例流程
给用户授权DCS权限流程
1.创建用户组并授权。
在IAM控制台创建用户组,并授予分布式缓存服务的只读权限“DCS ReadOnlyAccess”。
2.创建用户并加入用户组。
在IAM控制台创建用户,并将其加入1中创建的用户组。
3.用户登录并验证权限。
新创建的用户登录控制台,验证分布式缓存服务的只读权限。
DCS自定义策略
如果系统预置的DCS权限,不满足您的授权要求,可以创建自定义策略。
DCS的支持自定义策略授权项如下表所示。
DCS授权项明细
权限 | 授权项 | IAM项目(Project) | 企业项目(Enterprise Project) |
---|---|---|---|
创建缓存实例 | dcs:instance:create | √ | √ |
查询指定实例 | dcs:instance:get | √ | √ |
修改实例信息 | dcs:instance:modify | √ | √ |
删除实例 | dcs:instance:delete | √ | √ |
缓存实例扩容 | dcs:instance:scale | √ | √ |
查询实例列表 | dcs:instance:list | √ | √ |
查询实例配置信息 | dcs:instance:getConfiguration | √ | √ |
修改实例配置信息 | dcs:instance:modifyConfigureation | √ | √ |
重启实例或清空数据 | dcs:instance:modifyStatus | √ | √ |
修改实例密码 | dcs:instance:modifyAuthInfo | √ | √ |
备份实例数据 | dcs:instance:backupData | √ | √ |
恢复实例数据 | dcs:instance:restoreData | √ | √ |
查询备份任务 | dcs:instance:getDataBackupLog | √ | √ |
查询恢复任务 | dcs:instance:getDataRestoreLog | √ | √ |
删除备份文件 | dcs:instance:deleteDataBackupFile | √ | √ |
查询实例后台任务 | dcs:instance:getBackgroundTask | √ | √ |
删除后台任务 | dcs:instance:deleteBackgroundTask | √ | √ |
重置实例密码 | dcs:instance:resetAuthInfo | √ | √ |
下载备份文件 | dcs:instance:downloadBackupData | √ | √ |
实例数据迁移 | dcs:instance:migrateData | √ | √ |
Web CLI | dcs:instance:webcli | √ | √ |
创建迁移任务 | dcs:migrationTask:create | √ | X |
修改迁移任务配置或停止迁移任务 | dcs:migrationTask:modify | √ | X |
删除迁移任务 | dcs:migrationTask:delete | √ | X |
查询迁移任务列表 | dcs:migrationTask:list | √ | X |
查询迁移任务详情 | dcs:migrationTask:get | √ | X |
诊断实例 | dcs:instance:diagnosis | √ | √ |
查询参数模板列表 | dcs:template:list | √ | X |
创建参数模板 | dcs:template:create | √ | X |
实例主备倒换 | dcs:instance:swap | √ | √ |
修改实例白名单信息 | dcs:whitelist:modify | √ | √ |
获取实例白名单列表 | dcs:whitelist:list | √ | √ |
创建实例访问帐号 | dcs:aclaccount:create | √ | √ |
删除实例访问帐号 | dcs:aclaccount:delete | √ | √ |
修改实例访问帐号信息 | dcs:aclaccount:modify | √ | √ |
获取实例访问帐号列表 | dcs:aclaccount:list | √ | √ |
查询慢日志列表 | dcs:slowlog:list | √ | √ |
查询参数模板 | dcs:template:get | √ | X |
查询任务进度 | dcs:job:get | √ | √ |
查看实例审计日志 | dcs:auditlog:get | √ | √ |
查询实例升级信息 | dcs:instance:getUpgradeInfo | √ | √ |
查询实例SSL信息 | dcs:ssl:get | √ | √ |
重建域名解析 | dcs:domainname:rebuild | √ | √ |
实例间交换IP地址 | dcs:migrationTask:exchangeIp | √ | X |
实例交换IP后回滚 | dcs:migrationTask:rollbackIp | √ | X |
Kill Redis会话 | dcs:clients:kill | √ | √ |
修改参数模板 | dcs:template:modify | √ | X |
开启或关闭公网域名解析 | dcs:publicdomainname:update | √ | √ |
删除参数模板 | dcs:template:delete | √ | X |
释放历史域名解析 | dcs:histroydomainname:release | √ | √ |
升级实例版本 | dcs:instance:upgrade | √ | √ |
分析实例的大key或者热key | dcs:instance:analyze | √ | √ |
开启或关闭实例审计日志 | dcs:auditlog:modify | √ | √ |
开启或关闭客户端ip透传 | dcs:clientiptrans:modify | √ | √ |
修改实例SSL信息 | dcs:ssl:modify | √ | √ |
查询Redis会话列表 | dcs:clients:list | √ | √ |
目前云服务平台支持以下两种方式创建自定义策略:
- 可视化视图创建自定义策略:无需了解策略语法,按可视化视图导航栏选择云服务、操作、资源、条件等策略内容,可自动生成策略。
- JSON视图创建自定义策略:可以在选择策略模板后,根据具体需求编辑策略内容;也可以直接在编辑框内编写JSON格式的策略内容。
本章为您介绍常用的DCS自定义策略样例。
说明由于缓存的存在,对用户、用户组以及企业项目授予OBS相关的细粒度策略后,大概需要等待5分钟细粒度策略才能生效。
DCS自定义策略样例
- 示例1:授权用户删除缓存实例、重启实例及清空实例数据。
{
"Version": "1.1",
"Statement": [
{
"Effect": "Allow",
"Action": [
"
dcs:instance:delete
dcs:instance:modifyStatus
"
]
}
]
}
- 示例2:拒绝用户删除缓存实例
拒绝策略需要同时配合其他策略使用,否则没有实际作用。用户被授予的策略中,一个授权项的作用如果同时存在Allow和Deny,则遵循Deny优先。
如果您给用户授予DCS FullAccess的系统策略,但不希望用户拥有DCS FullAccess中定义的删除缓存实例权限,您可以创建一条拒绝删除缓存实例的自定义策略,然后同时将DCS FullAccess和拒绝策略授予用户,根据Deny优先原则,则用户可以对DCS执行除了删除缓存实例外的所有操作。拒绝策略示例如下:
{
"Version": "1.1",
"Statement": [
{
"Effect": "Deny",
"Action": [
"dcs:instance:delete"
]
}
]
}