Istio 安全性和课程总结| 学习笔记

简介: 快速学习 Istio 安全性和课程总结

开发者学堂课程微服务实战-Service Mesh 与 IstioIstio 安全性和课程总结】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/620/detail/9439


Istio 安全性和课程总结

目录:

一、Istio 安全组件

二、双向 TLS 认证

三、Istio RBAC

四、总结

 

一、Istio 安全组件

image.png

Citadel 用于密钥证书管理

Sidecar 用于客户端和服务端的安全通信

Pilot 用于授权和安全命名信息分发到代理商

Mixer 用于授权和审计

这是一个相当复杂和精密的结构。


二、双向 TLS 认证

TLS认证在微服务下想要实现是比较复杂的,有一定难度的,因为在认证时需要认证机器名和ip地址,在微服务环境下,这些是不可获得的,谁也不知道会部署到哪里。

在这种情况下就提供了双向 TLS 认证,大大减轻了编程的负担。所谓双向TLS认证是指当 serviceA 认证 serviceB 时,serviceB也要向 serviceA 认证,二者是相互的,是双向互动的。

1. Envoy proxy 进行双向 TLS 认证

2.certchain.pem Envoy 的证书

3. key.pem Envoy 私钥

4.root-cert.pem是于证书校验的根证书

启动认证:

US-169691-MP:istio andy.shi$ kubectl get MeshPolicy

NAME AGE

default 15d//已经被安装好了

US-169691-MP:istio andy.shi$ kubectl get MeshPolicy default -o yaml

peers:

mtls:

mode: PERMISSIVE//通过

US-169691-MP:istio andy.shi$ kubectl exec $(kubectl getpod -1 app=productpage-0 jsonpath=t.items..metadata.name)istio-proxy -- is/etc/certs/cert-chain.pem | openssl x509 -text -noou t grep Validity-A 2

Validity

Not Before:Jul1121:47:10 2019 GMT

NotAfter :Oct 921:47:10 2019 GMT

US-169691-MP:istio andy.shi$//有效性信息

 

三、Istio RBAC

可以定义列表来进行访问控制,可以把它与双向 TLS 认证联合起来使用。

第一种:规则的列表

apiVersion:"rbac.istio.io/v1alpha1"kind: ServiceRole

metadata:

name:products-viewer

namespace: default

spec:

rules:

- services: ["products.svc.cluster.local]methods: ["GET", "HEAD"]

constraints:

- key: "destination.labels[version]" value: ['v1","v2"]

第二种:与哪个列表进行绑定

apiVersion:"rbac.istio.io/v1alpha1"kind:ServiceRoleBinding

metadata:

name:test-binding-products namespace:default

spec:

subjects:

-user:alice@yahoo.com

- properties:

source.namespace:"abc"

roleRef:

kind:ServiceRole

name:"products-viewer"

 

四、总结

本次学习用了大量的 yuml Api

社区文档

https://istio.io/zh/docs/

自行安装

https://istio.io/zh/docs/setup/kubernetes/课程的内容选择

相关文章
|
安全 前端开发 Cloud Native
Istio 探索:微服务的流量管理、安全性和策略加固
Istio 探索:微服务的流量管理、安全性和策略加固
97 0
|
测试技术 开发者
KubeVela 对接 Istio 实现应用灰度发布实践|学习笔记(二)
快速学习 KubeVela 对接 Istio 实现应用灰度发布实践
KubeVela 对接 Istio 实现应用灰度发布实践|学习笔记(二)
|
自然语言处理 Kubernetes 网络协议
在阿里云安装初试 Istio| 学习笔记
快速学习在阿里云安装初试 Istio
在阿里云安装初试 Istio| 学习笔记
|
Prometheus 监控 Cloud Native
Istio 遥测| 学习笔记
快速学习 Istio 遥测
Istio 遥测| 学习笔记
|
负载均衡 监控 测试技术
Istio 介绍| 学习笔记
快速学习 Istio 介绍
Istio 介绍| 学习笔记
|
网络协议 开发者 Docker
Istio 服务韧性| 学习笔记
快速学习 Istio 服务韧性
Istio 服务韧性| 学习笔记
|
Prometheus 监控 Kubernetes
进阶:对接 Istio 实现应用灰度发布实践| 学习笔记
快速学习进阶:对接 Istio 实现应用灰度发布实践。
进阶:对接  Istio 实现应用灰度发布实践| 学习笔记
|
开发者 微服务
Istio 流量管理| 学习笔记
快速学习 Istio 流量管理
|
10天前
|
监控 安全 Cloud Native
云原生安全:Istio在微服务架构中的安全策略与实践
【10月更文挑战第26天】随着云计算的发展,云原生架构成为企业数字化转型的关键。微服务作为其核心组件,虽具备灵活性和可扩展性,但也带来安全挑战。Istio作为开源服务网格,通过双向TLS加密、细粒度访问控制和强大的审计监控功能,有效保障微服务间的通信安全,成为云原生安全的重要工具。
29 2
|
1月前
|
Kubernetes 安全 微服务
使用 Istio 缓解电信 5G IoT 微服务 Pod 架构的安全挑战
使用 Istio 缓解电信 5G IoT 微服务 Pod 架构的安全挑战
50 8
下一篇
无影云桌面