rbac

kubernetes集群安装指南:kube-apiserver组件部署

…衆ロ難τιáo~ 提交于 2020-04-06 10:39:04
在kubernetes组件中,master节点组件主要包括:kube-apiserver,kube-controller-manager,kube-scheduler等三个组件,每个组件功能职责分工不同,这里我们将三个组件部署在同一机器上,分别部署了三台机器。 1 安装准备 1.1 环境变量定义 #################### Variable parameter setting ###################### KUBE_NAME=kube-apiserver K8S_INSTALL_PATH=/data/apps/k8s/kubernetes K8S_BIN_PATH=${K8S_INSTALL_PATH}/sbin K8S_LOG_DIR=${K8S_INSTALL_PATH}/logs K8S_CONF_PATH=/etc/k8s/kubernetes CA_DIR=/etc/k8s/ssl SOFTWARE=/root/software VERSION=v1.14.2 PACKAGE="kubernetes-server-${VERSION}-linux-amd64.tar.gz" DOWNLOAD_URL=“”https://github.com/devops-apps/download/raw/master/kubernetes/$

k8s 部署rancher dashboardsh

泄露秘密 提交于 2020-04-05 21:04:12
人懒, 废话不多. rancher官网针对性太强了. 基本上都是要求rke部署的k8s群集, 承认rancher dashboard还不错, 可以提高开发效率. 但是rke是屎, rke是屎, rke是屎, 重要的事情说三遍. 官网上用helm部署ha的方案测试验证了多次, 均告失败, 实在是不想用docker方案. 所以基于官网的docker方案改写了k8syaml, 用于快速部署rancher, 上文件: vi ./rancher.yaml apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: name: proxy-clusterrole-kubeapiserver rules: - apiGroups: [""] resources: - nodes/metrics - nodes/proxy - nodes/stats - nodes/log - nodes/spec verbs: ["get", "list", "watch", "create"] --- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: name: proxy-role-binding-kubernetes

权限系统的设计模式 ACL RBAC ABAC

*爱你&永不变心* 提交于 2020-03-30 15:41:00
Refer to https://blog.csdn.net/m0_37163942/article/details/83652065 ACL(Access Control List):访问权限列表 如: user1-->AC1 user1-->AC2 user2-->AC1 此时权限汇总成一个列表 这种设计最常见的应用就是文件系统的权限设计,如微软的NTFS 对权限控制比较分散,不便于管理,比如无法简单地将一组文件设置统一的权限开放给指定的一群用户 RBAC(Role Base Access Control):基于角色的权限控制 与ACL 对比 RBAC不用给用户单个分配权限,只用指向对应的角色就会有对应的权限,而且分配权限和收回权限都很方便 如菜单权限的设计:用户与角色关联,角色与菜单关联 ABAC(Attribute Base Access Control) 基于属性的权限控制 不同于常见的将用户通过某种方式关联到权限的方式,ABAC则是通过动态计算一个或一组属性来是否满足某种条件来进行授权判断(可以编写简单的逻辑)。属性通常来说分为四类:用户属性(如用户年龄),环境属性(如当前时间),操作属性(如读取)和对象属性(如一篇文章,又称资源属性),所以理论上能够实现非常灵活的权限控制,几乎能满足所有类型的需求。 例如规则:“允许所有班主任在上课时间自由进出校门”这条规则,其中,

从零开始入门 K8s | K8s 安全之访问控制

