4.7 新版生态云认证授权模型

优质
小牛编辑
132浏览
2023-12-01

权限模型介绍Talos中认证/授权相关的概念和配置规则

认证模型

Talos认证规则基于生态云用户管理模块,用户登录小米生态云,点击用户管理可见: user-manage
简单介绍一下图中概念:

  • User
    对应web页面中“用户”标签,是用户的小米账号,用于登陆生态云web页面;
  • Team
    对应web页面中“用户组”标签,是User的集合,隶属于Org;Team是资源(Topic)的创建体/授权体/访问体,topic可对Team授权,具体权限类型参见下文“权限类型”章节;用户使用Team的密钥创建或读写Topic,密钥在“用户组”标签下“用户密钥”一栏;
  • org
    可在web页面中“用户组”标签下找到用户组所属Org的“ORG ID”,org是资源的拥有体,所有的Topic都是从属于某个Org的;故:创建Topic需要指定在哪个Org命下创建;资源计费的基本单位也是Org;

权限类型

PUT_MESSAGE = 1                           // Message Write
GET_MESSAGE = 2                           // Message Read
FULL_MESSAGE_CONTROL = 3                  // Message R+W
DESCRIBE_TOPIC = 4                        // Topic Read
PUT_MESSAGE_AND_DESCRIBE_TOPIC = 5        // Message Write & Topic Read
GET_MESSAGE_AND_DESCRIBE_TOPIC = 6        // Message Read & Topic Read
TOPIC_READ_AND_MESSAGE_FULL_CONTROL = 7   // Topic Read & Message R+W
CHANGE_TOPIC = 8                          // Topic Write
FULL_TOPIC_CONTROL = 12                   // Topic R+W
FULL_CONTROL = 15                         // Topic & Message R+W
CHANGE_PERMISSION = 16                    // Permission Admin
ADMIN = 31                                // All Admin

使用示例

场景1.使用SDK创建Topic并读写数据

此流程可对照认证模型介绍图操作:
1.用户使用小米账号登陆,点击用户组标签查看所属用户组
2.如果没有用户组,需要联系所在org的admin在用户组中添加用户;目前不支持同一个用户加入多个用户组
3.在用户组页面找到“用户密钥栏”,使用SDK时利用AK:SK构建Credential访问Talos,创建Topic并读写数据

场景2.使用UI创建Topic并使用SDK读写数据

1.进入“流式消息队列”页面,点击“创建Topic”进入如下页面,Topic名称一栏对应“所属org/Topic名字”,点击确定

2.授权操作:如果需要为其他team授权,点击“流式消息队列”页面Topic的管理按钮,填写CI开头的Team ID,为其他Team授权,建议选择“TOPIC_READ_AND_MESSAGE_FULL_CONTROL”权限

3.在用户组页面找到“用户密钥栏”,使用SDK时利用AK:SK构建Credential访问Talos并读写数据

数据迁移

之前使用开发者账号创建的Topic在新版生态云UI是看不到的,可以按照以下方法迁移到新版生态云平台:进入“流式消息队列”页面,点击“切换旧版”,选择要迁移的Topic,点击“迁移”按钮,指定要迁移的org和授权admin的TeamID,点击确认迁移
迁移操作后,用户可以在生态云的UI中“流式消息队列”里看到自己原来的Topic,并可以使用Team的AK:SK通过SDK读写Topic 'devTopic'
注意:迁移生效时间默认是3分钟;迁移操作可以且仅可以执行一次,如果显示迁移成功后,重复操作会显示异常