消息队列Kafka版的控制台和API的权限管理通过访问控制RAM(Resource Access Management)实现。RAM可以让您避免与其他用户共享阿里云云账号密钥,即AccessKey(包含AccessKey ID和AccessKey Secret),按需为其他用户分配最小权限。

RAM权限策略

在RAM中,权限策略是用语法结构描述的一组权限的集合,可以精确地描述被授权的资源集、操作集以及授权条件。权限策略是描述权限集的一种简单语言规范,RAM支持的语言规范请参见权限策略语法和结构

在RAM中,权限策略是一种资源实体。消息队列Kafka版支持以下两种类型的权限策略:

  • 系统权限策略:统一由阿里云创建,您只能使用不能修改,策略的版本更新由阿里云维护,适用于粗粒度地控制RAM用户权限。
  • 自定义权限策略:您可以自主创建、更新和删除,策略的版本更新由您自己维护,适用于细粒度地控制RAM用户权限。

系统权限策略

消息队列Kafka版支持以下系统权限策略。

权限策略名称 说明
AliyunKafkaFullAccess 消息队列Kafka版的管理权限,被授予该权限的RAM用户具有等同于阿里云账号的权限,即控制台和API的所有操作权限。
AliyunKafkaReadOnlyAccess 消息队列Kafka版的只读权限,被授予该权限的RAM用户只具有阿里云账号所有资源的只读权限,不具有控制台和API的操作权限。

系统权限策略示例

以系统权限策略AliyunKafkaFullAccess为例,被授予该权限的RAM用户具有等同于阿里云账号的权限,即控制台和API的所有操作权限。策略内容如下:

{
    "Version": "1",
    "Statement": [
        {
            "Action": "alikafka:*",
            "Resource": "*",
            "Effect": "Allow"
        }
    ]
}

自定义权限策略

消息队列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 下载消息
CreateDeployment
  • 创建FC Sink Connector任务
  • 创建MaxCompute Sink Connector任务
  • 创建OSS Sink Connector任务
  • 创建Elasticsearch Sink Connector任务
  • 创建MySQL Source Connector任务
  • 创建DLA Sink Connector任务
DeleteDeployment
  • 删除FC Sink Connector任务
  • 删除MaxCompute Sink Connector任务
  • 删除OSS Sink Connector任务
  • 删除Elasticsearch Sink Connector任务
  • 删除MySQL Source Connector任务
  • 删除DLA Sink Connector任务
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 创建ETL任务
ListETLTask 查询ETL任务
DeleteETLTask 删除ETL任务

自定义权限策略示例

以自己创建的自定义权限策略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"
        }
    ]
}