随声附和 提交于 2020-03-20 02:48:32
作者 | 匡大虎 阿里巴巴技术专家 本文整理自《CNCF x Alibaba 云原生技术公开课》第 27 讲, 点击直达课程页面 。 关注“阿里巴巴云原生”公众号,回复关键词 “入门” ,即可下载从零入门 K8s 系列文章 PPT。 导读: 访问控制是云原生安全的一个重要组成部分,也是 K8s 集群在多租环境下必要且基本的安全加固手段。在 K8s 体系中,访问控制又分为三个重要的组成部分,请求认证,鉴权和运行时刻的 admission 准入控制。在本文中,作者将带领大家了解这 3 部分的基本定义和使用方法,并给出多租环境下安全加固的相关最佳实践。 一、Kubernetes API 请求访问控制 访问控制 大家都知道访问控制是云原生安全中的一个重要组成部分。也是一个 Kubernetes 集群在多租户环境下必须要采取的一个基本的安全防护手段。 那么在概念上可以抽象的定义为谁在何种条件下可以对什么资源做什么操作。这里的资源就是在 Kubernetes 中我们熟知的:Pod、 ConfigMaps、Deployment、Secrets 等等这样的资源模型。 Kubernetes API 请求 由上图来介绍一下 Kubernetes API 的请求从发起到其持久化入库的一个流程。 首先看一下请求的发起,请求的发起分为两个部分: 第一个部分是人机交互的过程。 是大家非常熟悉的用

从零开始入门 K8s | K8s 安全之访问控制

最后都变了- 提交于 2020-03-20 02:29:28
作者 | 匡大虎 阿里巴巴技术专家 本文整理自《CNCF x Alibaba 云原生技术公开课》第 27 讲, 点击直达课程页面 。 关注“阿里巴巴云原生”公众号,回复关键词 “入门” ,即可下载从零入门 K8s 系列文章 PPT。 导读: 访问控制是云原生安全的一个重要组成部分,也是 K8s 集群在多租环境下必要且基本的安全加固手段。在 K8s 体系中,访问控制又分为三个重要的组成部分,请求认证,鉴权和运行时刻的 admission 准入控制。在本文中,作者将带领大家了解这 3 部分的基本定义和使用方法,并给出多租环境下安全加固的相关最佳实践。 一、Kubernetes API 请求访问控制 访问控制 大家都知道访问控制是云原生安全中的一个重要组成部分。也是一个 Kubernetes 集群在多租户环境下必须要采取的一个基本的安全防护手段。 那么在概念上可以抽象的定义为谁在何种条件下可以对什么资源做什么操作。这里的资源就是在 Kubernetes 中我们熟知的:Pod、 ConfigMaps、Deployment、Secrets 等等这样的资源模型。 Kubernetes API 请求 由上图来介绍一下 Kubernetes API 的请求从发起到其持久化入库的一个流程。 首先看一下请求的发起,请求的发起分为两个部分: 第一个部分是人机交互的过程。 是大家非常熟悉的用

Kubernetes 权限管理

大憨熊 提交于 2020-03-17 16:46:56
某厂面试归来,发现自己落伍了!>>> kubernetes 主要通过 APIServer 对外提供服务,对于这样的系统集群来说,请求访问的安全性是非常重要的考虑因素。如果不对请求加以限制,那么会导致请求被滥用,甚至被黑客攻击。 kubernetes 对于访问 API 来说提供了两个步骤的安全措施:认证和授权。认证解决用户是谁的问题,授权解决用户能做什么的问题。通过合理的权限管理,能够保证系统的安全可靠。 下图是 API 访问要经过的三个步骤,前面两个是认证和授权,第三个是 Admission Control,它也能在一定程度上提高安全性,不过更多是资源管理方面的作用。 NOTE: 只有通过 HTTPS 访问的时候才会通过认证和授权,HTTP 不需要。 k8s-aaa.png Authentication (认证) All Kubernetes clusters have two categories of users: service accounts managed by Kubernetes, and normal users . 当您(真人用户)访问集群(例如使用 kubectl 命令)时, apiserver 会将您认证为一个特定的 User Account (目前通常是 admin ,除非您的系统管理员自定义了集群配置)。 Pod 容器中的进程也可以与 apiserver

Kubernetes 1.6新特性:RBAC授权

