적용 대상: 모든 API Management 계층
Azure API Management는 다음에 대한 API 트래픽을 보호하기 위해 여러 버전의 TLS(전송 계층 보안) 프로토콜을 지원합니다.
- 클라이언트 쪽(클라이언트에서 API Management 게이트웨이로)
- 백 엔드 쪽(백 엔드에 대한 API Management 게이트웨이)
또한 API Management는 API 게이트웨이에서 사용하는 여러 암호 그룹도 지원합니다.
서비스 계층에 따라 API Management는 클라이언트 및 백 엔드 연결 및 지원되는 여러 암호 그룹을 위해 최대 1.2 또는 TLS 1.3 TLS 버전을 지원합니다. 이 가이드에서는 Azure API Management 인스턴스용 프로토콜 및 암호화 구성을 관리하는 방법을 설명합니다.
참고
- 자체 호스팅 게이트웨이를 사용하는 경우 자체 호스팅 게이트웨이 보안을 참조하여 TLS 프로토콜 및 암호 도구 모음을 관리합니다.
- 다음 계층에서는 기본 암호화 구성의 변경 내용이 지원되지 않습니다. 소비, Basic v2, Standard v2, Premium v2
- 작업 영역에서 관리되는 게이트웨이는 기본 프로토콜 및 암호 구성에 대한 변경을 지원하지 않습니다.
참고
API Management 서비스 계층에 따라 변경 내용을 적용하는 데 15~45분 이상이 걸릴 수 있습니다. 개발자 서비스 계층의 인스턴스에는 프로세스 중에 가동 중지 시간이 있습니다. 기본 및 상위 계층의 인스턴스는 프로세스 중에 가동 중지 시간이 발생하지 않습니다.
필수 구성 요소
- API Management 인스턴스. 없다면 하나 생성합니다.
API Management 인스턴스로 이동
Azure 포털에서 API Management 서비스를 검색하고 선택합니다.
API Management 서비스 페이지에서 API Management 인스턴스를 선택합니다.
TLS 프로토콜 및 암호 그룹을 관리하는 방법
- API Management 인스턴스의 왼쪽 탐색 영역에 있는 보안에서 프로토콜 + 암호를 선택합니다.
- 원하는 프로토콜 또는 암호화를 사용하거나 사용하지 않도록 설정합니다.
- 저장을 선택합니다.
참고
백 엔드 쪽 TLS 1.2와 같은 일부 프로토콜 또는 암호화 도구 모음은 Azure Portal에서 사용하거나 사용하지 않도록 설정할 수 없습니다. 대신 REST 호출을 적용해야 합니다.
properties.customProperties REST API에서 구조를 사용합니다.
클래식 계층에서 TLS 1.3 지원
TLS 1.3 지원은 API Management 클래식 서비스 계층(소비, 개발자, 기본, 표준 및 프리미엄)에서 사용할 수 있습니다. 이러한 서비스 계층에서 만든 대부분의 인스턴스에서 TLS 1.3은 클라이언트 쪽 연결에 대해 기본적으로 영구적으로 사용하도록 설정됩니다. 백 엔드 쪽 TLS 1.3을 사용하도록 설정하는 것은 선택 사항입니다. TLS 1.2는 클라이언트와 백 엔드 쪽 모두에서 기본적으로 사용하도록 설정됩니다.
TLS 1.3은 향상된 보안 및 성능을 제공하는 TLS 프로토콜의 주요 수정 버전입니다. 여기에는 핸드셰이크 대기 시간 감소 및 특정 유형의 공격에 대한 보안 향상과 같은 기능이 포함됩니다.
참고
API Management 및 작업 영역 게이트웨이의 v2 계층은 클라이언트 쪽 및 백 엔드 쪽 연결에 대해 기본적으로 TLS 1.2를 지원합니다. 현재 TLS 1.3을 지원하지 않습니다.
클라이언트에 인증서 재협상이 필요한 경우 필요에 따라 TLS 1.3을 사용하도록 설정합니다.
TLS 1.3은 인증서 재협상을 지원하지 않습니다. TLS에서 인증서 재협상을 사용하면 클라이언트와 서버가 연결을 종료하지 않고도 인증을 위해 세션 중간에 연결 매개 변수를 재협상할 수 있습니다.
클라이언트 인증서 재협상에 의존하는 것으로 확인된 서비스에는 기본적으로 TLS 1.3이 사용하도록 설정되어 있지 않습니다.
경고
인증서 재협상을 사용하는 TLS 규격 클라이언트에서 API에 액세스하는 경우 클라이언트 쪽 연결에 TLS 1.3을 사용하도록 설정하면 해당 클라이언트가 연결되지 않습니다. 기본적으로 사용하도록 설정되지 않은 서비스에서 클라이언트 쪽 TLS 1.3을 사용하도록 설정하기 전에 최근에 인증서 재협상을 사용한 API를 검토합니다.
이러한 인스턴스에서 클라이언트 쪽 연결에 TLS 1.3을 사용하도록 설정하려면 프로토콜 + 암호 페이지에서 설정을 구성합니다.
- 프로토콜 + 암호화 페이지의 클라이언트 프로토콜 섹션에서 TLS 1.3 옆에 있는 구성 보기 및 관리를 선택합니다.
- 최근 클라이언트 인증서 재협상 목록을 검토합니다. 이 목록에는 클라이언트가 최근에 클라이언트 인증서 재협상을 사용한 API 작업이 표시됩니다.
- 클라이언트 쪽 연결에 TLS 1.3을 사용하도록 설정하려면 [사용]을 선택합니다.
- 닫기를 선택합니다.
TLS 1.3을 사용하도록 설정한 후 TLS 연결 실패를 나타내는 로그에서 게이트웨이 요청 메트릭 또는 TLS 관련 예외를 검토합니다. 필요한 경우 클라이언트 쪽 연결에 대해 TLS 1.3을 사용하지 않도록 설정하고 TLS 1.2로 다운그레이드합니다.
이러한 인스턴스에서 클라이언트 쪽 연결에 대해 TLS 1.3을 사용하지 않도록 설정해야 하는 경우 프로토콜 + 암호 페이지에서 설정을 구성합니다.
- 프로토콜 + 암호화 페이지의 클라이언트 프로토콜 섹션에서 TLS 1.3 옆에 있는 구성 보기 및 관리를 선택합니다.
- 사용 안 함을 선택합니다.
- 닫기를 선택합니다.
백 엔드 쪽 TLS 1.3
백 엔드 쪽 TLS 1.3을 사용하도록 설정하는 것은 선택 사항입니다. 사용하도록 설정하면 API Management는 백 엔드 서비스에 대한 연결에 TLS 1.3을 사용합니다.
경고
백 엔드 쪽 연결에 TLS 1.3을 사용하도록 설정하면 API Management와 백 엔드 간의 클라이언트 인증서 재협상을 사용하는 백 엔드 서비스와의 연결 오류가 발생합니다.
프로토콜 + 암호화 페이지에서 백 엔드 쪽 TLS 1.3을 사용하도록 설정할 수 있습니다.
- 프로토콜 + 암호화 페이지의 백 엔드 프로토콜 섹션에서 TLS 1.3 설정을 사용하도록 설정합니다.
- 저장을 선택합니다.
관련 콘텐츠
- API Management 인스턴스 보안에 대한 권장 사항은 API Management 대한 Azure 보안 기준을 참조하세요.
- API Management에 대한 API Management 아키텍처 모범 사례의 보안 고려 사항에 대해 알아봅니다.
- TLS에 대해 자세히 알아봅니다.