Este tópico explica como ativar o TLS unidirecional e o mTLS no ingressgateway .
Configurar TLS unidirecional
Use TLS unidirecional para proteger os pontos finais do proxy da API no gateway de entrada. Para ativar o TLS unidirecional, configure a entrada com pares de chaves/certificados TLS ou com um segredo do Kubernetes, conforme explicado nas opções seguintes.
Opção 1: par de chaves/certificados
Forneça os ficheiros de chave e certificado SSL na propriedade virtualhosts
no ficheiro de substituições:
virtualhosts:
- name: $ENVIRONMENT_GROUP_NAME
sslCertPath: "$CERT_FILE"
sslKeyPath: "$KEY_FILE"
Onde $ENVIRONMENT_GROUP_NAME é o nome de um grupo de ambientes com alias de anfitriões correspondentes, e $CERT_FILE e $KEY_FILE são ficheiros de certificado e chave TLS. Consulte o artigo Crie certificados TLS.
Opção 2: segredo do Kubernetes
Crie um segredo do Kubernetes e adicione-o ao ficheiro de substituições.
- Crie o Secret num dos dois seguintes espaços de nomes:
apigee
se estiver a usar o gateway de entrada do Apigee.istio-system
se estiver a usar o Anthos Service Mesh instalado pelo cliente.
Gateway de entrada do Apigee
kubectl create -n apigee secret generic $SECRET_NAME \ --from-file=key=$KEY_FILE \ --from-file=cert=$CERT_FILE
Anthos Service Mesh
kubectl create -n istio-system secret generic $SECRET_NAME \ --from-file=key=$KEY_FILE \ --from-file=cert=$CERT_FILE
- Configure a propriedade
virtualhosts
no ficheiro de substituições:virtualhosts: - name: $ENVIRONMENT_GROUP_NAME tlsMode: SIMPLE # Note: SIMPLE is the default, so it is optional. sslSecret: $SECRET_NAME
Configurar mTLS
Em vez do TLS unidirecional, pode configurar o mTLS no gateway de entrada. Existem duas opções para configurar o mTLS, conforme explicado abaixo.
Opção 1: par de chaves/certificados e ficheiro de CA
Faculte um certificado de autoridade de certificação (AC) com ficheiros de chave e certificado SSL na propriedade virtualhosts
no ficheiro de substituições:
virtualhosts:
- name: $ENVIRONMENT_GROUP_NAME
tlsMode: MUTUAL
caCertPath: "$CA_FILE"
sslCertPath: "$CERT_FILE"
sslKeyPath: "$KEY_FILE"
Onde $ENVIRONMENT_GROUP_NAME é o nome de um grupo de ambientes com alias de anfitriões correspondentes, $CA_FILE é um certificado autorizado e $CERT_FILE e $KEY_FILE são ficheiros de chave e certificado TLS. Consulte o artigo Crie certificados TLS.
Opção 2: segredos do Kubernetes
Crie dois Secrets do Kubernetes. O primeiro segredo destina-se ao par de chaves/certificado SSL e o segundo destina-se à AC. Em seguida, adicione-os ao ficheiro de substituições.
- Crie dois segredos do Kubernetes num dos dois seguintes espaços de nomes:
apigee
se estiver a usar o gateway de entrada do Apigee.istio-system
se estiver a usar o Anthos Service Mesh instalado pelo cliente.
Gateway de entrada do Apigee
kubectl create -n apigee secret generic $SECRET_NAME \ --from-file=key=$KEY_FILE \ --from-file=cert=$CERT_FILE
Anthos Service Mesh
kubectl create -n istio-system secret generic $SECRET_NAME \ --from-file=key=$KEY_FILE \ --from-file=cert=$CERT_FILE
- Crie um segredo para a CA:
Gateway de entrada do Apigee
kubectl create -n apigee secret generic $SECRET_NAME-cacert \ --from-file=cacert=$CA_FILE
Anthos Service Mesh
kubectl create -n istio-system secret generic $SECRET_NAME-cacert \ --from-file=cacert=$CA_FILE
- Configure a propriedade
virtualhosts
no ficheiro de substituições:virtualhosts: - name: $ENVIRONMENT_GROUP_NAME tlsMode: MUTUAL # Note: Be sure to specify MUTUAL sslSecret: $SECRET_NAME