热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

kubernetes的用户权限认证体系

kubernetes认证

我们知道任何应用的控制都需要通过一定的认证之后,我们才可以获取到应用的控制权。而此处,我们来了解k8s的认证授权是怎么做。

像一般应用,都是提供一个登陆界面,然后我们输入账号密码,登陆后,系统根据用户所有的权限,让我们进行有限的操作。
但像这种应用,没有登陆界面,我们是怎么来实现。

首先,我们来了解k8s客户端是怎么通过认证来获取k8s集群的控制。
k8s客户端需要通过3关来获取。
认证–>授权–>准入控制
认证(怎么好像跟用户没关系,用户信息是怎么传到主服务器上):
what: 证明自己是合法账户
why:
how:
1.令牌认证(http header带上token,跟我们平时开发使用的方式一样)
2.ssl认证,需要双向证书认证
??难道用户的信息会在证书里
3.账号密码
授权:
what:
why:
how:
1.rbac
准入控制:

客户端(人)—>api server 需要包含的信息

用户信息 (应该附带在header或者其他地方)
认证信息 (https)
请求资源(以url的形式)

api的restful设计:
集群级别:
/apis/apps/v1/…/…
名称空间级别:
/apis/apps/v1/namespaces/default/deployment/myapp-deploy/

使用curl访问api server的流程(避免访问认证):
1.开启代理
kubectl proxy --port=8080
2.访问本地端口

kubeconfig保存了认证和用户信息
查看 kubectl config view

自定义账号

账号名就是subject里的CN

新建私钥
(umask 077;openssl genrsa -out magedu.key 2048)
新建csr
(openssl req -new -key magedu.key -out magedu.csr -subj “/CN=magedu”)
新建证书
openssl x509 -req -in magedu.csr -CA ca.crt -CAkey ca.key
-CAcreateserial -out magedu.crt -days 365
新建账号
kubectl config set-credentials --client-certificate=./magedu.crt --client-key=./magedu.key
设置上下文

切换上下文

新建连接集群

pod–>api server的认证

API server 对应到集群pod内的地址是
kubernetes的用户权限认证体系
每个pod都含有一个认证信息
kubernetes的用户权限认证体系

给pod自定一个serviceAccount

1.创建一个sa
kubectl create serviceaccount mysa,会自动生成授权信息

kubernetes的用户权限认证体系

2.指定pod使用sa
serviceAccountName:pod连接apiserver时使用的账号


推荐阅读
  • 本文详细介绍如何在 Apache 中设置虚拟主机,包括基本配置和高级设置,帮助用户更好地理解和使用虚拟主机功能。 ... [详细]
  • Docker安全策略与管理
    本文探讨了Docker的安全挑战、核心安全特性及其管理策略,旨在帮助读者深入理解Docker安全机制,并提供实用的安全管理建议。 ... [详细]
  • 本文详细介绍了如何在Oracle VM VirtualBox中实现主机与虚拟机之间的数据交换,包括安装Guest Additions增强功能,以及如何利用这些功能进行文件传输、屏幕调整等操作。 ... [详细]
  • 在尝试使用 Android 发送 SOAP 请求时遇到错误,服务器返回 '无法处理请求' 的信息,并指出某个值不能为 null。本文探讨了可能的原因及解决方案。 ... [详细]
  • 检查 Kubernetes 系统命名空间中的 Pod 状态时,发现 Metric Server Pod 虽然处于运行状态,但存在异常:日志显示 'it doesn’t contain any IP SANs'。 ... [详细]
  • 本文基于Java官方文档进行了适当修改,旨在介绍如何实现一个能够同时处理多个客户端请求的服务端程序。在前文中,我们探讨了单客户端访问的服务端实现,而本篇将深入讲解多客户端环境下的服务端设计与实现。 ... [详细]
  • 本文介绍了如何使用Node.js通过两种不同的方法连接MongoDB数据库,包括使用MongoClient对象和连接字符串的方法。每种方法都有其特点和适用场景,适合不同需求的开发者。 ... [详细]
  • Fiddler 安装与配置指南
    本文详细介绍了Fiddler的安装步骤及配置方法,旨在帮助用户顺利抓取用户Token。文章还涵盖了一些常见问题的解决方案,以确保安装过程顺利。 ... [详细]
  • H5技术实现经典游戏《贪吃蛇》
    本文将分享一个使用HTML5技术实现的经典小游戏——《贪吃蛇》。通过H5技术,我们将探讨如何构建这款游戏的两种主要玩法:积分闯关和无尽模式。 ... [详细]
  • 本文详细介绍了Oracle 11g中的创建表空间的方法,以及如何设置客户端和服务端的基本配置,包括用户管理、环境变量配置等。 ... [详细]
  • 本文介绍了SIP(Session Initiation Protocol,会话发起协议)的基本概念、功能、消息格式及其实现机制。SIP是一种在IP网络上用于建立、管理和终止多媒体通信会话的应用层协议。 ... [详细]
  • 在现代Web开发中,HTML5 Canvas常用于图像处理和绘图任务。本文将详细介绍如何将Canvas中的图像导出并上传至服务器,适用于拼图、图片编辑等场景。 ... [详细]
  • DVWA学习笔记系列:深入理解CSRF攻击机制
    DVWA学习笔记系列:深入理解CSRF攻击机制 ... [详细]
  • 本文详细解析了 Android 系统启动过程中的核心文件 `init.c`,探讨了其在系统初始化阶段的关键作用。通过对 `init.c` 的源代码进行深入分析,揭示了其如何管理进程、解析配置文件以及执行系统启动脚本。此外,文章还介绍了 `init` 进程的生命周期及其与内核的交互方式,为开发者提供了深入了解 Android 启动机制的宝贵资料。 ... [详细]
  • 优化后的标题:深入探讨网关安全:将微服务升级为OAuth2资源服务器的最佳实践
    本文深入探讨了如何将微服务升级为OAuth2资源服务器,以订单服务为例,详细介绍了在POM文件中添加 `spring-cloud-starter-oauth2` 依赖,并配置Spring Security以实现对微服务的保护。通过这一过程,不仅增强了系统的安全性,还提高了资源访问的可控性和灵活性。文章还讨论了最佳实践,包括如何配置OAuth2客户端和资源服务器,以及如何处理常见的安全问题和错误。 ... [详细]
author-avatar
好开心6327
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有