Istio安全性
作者:iyacontrol
出处:
Istio Security提供了全面的安全解决方案 。
文章插图
Istio安全功能提供强大的身份 , 强大的策略 , 透明的TLS加密以及身份验证 , 授权和审核(AAA)工具 , 以保护您的服务和数据 。Istio安全性的目标是:
- 默认情况下的安全性:无需更改应用程序代码和基础结构
- 深度防御:与现有安全系统集成以提供多层防御
- 零信任网络:在不受信任的网络上构建安全解决方案
- 证书颁发机构(CA) , 用于密钥和证书管理
- 配置API服务器分发给代理:
- 认证策略
- 授权策略
- 安全命名信息
- Sidecar和边界代理充当策略执行点(PEP) , 以保护客户端和服务器之间的通信 。
- 一组Envoy代理扩展 , 用于管理遥测和审计
文章插图
身份身份是任何安全基础结构的基本概念 。 在工作负载到工作负载的通信开始时 , 双方必须交换凭据与其身份信息以进行相互认证 。 在客户端 , 将根据安全命名信息检查服务器的身份 , 以查看其是否是工作负载的授权运行者 。 在服务器端 , 服务器可以根据授权策略确定客户端可以访问哪些信息 , 审核谁在什么时间访问了哪些信息 , 根据他们使用的工作负载向客户端收费 , 并拒绝任何未能支付账单的客户端访问工作量 。
Istio身份模型使用一等的 service identity 来确定请求来源的身份 。 该模型为服务标识提供了极大的灵活性和粒度 , 以代表用户 , 单个工作负荷或一组工作负荷 。 在没有服务身份的平台上 , Istio可以使用其他可以对工作负载实例进行分组的身份 , 例如服务名称 。
以下列表显示了可以在不同平台上使用的服务身份的示例:
- Kubernetes:Kubernetes服务帐户
- GKE / GCE:GCP服务帐户
- GCP:GCP服务帐户
- AWS:AWS IAM用户/角色帐户
- 本地(非Kubernetes)用户帐户 , 自定义服务帐户 , 服务名称 , Istio服务帐户或GCP服务帐户 。 自定义服务帐户是指现有服务帐户 , 就像客户的身份目录管理的身份一样 。
文章插图
Istio使用以下流程通过 secret discovery service (SDS) 设置身份:
- Istiod提供了一个gRPC服务来接受证书签名请求(CSR) 。
- Envoy通过Envoy SDS API发送证书和密钥请求 。
- 收到SDS请求后 , Istio agent会先创建私钥和CSR , 然后再将CSR及其凭据发送给isidod进行签名 。
- CA验证CSR中携带的凭据 , 并对CSR签名以生成证书 。
- Istio agent通过Envoy SDS API将来自istiod的证书和私钥发送给Envoy 。
- 对于证书和密钥轮换 , 上述CSR过程会定期执行 。
- 对等身份验证 : 用于服务到服务的身份验证 , 以验证建立连接的客户端 。Istio提供双向TLS作为用于传输身份验证的完整堆栈解决方案 , 无需更改服务代码即可启用它 。该解决方案为:
- 为每个服务提供一个强大的标识 , 以表示其角色 , 以实现跨集群和云的互操作性 。
- 使服务到服务的通信安全 。
- 提供密钥管理系统以自动执行密钥和证书的生成 , 分发和轮换 。
- 请求认证 : 用于最终用户身份验证 , 以验证附加到请求的凭据 。Istio使用JSON Web令牌(JWT)验证启用请求级身份验证 , 可以使用自定义身份验证程序或任何OpenID Connect实现程序 ,例如:
- ORY Hydra
- Keycloak
- Auth0
- Firebase Auth
- Google Auth
mTLS认证Istio通过客户端和服务器端PEP(Envoy代理实现)建立服务到服务的通信通道 。 当工作负载使用双向TLS身份验证将请求发送到另一个工作负载时 , 该请求的处理方式如下:
- 先别|用了周冬雨的照片,我会成为下一个被告?自媒体创作者先别自乱阵脚
- V2X|V2X:确保未来道路交通数据交换的安全性
- OPPO在影像|出色影像带来亮眼成绩,OPPO手机用户成了抖音最活跃创作者?
- 欣赏:萌新作业-7号机
- Java安全之Javassist动态编程
- 为什么微信推荐这么快?
- 谁能“干掉”特斯拉?
- 你还在为账号安全性低而担忧吗,不妨试试这样设置密码
- 设计模式系列—单例设计模式
- 从底层理解this是什么