kuberneters RBAC角色授权
2019-07-31 15:57
204 查看
原文链接:http://www.cnblogs.com/alamisu/p/11250684.html
角色绑定生效范围
授权插件: Node RBAC ABAC Webhook
RBAC: Role-based AC 基于角色环境控制,受限于Namespace
角色: {Role}
授权: {permissions}
subject:user/group/serviceaccount
object:resource group/resource/non-resource url
action:list/get/wathc/patch/delete......
♦ Obuject_Url:
/apis/<GROUP>/<VERSION>/namespaces/<NAMESPACE_NAME>/<KIND>[/OBJECT_ID]/
Role:只对当前namespace生效
- Operations
- Objects
RoleBinding:
- user account OR service account
- role
♦ ClusterRole/ClusterRoleBinding 会获得集群级别的资源
RoleBinding 绑定user,只能获取用户所在名称空间的资源
k8s资源分属两种级别:
- 集群 ClusterRole/ClusterRoleBinding
- 名称空间 Role/RoleBing
RoleBinding | ClusterRoleBinding | |
Role | Namespace | Cluster |
ClusterRole | 无法绑定 | Cluster |
创建Role: kubectl create role --help # kubectl create role pod-reader --verb=get,list,watch --resource=pods -n develop # --dry-run 参数可以指定试用,并不会真正创建; 也可以通过这个导出模板文件 创建RoleBinding: kubectl create rolebinding --help
# kubectl create rolebinding zear-read-pods --role=pod-reader --user=zear -n develop # --user user不存在也可以被创建
切换用户上下文到zear
# kubectl config use-context zear@kubernetes #如果要测试需要保证zear上下文已经被创建
由于我们创建的rolebinding是在develop的namespace下,所以无法获取到default下的pods信息,但是可以真长获取develop下的pods
创建ClusterRole: kubectl create clusterrole --help
# kubectl create clusterrole cluster-pod-user --verb=get,list,watch --resource=pod -n develop
创建ClusterRoleBinding: kubectl create clusterrole --help
# kubectl create clusterrolebinding zear-cluster-read-pods --clusterrole=cluster-pod-user --user=zear -n develop # --user 也可以使用--group --serviceaccount
切换上下文之后获取系统资源,由于我们只给了pod的权限,所以无法获取namespace信息,但是可以拿到system的pods信息
使用Rolebinding 绑定 clusterrole,则只能获取rolebinding所在namespace的资源
# kubectl create rolebinding zear-read-pod --clusterrole=cluster-pod-user --user=zear -n develop
切换上下文之后,只能develop namespace下面的pod资源,无法获取system资源
♦ 另外我们在创建pod的时候可以指定serviceAccountName(kubectl explain pod.spec.serviceAccountName),然后通过rolebinding绑定指定的serviceaccount Role,这样这个pod就拥有了这个serviceaccount用户的权限。
转载于:https://www.cnblogs.com/alamisu/p/11250684.html
相关文章推荐
- 角色授权
- Oracle创建用户、角色、授权
- Oracle用户、授权、角色管理
- Oracle 表空间、用户、角色、授权
- Asp.net中基于Forms验证的角色验证授权
- oracle12创建用户授权和密码报:65096 公用用户名或角色无效
- ASP.NET Identity 身份验证和基于角色的授权
- Oracle下的用户创建角色、授权、建立表空间
- ORACLE 角色、授权、表空间授权、授予用户使用表空间、dba的赋予与取消
- RDIFramework.NET ━ .NET快速信息化系统开发框架 V3.2->Web版本新增新的角色授权管理界面效率更高、更规范
- PL/SQL基础编程之(十)[SQL、EM创建用户、角色][授权、配置文件、限制登录次数锁定用户]
- 收藏:Asp.net中基于Forms验证的角色验证授权
- Asp.net中基于Forms验证的角色验证授权
- Asp.net中基于Forms验证的角色验证授权
- 【转载】Asp.Net中基于Forms验证的角色验证授权
- Oracle命令:授权-收回权限-角色
- Asp.net中基于Forms验证的角色验证授权
- ASP.NET 授权与角色 Part.1(URL授权、代码授权)
- 角色权限etmvc+jQuery EasyUI+combobox多值操作实现角色授权
- 基于操作+角色的授权方案