配置安全策略
ASM提供的安全功能主要分为访问授权、对端认证和JWT认证,以确保服务间通信的可靠性。
操作步骤
- 登录应用服务网格控制台,单击服务网格的名称,进入网格详情页面。
- 在左侧导航栏选择“服务管理”,在列表右上方选择服务所在命名空间。
- 选择一个服务,单击操作列的“安全”,在右侧页面进行访问授权和对端认证配置。
访问授权
用来实现对网格中服务的访问控制功能,即判断一个请求是否允许发送到当前的服务。
选择“访问授权”,单击“立即配置”,在弹出对话框中,单击,选择指定命名空间下的一个或多个服务进行访问授权设置。
对端认证
Istio通过客户端和服务端的PEP(Policy Enforcement Points)隧道实现服务实例之间的通信,对端认证定义了流量如何通过隧道(或者不通过隧道)传输到当前服务的实例。已经注入sidecar的服务实例之间,默认通过隧道进行通信,流量会自动进行TLS加密。
选择“对端认证”页签,单击“立即配置”,在弹出对话框中选择认证策略类型。
表1 参数说明 参数名称
参数说明
默认模式(UNSET)
如果父作用域配置了对端认证策略,服务将继承父作用域的配置。
宽容模式(PERMISSIVE)
请求可以不通过隧道进行传输,既可以是明文,也可以是TLS加密的密文。默认情况下,网格配置了宽容模式(PERMISSIVE)的对端认证策略。
严格模式(STRICT)
流量只能通过隧道进行传输,因为请求必须是TLS加密的密文,且必须带有客户端证书。
JWT认证
在服务网格中配置JWT(JSON Web Token)请求授权,可以实现来源认证。在接收用户请求时,该配置用于认证请求头信息中的Access Token是否可信,并授权给来源合法的请求。
仅支持为HTTP协议的服务配置JWT认证。
选择“JWT认证”页签,单击“立即配置”,在弹出对话框中配置如下参数:
- 发行者:JWT的颁发者。
- 令牌受众:设置哪些服务可以使用JWT Token访问目标服务,多个受众用“,”隔开,若为空表示对访问的服务不受限制。
- jwks:JWT规则集。
JWT认证的原理及应用示例请参见JWT认证原理和在ASM中对入口网关进行JWT请求认证。