【kubernetes】身份认证与授权

一,User、ServiceAccounts概述

介绍
Kubernetes 中提供了良好的多租户认证管理机制,如 RBAC,ServiceAccount 还有各种策略等。

分类
所有 Kubernetes 集群有两类用户:

  • 服务账户(Service Accounts)

    • 主要针对pod进程来说;
    • 由 Kubernetes 管理;
    • 允许集群用户为特定任务创建服务账户;
  • 普通账户(Users Accounts),(一般直接忽略)

    • 主要针对人(管理员,程序员)来说;
    • 具有全局性,所有命名空间都适用;
    • 名称具有唯一性;

二,服务账户(service Accounts)

控制器插件

  • Service Account Admission Controller
    1.如果 pod 没有设置 service Account,则将 Serice Account设置为 default。
    2.确保 pod 引用的 SericeAccount 存在,否则将会拒绝请求。
    3.如果 pod 不包含任何 ImagePullsecrets,则将ServiceAccount的lmagePullSecrets 会添加到pod中4.为包含 AP| 访问的 Token 的 pod 添加了一个 volume。
    5.把 volumeSource 添加到安装在 pod 的每个容器中,挂载在/var/run/secrets/kubernetes.io/serviceaccount.

  • Token Controller

  • Service Account Controller
    在namespaces 里管理ServiceAccount,并确保每个有效的namespaces 中都存在一个名为"default"的 ServiceAccount.

获取Service Controller命令:

kubectl get ServiceAccount[sa]

三,授权(RBAC)

1,角色

Role : 针对命名空间级别的管理
作表一个角色,会包含一组权限,没有拒绝规则,只是附加允许。它是 Namespace 级别的资源,只能作用与Namespace之内。

# 查看角色
kubectl get role -n kube-system -oyaml

在这里插入图片描述

ClusterRole:针对集群级别的管理
功能与 Role 一样,区别是资源类型为集群类型,而 Role 只在Namespace

# 查看某个集群角色的信息
kubectl get clusterrole view -oyaml   

2,角色绑定

Role 或 ClusterRole 只是用于制定权限集合,具体作用与什么对象上,需要使用 RoleBinding或ClusterRoleBinding 来进行绑定。
RoleBinding : 针对命名空间的用户来绑定角色(Role)
RoleClusterBinding : 针对集群的用户来绑定角色(RoleCluster)

作用于 Namespace 内,可以将 Role 或 ClusterRole 绑定到User、Group、Service Acount 上

#查看 rolebinding 信息
kubectl get rolebinding --all-namespaces

绑定配置:
在这里插入图片描述

应用:在集群的接口调用上,给账户分配角色后,添加对应的权限。

相关推荐

  1. Go 认证授权(Authentication)

    2024-07-14 18:12:04       177 阅读
  2. 前后端交互—数据库身份认证

    2024-07-14 18:12:04       41 阅读
  3. 保护通信的双重安全:消息认证身份认证

    2024-07-14 18:12:04       31 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-14 18:12:04       66 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-14 18:12:04       70 阅读
  3. 在Django里面运行非项目文件

    2024-07-14 18:12:04       57 阅读
  4. Python语言-面向对象

    2024-07-14 18:12:04       68 阅读

热门阅读

  1. 【无标题】

    2024-07-14 18:12:04       18 阅读
  2. Apache Kylin: 大数据时代的分析引擎

    2024-07-14 18:12:04       19 阅读
  3. 异步和线程池

    2024-07-14 18:12:04       20 阅读
  4. Go:常量&运算符&流程控制

    2024-07-14 18:12:04       15 阅读
  5. qiankun子应用vue加载js资源失效问题解决

    2024-07-14 18:12:04       17 阅读
  6. 深入理解C++11中的std::packaged_task

    2024-07-14 18:12:04       20 阅读
  7. 华为 NAT 技术介绍及配置

    2024-07-14 18:12:04       20 阅读
  8. prompt第三讲-PromptTemplate

    2024-07-14 18:12:04       17 阅读