Este tópico explica como ativar o TLS unidirecional e o mTLS no gateway de entrada.
Como configurar o TLS unidirecional
Use o TLS unidirecional para proteger os endpoints de proxy de API no gateway de entrada. Para ativar o TLS unidirecional, configure a entrada com pares de certificado/chave TLS ou com um secret do Kubernetes, conforme explicado nas opções a seguir.
Opção 1: par de chave/certificado
Forneça arquivos de certificado e chave SSL na propriedade virtualhosts
no seu arquivo de modificações:
virtualhosts:
- name: $ENVIRONMENT_GROUP_NAME
sslCertPath: "$CERT_FILE"
sslKeyPath: "$KEY_FILE"
Em que $ENVIRONMENT_GROUP_NAME é o nome de um grupo de ambientes com aliases de host correspondentes, e $CERT_FILE e $KEY_FILE são arquivos de chave e certificado TLS. Consulte Criar certificados TLS.
Opção 2: secret do Kubernetes
Crie uma chave secreta do Kubernetes e adicione-a ao arquivo de substituições.
- Crie o secret no namespace
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 arquivo de modificações:virtualhosts: - name: $ENVIRONMENT_GROUP_NAME tlsMode: SIMPLE # Note: SIMPLE is the default, so it is optional. sslSecret: $SECRET_NAME
Como configurar o mTLS
Em vez de TLS de mão única, você pode configurar mTLS no gateway de entrada. Há duas opções para configurar o mTLS, conforme explicado abaixo.
Opção 1: par de chave/certificado e arquivo CA
Forneça os dados de certificado TLS que contêm os certificados da autoridade certificadora:
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 ambiente com aliases de host correspondentes, $CA_FILE especifica os dados do certificado TLS (arquivo de pacote de AC) que contêm certificados de autoridade certificadora, e $CERT_FILE e $KEY_FILE são arquivos de certificado e chave TLS. Consulte Criar certificados TLS.
Opção 2: secrets do Kubernetes
Criar dois secrets do Kubernetes O primeiro é para o par de certificado/chave SSL e o segundo é para a CA. Em seguida, adicione-os ao arquivo de substituição.
- Crie dois secrets do Kubernetes no namespace
apigee
:kubectl create -n APIGEE_NAMESPACE secret generic $SECRET_NAME \ --from-file=key=$KEY_FILE \ --from-file=cert=$CERT_FILE
- Crie um secret para a CA:
kubectl create -n APIGEE_NAMESPACE secret generic $SECRET_NAME-cacert \ --from-file=cacert=$CA_FILE
- Configure a propriedade
virtualhosts
no arquivo de modificações:virtualhosts: - name: $ENVIRONMENT_GROUP_NAME tlsMode: MUTUAL # Note: Be sure to specify MUTUAL sslSecret: $SECRET_NAME