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 no espaço de nomes
apigee
:kubectl create -n APIGEE_NAMESPACE 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
Forneça dados do certificado TLS que contenham certificados da autoridade de certificação:
virtualhosts:
- name: $ENVIRONMENT_GROUP_NAME
tlsMode: MUTUAL
caCertPath: "$CA_FILE"
sslCertPath: "$CERT_FILE"
sslKeyPath: "$KEY_FILE"
Em que $ENVIRONMENT_GROUP_NAME é o nome de um grupo de ambientes com alias de anfitriões correspondentes, $CA_FILE especifica os dados do certificado TLS (ficheiro de pacote de AC) que contém os certificados da autoridade de certificação, e $CERT_FILE e $KEY_FILE são ficheiros de certificado e chave 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 no espaço de nomes
apigee
:kubectl create -n APIGEE_NAMESPACE secret generic $SECRET_NAME \ --from-file=key=$KEY_FILE \ --from-file=cert=$CERT_FILE
- Crie um segredo para a CA:
kubectl create -n APIGEE_NAMESPACE 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