Alauda Service Mesh 支持通过双向传输层安全(mTLS)协议配置服务间的安全通信,该协议确保服务客户端和服务器之间的相互认证。
在 Alauda Service Mesh 中,可以使用 Istio
资源配置 mTLS 设置。
STRICT
mTLS 模式可以通过 PeerAuthentication
和 DestinationRule
资源进行配置。
请参考以下 Istio
资源和概念,以正确配置 mTLS 设置:
PeerAuthentication
定义 sidecar 代理接受的 mTLS 模式。
PERMISSIVE
:接受明文和 mTLS 流量。STRICT
:仅接受 mTLS 流量。DestinationRule
定义 sidecar 代理发送流量时使用的 TLS 模式。
DISABLE
:发送明文流量。SIMPLE
、MUTUAL
、ISTIO_MUTUAL
:使用 TLS 发送流量。自动 mTLS
自动为网格间通信启用 mTLS,无论 PeerAuthentication
模式如何。该功能由网格配置中的 enableAutoMtls
字段控制,默认启用。
自动 mTLS 在代理级别运行,无需修改应用代码。
默认情况下,PeerAuthentication
设置为 PERMISSIVE
模式,允许 Service Mesh 中的 sidecar 接受明文和 mTLS 加密流量。
您可以通过应用 PeerAuthentication
策略,强制特定命名空间内所有工作负载使用严格 mTLS 模式。
命名空间的 PeerAuthentication
策略示例
STRICT
mTLS 模式的 <namespace>
。当 auto mTLS
禁用 且 PeerAuthentication
设置为 STRICT
模式时,您可以通过创建 DestinationRule
资源并设置为 MUTUAL
或 ISTIO_MUTUAL
模式,为 <namespace>
中的所有目标主机启用 mTLS。
命名空间的 DestinationRule
策略示例
您可以通过在控制平面命名空间(例如 istio-system
)中应用 PeerAuthentication
策略,实现全集群范围内的严格 mTLS。该命名空间必须与 Istio
资源中的 spec.namespace
字段值匹配。
全网格的 PeerAuthentication
策略示例
此外,需创建 DestinationRule
资源以禁用与 API 服务器的 mTLS 通信,因为 API 服务器没有 sidecar。对其他无 sidecar 的服务也应应用类似的 DestinationRule
配置。
全网格的 DestinationRule
策略示例
Kiali 控制台提供多种方式验证您的应用、服务和工作负载是否启用了 mTLS 加密。