守給你的承諾、 提交于 2020-03-17 16:42:06
某厂面试归来,发现自己落伍了!>>> 概述 Kuberntes中API Server的访问控制过程图示如下: 在Kubernetes中,授权(authorization)是在认证(authentication)之后的一个步骤。授权就是决定一个用户(普通用户或ServiceAccount)是否有权请求Kubernetes API做某些事情。 之前,Kubernetes中的授权策略主要是ABAC(Attribute-Based Access Control)。对于ABAC,Kubernetes在实现上是比较难用的,而且需要Master Node的SSH和根文件系统访问权限,授权策略发生变化后还需要重启API Server。 Kubernetes 1.6中,RBAC(Role-Based Access Control)基于角色的访问控制进入Beta阶段。RBAC访问控制策略可以使用kubectl或Kubernetes API进行配置。使用RBAC可以直接授权给用户,让用户拥有授权管理的权限,这样就不再需要直接触碰Master Node。在Kubernetes中RBAC被映射成API资源和操作。 RBAC API的资源对象 在Kubernetes 1.6中通过启动参数 --authorization-mode=RBAC.API Overview 为API Server启用RBAC。

从零开始入门 K8s | K8s 安全之访问控制

你说的曾经没有我的故事 提交于 2020-03-17 15:11:11
某厂面试归来,发现自己落伍了!>>> 作者 | 匡大虎 阿里巴巴技术专家 本文整理自《CNCF x Alibaba 云原生技术公开课》第 27 讲, 点击直达课程页面 。 关注“阿里巴巴云原生”公众号,回复关键词**“入门”**,即可下载从零入门 K8s 系列文章 PPT。 **导读:**访问控制是云原生安全的一个重要组成部分,也是 K8s 集群在多租环境下必要且基本的安全加固手段。在 K8s 体系中,访问控制又分为三个重要的组成部分,请求认证,鉴权和运行时刻的 admission 准入控制。在本文中,作者将带领大家了解这 3 部分的基本定义和使用方法,并给出多租环境下安全加固的相关最佳实践。 一、Kubernetes API 请求访问控制 访问控制 大家都知道访问控制是云原生安全中的一个重要组成部分。也是一个 Kubernetes 集群在多租户环境下必须要采取的一个基本的安全防护手段。 那么在概念上可以抽象的定义为谁在何种条件下可以对什么资源做什么操作。这里的资源就是在 Kubernetes 中我们熟知的:Pod、 ConfigMaps、Deployment、Secrets 等等这样的资源模型。 Kubernetes API 请求 由上图来介绍一下 Kubernetes API 的请求从发起到其持久化入库的一个流程。 首先看一下请求的发起,请求的发起分为两个部分:

rbac组件之权限操作(四)

偶尔善良 提交于 2020-03-16 03:46:03
对于权限表的操作有两种方式,第一种是一个个的权限进行curd,另外一种是批量操作,自动发现django程序中的路由,进行批量curd,首先介绍第一种方式。 因为在列出菜单时,已经将权限列表列出来了,所以权限包括增加、修改以及删除操作 urls.py ... re_path(r'^permissions/add/$', PermissionAddView.as_view(), name='permissions_add'), re_path(r'^permissions/edit/(?P<pid>\d+)/$', PermissionEditView.as_view(), name='permissions_edit'), re_path(r'^permissions/dell/(?P<pid>\d+)/$', PermissionDelView.as_view(), name='permissions_del'), re_path(r'^multi/permissions/$', multi_permissions, name='multi_permissions'), ... 后台进行处理 from django import forms from rbac import models class PermissionModelForm(forms.ModelForm):

django 菜单权限

若如初见. 提交于 2020-03-12 15:31:15
一.什么是权限 能做哪些事情,不能做哪些事情,可以做的权限 二.设计权限 思路: web应用中,所谓的权限,其实就是一个用户能够访问的url,通过对用户访问的url进行控制,从而实现对用户权限的控制. 每个用户代表不同的的角色,每个角色具有不同的权限. 一个用户可以有多重角色,多个人也可以是一种角色(比如说一个公司可以有多个销售),所以说,用户与角色之间的关系是多对多的关系. 一个角色能够拥有多个权限,一个权限也可以分配给多个角色;所以说角色和权限的关系也是多对多的关系. 三.权限实现 建立表关系 具体代码如下: from django.db import models class Menu(models.Model): title = models.CharField(max_length=32) icon = models.CharField(max_length=32) weight = models.IntegerField(default=1, verbose_name='权重') class Permission(models.Model): """ 权限表 """ title = models.CharField(max_length=32, verbose_name='标题') url = models.CharField(max_length=32,