<ph type="x-smartling-placeholder"></ph>
현재 Apigee Edge 문서를 보고 있습니다.
Apigee X 문서. 정보
이 문서에서는 두 가지 기능 영역에 대해 Edge에서 TLS를 구성하는 방법을 간략하게 설명합니다.
- API 클라이언트로 API 프록시에 액세스 Edge 라우터에서 가상 호스트를 사용하여 TLS를 구성합니다.
- Edge로 백엔드 서비스에 액세스합니다. Edge 메시지 프로세서에서 대상 엔드포인트 및 대상 서버를 사용하여 TLS를 구성합니다.
두 가지 액세스 유형은 아래에 나와 있습니다.
가상 호스트 또는 대상 엔드포인트/대상 서버의 TLS 옵션 설정 정보
가상 호스트는 다음과 같은 형식의 XML 객체로 나타낼 수 있습니다.
<VirtualHost name="secure"> ... <SSLInfo> <Enabled>true</Enabled> <ClientAuthEnabled>true</ClientAuthEnabled> <KeyStore>ref://myKeystoreRef</KeyStore> <KeyAlias>myKeyAlias</KeyAlias> <TrustStore>ref://myTruststoreRef</TrustStore> <IgnoreValidationErrors>false</IgnoreValidationErrors> </SSLInfo> </VirtualHost>
TLS를 구성하기 위해 수정하는 가상 호스트의 영역은 <SSLInfo> 태그로 정의됩니다. 동일한 <SSLInfo> 태그를 사용하여 대상 엔드포인트 또는 대상 서버를 구성합니다.
다음 표에서는 <SSLInfo> 태그에서 사용되는 TLS 구성 요소를 설명합니다.
요소 | 설명 |
---|---|
<Enabled> |
Edge와 API 클라이언트 간 또는 Edge와 대상 백엔드 간의 단방향 TLS를 사용 설정합니다. 가상 호스트의 경우 인증서와 비공개 키가 포함된 키 저장소를 정의해야 합니다. |
<ClientAuthEnabled> |
Edge와 API 클라이언트 간 또는 Edge와 대상 백엔드 간의 양방향 TLS를 사용 설정합니다. 양방향 TLS를 사용 설정하려면 일반적으로 Edge에 트러스트 저장소를 설정해야 합니다. |
<KeyStore> | 키 저장소입니다. |
<KeyAlias> | 키 저장소에 인증서와 비공개 키를 업로드할 때 지정된 별칭입니다. |
<TrustStore> | 트러스트 저장소입니다. |
<IgnoreValidationErrors> | true인 경우 Edge는 TLS 인증서 오류를 무시합니다. 대상 서버 및 대상 엔드포인트에 TLS를 구성할 때와 양방향 TLS를 사용하는 가상 호스트를 구성할 때 유효합니다. 기본값은 false입니다. 대상 엔드포인트/대상 서버와 함께 사용될 때 백엔드 시스템이 SNI를 사용하고 호스트 이름과 일치하지 않는 주체 고유 이름(DN)이 있는 인증서를 반환하는 경우 오류를 무시할 수 있는 방법이 없으며 연결에 실패합니다. |
<CommonName> | 지정된 경우 대상 인증서의 일반 이름을 검증하는 값입니다. 이 값은 TargetEndpoint 및 TargetServer 구성에만 유효합니다. 그렇지 않습니다. VirtualHost 구성에 사용할 수 있습니다. 기본적으로 지정된 값은 대상 인증서의 일반 이름과 정확하게 일치됩니다.
예를 들어 <CommonName>의 값으로 원하는 경우 Apigee는 예를 들어 대상 인증서에서 <CommonName wildcardMatch="true">*.myhost.com</CommonName> |
<KeyStore> 및 <TrustStore> 요소 설정 정보
위의 가상 호스트 예시에서는 키 저장소와 트러스트 저장소가 참조를 사용하여 다음 형식으로 지정됩니다.
<KeyStore>ref://myKeystoreRef</KeyStore> <TrustStore>ref://myTruststoreRef</TrustStore>
Apigee에서는 항상 키 저장소와 트러스트 저장소에 대한 참조를 사용할 것을 적극 권장합니다. 참조는 키 저장소 이름을 직접 지정하는 대신 키 저장소 또는 트러스트 저장소의 이름이 포함되는 변수입니다. 예를 들면 다음과 같습니다.
myKeystoreRef
는 키 저장소 이름이 포함된 참조입니다. 이 예시에서 키 저장소 이름은 myKeystore입니다.myTruststoreRef
는 트러스트 저장소 이름이 포함된 참조입니다. 이 예시에서 트러스트 저장소의 이름은 myTruststore입니다.
인증서가 만료되면 가상 호스트 또는 대상 엔드포인트/대상 서버를 업데이트하여 새 인증서가 포함된 키 저장소 또는 트러스트 저장소를 지정해야 합니다. 참조를 사용하면 가상 호스트 또는 대상 엔드포인트/대상 서버 자체를 수정할 필요 없이 참조 값을 수정하여 키 저장소 또는 트러스트 저장소를 변경할 수 있다는 이점이 있습니다.
- Cloud 고객의 경우: 참조 값을 변경할 필요가 없습니다. Apigee Edge 지원팀에 문의하세요.
- Private Cloud 고객의 경우: 참조 값을 변경해도 다음 사항이 적용되지 않습니다. 라우터 및 메시지 프로세서와 같은 에지 구성요소를 다시 시작해야 합니다.
키 저장소 이름과 트러스트 저장소 이름을 직접 지정할 수도 있습니다.
<KeyStore>myKeystore</KeyStore> <TrustStore>myTruststore</TrustStore>
keystore 또는 truststore의 이름을 직접 지정하는 경우 Cloud 고객은 Apigee Edge 지원팀에 문의하기 프라이빗 클라우드 고객은 특정 Edge 구성요소를 다시 시작하여 인증서를 업데이트해야 합니다.
대상 엔드포인트/대상 서버에만 해당되는 세 번째 옵션은 다음과 같이 흐름 변수를 사용하는 것입니다.
<KeyStore>{ssl.keystore}</KeyStore> <TrustStore>{ssl.truststore}</TrustStore>
흐름 변수는 대상 엔드포인트/대상 서버에서 작동하며 참조와 같은 키 저장소 또는 트러스트 저장소를 업데이트할 수 있도록 합니다. 그러나 가상 호스트에서는 작동하지 않으며 모든 요청마다 키 저장소, 별칭, 트러스트 저장소에 대한 정보를 전달해야 합니다.
키 저장소 및 트러스트 저장소 사용에 대한 제한
유료 클라우드 고객 및 TLS를 구성하는 모든 프라이빗 클라우드 고객은 다음 사항을 고려해야 합니다. 키 저장소 및 truststore에 대한 참조를 사용할 때 다음 제한 사항이 적용됩니다.
- Apigee 라우터에서 TLS를 종료한 경우에만 가상 호스트에서 키 저장소 및 트러스트 저장소 참조를 사용할 수 있습니다.
- Apigee 라우터 앞에 부하 분산기가 있고 부하 분산기에서 TLS를 종료한 경우 가상 호스트에서 키 저장소 및 트러스트 저장소 참조를 사용할 수 없습니다.
기존 가상 호스트가 리터럴 키 저장소 또는 트러스트 저장소 이름을 사용하는 경우
Edge의 기존 가상 호스트는 키 저장소 및 트러스트 저장소에 대한 참조를 사용하지 않도록 구성되었을 수 있습니다. 이 경우 가상 호스트를 업데이트하여 참조를 사용할 수 있습니다.
클라우드의 에지
키 저장소 참조를 사용하도록 가상 호스트를 변경하려면 작업해야 하는 키 저장소 Apigee Edge 지원
Private Cloud의 에지
참조를 사용하도록 가상 호스트를 변환하려면 다음 안내를 따르세요.
- 참조를 사용하도록 가상 호스트를 업데이트합니다.
- 라우터를 다시 시작합니다.
Apigee 무료 체험판 인증서 및 키 사용 정보
Cloud용 유료 Edge 계정이 있지만 아직 TLS 인증서와 키가 없는 경우 Apigee 무료 체험판 인증서 및 키를 사용하는 가상 호스트 즉, 키 저장소를 먼저 만들지 않고도 가상 호스트를 만들 수 있습니다.
Apigee 무료 체험판 인증서 및 키를 사용하여 가상 호스트를 정의하는 XML 객체에서는
<KeyStore>
및 <KeyAlias>
요소로 대체하고
<UseBuiltInFreeTrialCert>
요소의 하위 요소로 추가합니다.
<VirtualHost name="myTLSVHost"> <HostAliases> <HostAlias>myapi.apigee.net</HostAlias> </HostAliases> <Port>443</Port> <SSLInfo> <Enabled>true</Enabled> <ClientAuthEnabled>false</ClientAuthEnabled> </SSLInfo> <UseBuiltInFreeTrialCert>true</UseBuiltInFreeTrialCert> </VirtualHost>
양방향 TLS를 수행하는 경우에도 <ClientAuthEnabled>
요소를 true
로 설정하고 <TrustStore>
요소와 함께 참조를 사용하여 트러스트 저장소를 지정해야 합니다.
자세한 내용은 Cloud용 가상 호스트 구성을 참조하세요.
TLS 구성 정보
TLS 구성 수행 방법을 결정하는 두 가지 주요 요소는 다음과 같습니다.
- 에지 클라우드 또는 프라이빗 클라우드 고객이신가요?
- 만료되었거나 만료가 임박한 인증서는 어떻게 업데이트하나요?
Cloud 및 Private Cloud 구성 옵션
다음 표는 클라우드 및 프라이빗 클라우드의 다양한 구성 옵션을 보여줍니다. 고객:
Private Cloud | Cloud | |
---|---|---|
가상 호스트 | 완전한 제어 | 유료 계정의 경우에만 완전한 제어 |
대상 엔드포인트/대상 서버 | 완전한 제어 | 완전한 제어 |
프라이빗 클라우드 고객은 가상 호스트와 프라이빗 클라우드(VPC) 둘 다의 구성을 대상 엔드포인트/대상 서버 이러한 제어에는 가상 머신을 만들고 삭제하는 기능이 포함됩니다. 가상 호스트에 모든 속성을 설정할 수 있습니다.
유료 고객이든 일반 사용자용이든 모든 Cloud 고객은 대상 엔드포인트/대상 서버 또한 유료 클라우드 고객은 여러 가상 호스트로 구성됩니다.
만료된 인증서 처리
TLS 인증서가 만료되거나 인증서가 더 이상 유효하지 않도록 시스템 구성이 변경되면 인증서를 업데이트해야 합니다. 가상 호스트 또는 대상 엔드포인트/대상 서버의 TLS를 구성하는 경우 구성을 수행하기 전에 해당 업데이트를 수행할 방법을 결정해야 합니다.
인증서 만료 시기
Edge에서는 인증서를 다음 두 위치 중 하나에 저장합니다.
- 키 저장소 - TLS 핸드셰이크 중에 항목을 식별하는 데 사용되는 TLS 인증서와 비공개 키를 포함합니다.
- 트러스트 저장소 - 클라이언트에 제공된 TLS 서버 인증서의 유효성을 검사하는 데 사용되는 TLS 클라이언트의 신뢰할 수 있는 인증서를 포함합니다. 이러한 인증서는 일반적으로 자체 서명 인증서, 신뢰할 수 있는 CA에서 서명한 인증서 또는 양방향 TLS의 일부로 사용되는 인증서입니다.
키 저장소의 인증서가 만료되고 키 저장소 참조를 사용하는 경우 새 인증서를 키 저장소에 업로드할 수 없습니다. 대신 다음을 수행합니다.
- 새 키 저장소를 생성합니다.
- 이전 키 저장소와 동일한 별칭 이름을 사용하여 새 키 저장소에 새 인증서를 업로드합니다.
- 새 키 저장소를 사용하도록 가상 호스트 또는 대상 서버/대상 엔드포인트의 참조를 업데이트합니다.
트러스트 저장소의 인증서가 만료되고 트러스트 저장소에 대한 참조를 사용하는 경우 다음을 수행합니다.
- 새 트러스트 저장소를 만듭니다.
- 새 인증서를 새 트러스트 저장소에 업로드합니다. 별칭 이름은 트러스트 저장소에서 중요하지 않습니다. 참고 인증서가 체인의 일부인 경우 모든 인증서가 포함된 단일 파일을 만들어 해당 파일을 단일 별칭으로 업로드하거나, 각 인증서에 서로 다른 별칭을 사용하여 체인의 모든 인증서를 트러스트 저장소에 업로드 합니다.
- 새 트러스트 저장소를 사용하려면 가상 호스트 또는 대상 서버/대상 엔드포인트의 참조를 업데이트합니다.
만료된 인증서 업데이트 방법 요약
가상 호스트 또는 대상 엔드포인트/대상 서버에서 키 저장소 및 트러스트 저장소의 이름을 지정하는 데 사용하는 방법은 인증서 업데이트 수행 방법을 결정합니다. 이 옵션은 다음과 같습니다.
- 참조
- 직접 이름
- 흐름 변수
이러한 각 방법은 업데이트 프로세스에 서로 다른 영향을 미칩니다. 자세한 내용은 다음 표를 참조하세요. 보시다시피 참조는 클라우드 및 프라이빗 클라우드 고객:
구성 유형 | 인증서 업데이트/교체 방법 | Private Cloud | Cloud |
---|---|---|---|
참조(권장) | 키 저장소의 경우 새 이름과 이전 별칭과 동일한 이름으로 새 키 저장소를 만듭니다. 트러스트 저장소의 경우 새 이름으로 트러스트 저장소를 만듭니다. |
키 저장소 또는 트러스트 저장소에 대한 참조를 업데이트합니다. 라우터 또는 메시지 프로세서를 다시 시작할 필요가 없습니다. |
키 저장소 또는 트러스트 저장소에 대한 참조를 업데이트합니다. Apigee 지원팀에 문의할 필요가 없습니다. |
흐름 변수(대상 엔드포인트만 해당) | 키 저장소의 경우 새 이름 및 동일한 이름 또는 새 이름의 별칭으로 새 키 저장소를 만듭니다. 트러스트 저장소의 경우 새 이름으로 트러스트 저장소를 만듭니다. |
각 요청에서 업데이트된 흐름 변수를 새 키 저장소, 별칭 또는 트러스트 저장소의 이름으로 전달합니다. 라우터 또는 메시지 프로세서를 다시 시작할 필요가 없습니다. |
각 요청에서 업데이트된 흐름 변수를 새 키 저장소, 별칭 또는 트러스트 저장소의 이름으로 전달합니다. Apigee 지원팀에 문의할 필요가 없습니다. |
직접성 | 새 키 저장소, 별칭, 트러스트 저장소를 만듭니다. |
가상 호스트를 업데이트하고 라우터를 다시 시작합니다.
트러스트 저장소가 대상 엔드포인트/대상 서버에서 사용되는 경우 프록시를 다시 배포합니다. |
가상 호스트의 경우 Apigee Edge 지원팀에 문의하여 라우터를 다시 시작하세요.
트러스트 저장소가 대상 엔드포인트/대상 서버에서 사용되는 경우 프록시를 다시 배포합니다. |
직접성 | 키 저장소 또는 트러스트 저장소를 삭제하고 동일한 이름으로 다시 생성합니다. |
가상 호스트를 업데이트할 필요도 없고 라우터를 다시 시작할 필요도 없습니다. 하지만 API 요청은
새 키 저장소와 별칭이 설정될 때까지만 유지됩니다.
Edge와 백엔드 서비스 간의 양방향 TLS에 키 저장소가 사용되는 경우 다시 시작하세요. 메시지 프로세서의 역할을 합니다. |
가상 호스트를 업데이트할 필요는 없습니다. 하지만 새 키 저장소와 별칭이 설정될 때까지 API 요청이 실패합니다.
Edge와 백엔드 서비스 간의 양방향 TLS에 키 저장소가 사용되는 경우 Apigee Edge 지원팀에 문의하여 메시지 프로세서를 다시 시작하세요. |
직접 | 트러스트 저장소의 경우에만 트러스트 저장소에 새 인증서를 업로드합니다. |
트러스트 저장소를 가상 호스트에서 사용하는 경우 라우터를 다시 시작합니다.
대상 엔드포인트/대상 서버에서 트러스트 저장소를 사용하는 경우 메시지를 다시 시작합니다. 프로세서. |
가상 호스트의 경우 Apigee Edge 지원팀에 문의하여 에지 라우터를 다시 시작하세요.
트러스트 저장소를 대상 엔드포인트/대상 서버에서 사용하는 경우 Apigee Edge 지원팀에 문의하여 메시지 프로세서를 다시 시작하세요. |