在AWS App Mesh中,身份验证通常是通过使用TLS证书进行管理的。在应用程序的容器和Envoy代理中,必须使用这些TLS证书来验证服务和数据流。
以下是使用Envoy代理进行身份验证的示例代码:
apiVersion: appmesh.k8s.aws/v1beta2
kind: VirtualNode
metadata:
name: myvirtualnode
namespace: mynamespace
spec:
serviceDiscovery:
dns:
hostname: myservice.mynamespace.svc.cluster.local
backends:
- virtualService:
virtualServiceName: myvirtualservice.mynamespace.local
- virtualService:
virtualServiceName: myvirtualservice1.mynamespace.local
- virtualService:
virtualServiceName: myvirtualservice2.mynamespace.local
listeners:
- healthCheck:
healthyThreshold: 2
intervalMillis: 5000
path: "/ping"
port: 8080
protocol: http
timeoutMillis: 2000
unhealthyThreshold: 2
portMapping:
port: 80
protocol: http
tls:
certificate:
acm:
certificateArn: arn:aws:acm:us-west-2:123456789012:certificate/12345678-90ab-cdef-1234-567890abcdef
在这个示例中,我们使用TLS证书验证了myvirtualnode
虚拟节点和myservice.mynamespace.svc.cluster.local
服务。我们还验证了三个后端虚拟服务的身份,这些虚拟服务的名称分别为myvirtualservice.mynamespace.local
,myvirtualservice1.mynamespace.local
和myvirtualservice2.mynamespace.local
。
要了解更多关于AWS App Mesh的身份验证和安全性的信息,请参阅AWS文档。