如果系统权限策略不能满足您的要求,您可以创建自定义权限策略实现最小授权。使用自定义权限策略有助于实现权限的精细化管控,是提升资源访问安全的有效手段。本文介绍云消息队列 Kafka 版使用自定义权限策略的场景和策略示例。
什么是自定义权限策略
在基于RAM的访问控制体系中,自定义权限策略是指在系统权限策略之外,您可以自主创建、更新和删除的权限策略。自定义权限策略的版本更新需由您来维护。
创建自定义权限策略后,需为RAM用户、用户组或RAM角色绑定权限策略,这些RAM身份才能获得权限策略中指定的访问权限。
已创建的权限策略支持删除,但删除前需确保该策略未被引用。如果该权限策略已被引用,您需要在该权限策略的引用记录中移除授权。
自定义权限策略支持版本控制,您可以按照RAM规定的版本管理机制来管理您创建的自定义权限策略版本。
操作文档
自定义权限策略
云消息队列 Kafka 版支持以下自定义权限策略。
Action名称 | 权限说明 | 是否为只读类权限 |
ReadOnly | 只读所有资源 | 是 |
ListInstance | 查看实例 | 是 |
StartInstance | 部署实例 | 否 |
UpdateInstance | 更新实例配置 | 否 |
ReleaseInstance | 释放实例 | 否 |
ListTopic | 查看Topic | 是 |
CreateTopic | 创建Topic | 否 |
UpdateTopic | 更新Topic配置 | 否 |
DeleteTopic | 删除Topic | 否 |
ListGroup | 查看Group | 是 |
CreateGroup | 创建Group | 否 |
UpdateGroup | 更新Group配置 | 否 |
DeleteGroup | 删除Group | 否 |
QueryMessage | 查询消息 | 是 |
SendMessage | 发送消息 | 否 |
DownloadMessage | 下载消息 | 是 |
CreateMessageSearch | 开通消息检索 | 否 |
OperateMessageSearch | 启停消息检索 | 否 |
ListMessageSearch | 查看消息检索 | 是 |
DeleteMessageSearch | 删除消息检索任务 | 否 |
CreateDeployment |
| 否 |
DeleteDeployment |
| 否 |
ListDeployments | 查看Connector任务 | 是 |
UpdateDeploymentRemark | 修改Connector任务说明 | 否 |
GetDeploymentLog | 获取Connector任务运行日志 | 是 |
OperateDeployment | 启停Connector任务 | 否 |
CreateOtsSinkDeployment | 创建Tablestore Sink Connector任务 | 否 |
OperateOtsSinkDeployment | 启停Tablestore Sink Connector任务 | 否 |
DeleteOtsSinkDeployment | 删除Tablestore Sink Connector任务 | 否 |
CreateAdbSinkDeployment | 创建AnalyticDB Sink Connector任务 | 否 |
OperateAdbSinkDeployment | 启停AnalyticDB Sink Connector任务 | 否 |
DeleteAdbSinkDeployment | 删除AnalyticDB Sink Connector任务 | 否 |
EnableAcl | 开启ACL | 否 |
CreateAcl | 创建ACL | 否 |
DeleteAcl | 删除ACL | 否 |
ListAcl | 查询ACL | 是 |
CreateSaslUser | 创建SASL用户 | 否 |
DeleteSaslUser | 删除SASL用户 | 否 |
ListSaslUser | 查询SASL用户 | 是 |
CreateETLTask | 创建数据处理任务 | 否 |
ListETLTask | 查询数据处理任务 | 是 |
DeleteETLTask | 删除数据处理任务 | 否 |
自定义权限策略示例
以自己创建的自定义权限策略AliyunKafkaCustomAccess为例,被授予该权限策略的RAM用户只具有实例alikafka_post-cn-xxx的查看实例、查看Topic、查看Group、查询消息和下载消息的控制台和API的权限。策略内容如下:
{
"Version": "1",
"Statement": [
{
"Action": [
"alikafka:ListInstance",
"alikafka:ListTopic",
"alikafka:ListGroup",
"alikafka:QueryMessage",
"alikafka:DownloadMessage"
],
"Resource": "acs:alikafka:*:*:alikafka_post-cn-xxx",
"Effect": "Allow"
}
]
}