idou老师教你学istio 21:基于角色的访问控制

栏目: 后端 · 发布时间: 5年前

内容简介:istio的授权功能,也称为基于角色的访问控制(RBAC),它为istio服务网格中的服务提供命名空间级别、服务级别和方法级别的访问控制。基于角色的访问控制具有简单易用、灵活和高性能等特性。本文介绍如何在服务网格中为服务进行授权控制。·前置条件·•安装istio的k8s集群,启用认证功能、双向TLS认证

istio的授权功能,也称为基于角色的访问控制(RBAC),它为istio服务网格中的服务提供命名空间级别、服务级别和方法级别的访问控制。基于角色的访问控制具有简单易用、灵活和高性能等特性。本文介绍如何在服务网格中为服务进行授权控制。

·前置条件·

•安装istio的k8s集群,启用认证功能、双向TLS认证

•部署bookinfo示例应用

下面基于bookinfo应用实例具体介绍如何启用授权并配置访问控制策略:

  1. 创建service accout,启用访问控制

我们在service account的基础上启用访问控制,为了给不同的微服务授予不同的访问权限,需要建立不同的service account,在本例中:

idou老师教你学istio 21:基于角色的访问控制

创建Service account: bookinfo-productpage,并用它部署 productpage;

创建 Service account:bookinfo-reviews,并用它部署 reviews(其中包含 reviews-v2 和 reviews-v3 两个版本)。

清理所有现存RBAC规则:

idou老师教你学istio 21:基于角色的访问控制

此时,用浏览器打开bookinfo的productpage页面,会看到:

idou老师教你学istio 21:基于角色的访问控制

  1. 启用Istio授权

使用 RbacConfig 对象启用 Istio Authorization:

idou老师教你学istio 21:基于角色的访问控制

idou老师教你学istio 21:基于角色的访问控制

此时,bookinfo的productpage页面,会看到:

idou老师教你学istio 21:基于角色的访问控制

  1. 设置命名空间级的访问控制

idou老师教你学istio 21:基于角色的访问控制

这一策略创建service-viewer 的 ServiceRole,通过constraints指定了允许访问的服务范围:

idou老师教你学istio 21:基于角色的访问控制

创建 ServiceRoleBinding 对象,用来把 service-viewer 角色指派给所有 istio-system 和 default 命名空间的服务:

idou老师教你学istio 21:基于角色的访问控制

用浏览器打开bookinfo的productpage页面,会看到完整的页面:

idou老师教你学istio 21:基于角色的访问控制

  1. 配置服务级的访问控制

清除命名空间级的访问控制

idou老师教你学istio 21:基于角色的访问控制

下面在bookinfo中逐步为服务加入访问:

1) 允许到productpage服务的访问

idou老师教你学istio 21:基于角色的访问控制

这条策略中创建了名称为 productpage-viewer的ServiceRole,它允许到 productpage 服务的读取访问,并创建命名为 productpage-viewer的 ServiceRole,将 productpage-viewer 角色赋予给所有用户和服务

idou老师教你学istio 21:基于角色的访问控制

此时,用浏览器打开bookinfo的productpage页面,会显示 Error fetching product details 和 Error fetching product reviews 的错误信息:

idou老师教你学istio 21:基于角色的访问控制

出现上述现象是因为我们还没有给productpage授权访问details 和 reviews 服务,下面两步修复这个问题。

2) 允许对details和reviews服务的访问

idou老师教你学istio 21:基于角色的访问控制

details-reviews-viewer:允许对 details 和 reviews 服务进行只读访问

bind-details-review: 把 details-reviews-viewer 角色授予给productpage 服务的 Service account

idou老师教你学istio 21:基于角色的访问控制

3) 允许对ratings服务的访问

idou老师教你学istio 21:基于角色的访问控制

ratings-viewer: 允许对ratings服务的访问

rind-ratings: 将ratings-viewer角色指派给bookinfo-reviews这个Service account

idou老师教你学istio 21:基于角色的访问控制

此时,用浏览器打开bookinfo的productpage页面,会看到完整的页面。

总结:通过上述步骤,我们可以快捷的启用授权功能,并灵活定制访问控制策略来满足不同的安全访问需求。

相关服务请访问 https://support.huaweicloud.co ... _2019


以上所述就是小编给大家介绍的《idou老师教你学istio 21:基于角色的访问控制》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

The Art and Science of Java

The Art and Science of Java

Eric Roberts / Addison-Wesley / 2007-3-1 / USD 121.60

In The Art and Science of Java, Stanford professor and well-known leader in CS Education Eric Roberts emphasizes the student-friendly exposition that led to the success of The Art and Science of C. By......一起来看看 《The Art and Science of Java》 这本书的介绍吧!

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

在线进制转换器
在线进制转换器

各进制数互转换器

URL 编码/解码
URL 编码/解码

URL 编码/解码