RolandMa1986 lgy 首先,你是可以自定义角色的。你所问的问题分两个部分: 对于后端API鉴权,就像@hongming 提到的两篇文档一样,只要你创建符合 K8S规范API定义的 role 和rolebinding 就有对应的资源的访问权限。 前端鉴权,前端与后端的鉴权需求不一样。 后端鉴权以GVK 为单位,可以对每个Verb 单独授权。这样的设计是前端不能接受的,前端完成一个动作通常需要很多API的配合,而且前端主要以菜单和按钮的动作为单位进行授权。但这通常需要一些列的API调用才能完成。因此在Kubesphere中以 Role为基础添加了以下 Annotation和labels 作为前端交互的控制协议: metadata: annotations: iam.kubesphere.io/dependencies: '["role-template-view-groups","role-template-view-roles"]' iam.kubesphere.io/module: Access Control iam.kubesphere.io/role-template-rules: '{"groups": "manage"}' kubesphere.io/alias-name: Workspace Groups Management labels: iam.kubesphere.io/role-template: "true" name: role-template-manage-groups iam.kubesphere.io/role-template: “true” 定义了前端为完成一个操作做需要的全部后端 API 权限的集合。前端授权以role-template为基本单位。role-template, 并不会直接与用户绑定,这个角色的权限最终会汇集在用户自定义role,或者预定义role中。 - iam.kubesphere.io/role-template-rules: ‘{“groups”: “manage”}’ 定义了前端对应菜单的key与动作类型。 前端抽象出了 view, create,edit,delete,manage等基本操作,manage表示其包含了view, create,edit,delete等所有的权限。 - iam.kubesphere.io/dependencies: ‘[]’ 依赖的其他role template,参考一下前端 权限管理。
lgy RolandMa1986 还有个问题想请教,我现在整合kubeedge的crd,看着文档是通过kubebuilder生成api和client,但是我看网上比较浅,这边有相关资料吗,我现在是跟着kubesphere编写相关文件,但是查询列表时为空,也不报错
lgy yuswift 看了,一些看不懂,如果我直接把kubeedge提供的client、lister、informer直接拿过来整合到kubesphere理论上是否可行呢,因为我现在正这么做着,但是结果不太理想
yuswift hack/generate_client.sh主要是这个脚本 ks里面大部分使用的是code-generator去生成这些client的 可以看看这个文档 如果kubeedge已经有了 你可以 直接引用他们的 不用整合过来 https://www.jianshu.com/p/b2ceb9aff597
loveplxf lgy 你好,我现在也想使用kubeedge的设备管理功能,请问目前Kubesphere集成的kubeedge是不具备这部分功能吗?我部署官方kubeedge-counter-demo示例代码,一直不成功
lgy 如果我创建拥有platform-admin角色的用户,请问下在哪里创建的用户名+cluster-admin的clusterrolebindings文件呢 代码在创建用户的时候没看到这层逻辑,只有globalrolebindings创建流程
RolandMa1986 lgy 看这里: https://github.com/kubesphere/kubesphere/blob/master/pkg/controller/globalrolebinding/globalrolebinding_controller.go#L313
lgy RolandMa1986 请教个问题,我主要是看ks-apiserver和改这个,关于上一个问题,没太明白在创建相关权限时,controller那层是如何触发创建相关资源的,比如新建工作空间,相应的会自动创建工作空间的权限模板资源类的,这个是如何监控或者触发
lgy hongming 又来请教问题了,kubesphere支持三方平台登录吗,比如我这边有程序想使用kubesphere的账号登录,我看代码支持oauth2.0,但是不清楚怎么调用,其次是是否支持同一账号多设备共存。
hongming lgy 3.0 还没有实现完整的 OAuth2 ,暂时只支持了 Implicit Grant/Resource Owner Password Credentials Grant这两个没有交互的流程,3.1 会和前端整合一下实现完整的 OIDC Protocol (通过Authorization Code Grant).