이 주제에서는 ingressgateway에서 단방향 TLS와 mTLS를 사용 설정하는 방법을 설명합니다.
단방향 TLS 구성
단방향 TLS를 사용하여 인그레스 게이트웨이에서 API 프록시 엔드포인트를 보호합니다. 단방향 TLS를 사용 설정하려면 다음 옵션의 설명대로 TLS 인증서/키 쌍 또는 Kubernetes 보안 비밀을 사용하여 인그레스를 구성합니다.
옵션 1: 키/인증서 쌍
재정의 파일의 virtualhosts
속성에 SSL 인증서와 키 파일을 제공합니다.
virtualhosts: - name: $ENVIRONMENT_GROUP_NAME sslCertPath: "$CERT_FILE" sslKeyPath: "$KEY_FILE"
여기서 $ENVIRONMENT_GROUP_NAME은 해당 호스트 별칭이 있는 환경 그룹의 이름이고 $CERT_FILE 및 $KEY_FILE은 TLS 키와 인증서 파일입니다. TLS 인증서 만들기를 참조하세요.
옵션 2: Kubernetes 보안 비밀
Kubernetes 보안 비밀을 만들고 재정의 파일에 추가합니다.
apigee
네임스페이스에 보안 비밀을 만듭니다.kubectl create -n apigee secret generic $SECRET_NAME \ --from-file=key=$KEY_FILE \ --from-file=cert=$CERT_FILE
- 재정의 파일의
virtualhosts
속성을 구성합니다.virtualhosts: - name: $ENVIRONMENT_GROUP_NAME tlsMode: SIMPLE # Note: SIMPLE is the default, so it is optional. sslSecret: $SECRET_NAME
mTLS 구성
단방향 TLS 대신 인그레스 게이트웨이에서 mTLS를 구성할 수 있습니다. 다음 설명처럼 mTLS를 구성하는 옵션에는 두 가지가 있습니다.
옵션 1: 키/인증서 쌍 및 CA 파일
인증 기관 인증서가 포함된 TLS 인증서 데이터를 제공합니다.
virtualhosts: - name: $ENVIRONMENT_GROUP_NAME tlsMode: MUTUAL caCertPath: "$CA_FILE" sslCertPath: "$CERT_FILE" sslKeyPath: "$KEY_FILE"
여기서 $ENVIRONMENT_GROUP_NAME은 해당 호스트 별칭이 있는 환경 그룹의 이름이고 $CA_FILE은 인증 기관 인증서가 포함된 TLS 인증서 데이터(CA 번들 파일)를 지정하며 $CERT_FILE 및 $KEY_FILE은 TLS 키 파일과 인증서 파일입니다. TLS 인증서 만들기를 참조하세요.
옵션 2: Kubernetes 보안 비밀
Kubernetes 보안 비밀 두 개를 만듭니다. 첫 번째 보안 비밀은 SSL 인증서/키 쌍용이고 두 번째 보안 비밀은 CA용입니다. 그런 다음 재정의 파일에 추가합니다.
apigee
네임스페이스에 Kubernetes 보안 비밀 두 개를 만듭니다.kubectl create -n apigee secret generic $SECRET_NAME \ --from-file=key=$KEY_FILE \ --from-file=cert=$CERT_FILE
- CA의 비밀번호를 만듭니다.
kubectl create -n apigee secret generic $SECRET_NAME-cacert \ --from-file=cacert=$CA_FILE
- 재정의 파일의
virtualhosts
속성을 구성합니다.virtualhosts: - name: $ENVIRONMENT_GROUP_NAME tlsMode: MUTUAL # Note: Be sure to specify MUTUAL sslSecret: $SECRET_NAME