如果系统权限策略不能满足您的要求,您可以创建自定义权限策略实现最小授权。使用自定义权限策略有助于实现权限的精细化管控,是提升资源访问安全的有效手段。本文介绍云数据库 Tair(兼容 Redis)使用自定义权限策略的场景和策略示例。
什么是自定义权限策略
在基于RAM的访问控制体系中,自定义权限策略是指在系统权限策略之外,您可以自主创建、更新和删除的权限策略。自定义权限策略的版本更新需由您来维护。
创建自定义权限策略后,需为RAM用户、用户组或RAM角色绑定权限策略,这些RAM身份才能获得权限策略中指定的访问权限。
已创建的权限策略支持删除,但删除前需确保该策略未被引用。如果该权限策略已被引用,您需要在该权限策略的引用记录中移除授权。
自定义权限策略支持版本控制,您可以按照RAM规定的版本管理机制来管理您创建的自定义权限策略版本。
操作文档
常见自定义权限策略场景及示例
常见的自定义权限策略示例如下,您只需将下述示例代码中的实例ID
替换为实际的实例ID。
管理单个实例的所有权限
以下策略表示:您具有管理指定实例的所有权限。
{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": "kvstore:*", "Resource": "acs:kvstore:*:*:*/<实例ID>", "Condition": {} }, { "Action": "kvstore:Describe*", "Resource": "*", "Effect": "Allow" } ] }
管理多个实例的所有权限
以下策略表示:您具有管理多个指定实例的所有权限。
{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": "kvstore:*", "Resource": [ "acs:kvstore:*:*:*/<实例ID>", "acs:kvstore:*:*:*/<实例ID>" ], "Condition": {} }, { "Action": "kvstore:Describe*", "Resource": "*", "Effect": "Allow" } ] }
管理指定标签(Tag)实例的所有权限
以下策略表示:您具有管理指定标签(例如下方中的
TagKey:TagValue
标签)实例的所有权限,但不支持新增或删除标签。{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": [ "kvstore:DescribeInstances", "kvstore:ListTagResources", "kvstore:DescribeParameterTemplates", "kvstore:DescribeHistoryMonitorValues", "sts:AssumeRole", "hdm:*" ], "Resource": "*" }, { "Effect": "Deny", "Action": [ "kvstore:TagResources", "kvstore:UntagResources" ], "Resource": "*" }, { "Effect": "Allow", "Action": "kvstore:*", "Resource": "*", "Condition": { "StringEquals": { "acs:ResourceTag/TagKey": [ "TagValue" ] } } } ] }
修改单个实例的白名单权限
以下策略表示:您具有修改指定实例IP白名单的权限。
{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": "kvstore:ModifySecurityIps", "Resource": "acs:kvstore:*:*:*/<实例ID>", "Condition": {} }, { "Action": "kvstore:Describe*", "Resource": "*", "Effect": "Allow" } ] }
离线全量Key分析的权限
以下策略表示:您具有对指定实例进行离线全量Key分析的权限。
{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": [ "hdm:CreateCacheAnalysisTask", "hdm:DescribeCacheAnalysisReportList", "hdm:DescribeCacheAnalysisReport", "hdm:CreateCacheAnalysisJob", "hdm:DescribeCacheAnalysisJob", "hdm:DescribeCacheAnalysisJobs", "hdm:GetInstanceLatestBackup" ], "Resource": "acs:kvstore:*:*:instance/<实例ID>", "Condition": {} }, { "Action": "ram:CreateServiceLinkedRole", "Resource": "*", "Effect": "Allow", "Condition": { "StringEquals": { "ram:ServiceName": "hdm.aliyuncs.com" } } } ] }
授权信息参考
使用自定义权限策略,您需要了解业务的权限管控需求,并了解云数据库 Tair(兼容 Redis)的授权信息。详细内容请参见授权信息。