API Gateway에서 REST API 사용자 지정 도메인에 대한 보안 정책 선택 - Amazon API Gateway

API Gateway에서 REST API 사용자 지정 도메인에 대한 보안 정책 선택

Amazon API Gateway 사용자 지정 도메인에 대한 보안을 강화하기 위해 API Gateway 콘솔, AWS CLI, 또는 AWS SDK에서 보안 정책을 선택할 수 있습니다.

보안 정책은 API Gateway가 제공하는 최소 TLS 버전과 암호 제품군의 사전 정의된 조합입니다. TLS 버전 1.2 또는 TLS 버전 1.0 보안 정책 중 하나를 선택할 수 있습니다. TLS 프로토콜은 클라이언트와 서버 간의 변조 및 도청과 같은 네트워크 보안 문제를 해결합니다. 클라이언트가 사용자 지정의 도메인을 통해 API에 TLS 핸드셰이크를 설정하면 보안 정책은 클라이언트가 선택할 수 있는 TLS 버전 및 암호 제품군 옵션을 적용합니다.

사용자 지정 도메인 설정에서, 보안 정책은 다음 두 가지 설정을 결정합니다.

  • API Gateway가 API 클라이언트와 통신하는 데 사용하는 최소 TLS 버전

  • API Gateway가 API 클라이언트에 반환하는 콘텐츠를 암호화하는 데 사용하는 암호

TLS 1.0 보안 정책을 선택하면 보안 정책은 TLS 1.0, TLS 1.2 및 TLS 1.3 트래픽을 허용합니다. TLS 1.2 보안 정책을 선택하면 보안 정책은 TLS 1.2 및 TLS 1.3 트래픽을 허용하고 TLS 1.0 트래픽은 거부합니다.

참고

사용자 지정 도메인에 대한 보안 정책만 지정할 수 있습니다. 기본 엔드포인트를 사용하는 API의 경우 API Gateway는 다음 보안 정책을 사용합니다.

  • 엣지 최적화 API의 경우: TLS-1-0

  • 리전 API의 경우: TLS-1-0

  • 프라이빗 API의 경우: TLS-1-2

각 보안 정책의 암호는 이 페이지의 다음 표에 설명되어 있습니다.

사용자 지정 도메인에 대한 보안 정책을 지정하는 방법

사용자 지정 도메인 이름을 생성할 때 사용자 지정 도메인에 대한 보안 정책을 지정합니다. 사용자 정의 도메인을 만드는 방법을 알아보려면, API Gateway API에서 엣지 최적화 사용자 지정 도메인 이름 설정 또는 API Gateway에서 리전 사용자 지정 도메인 이름 설정를 참조합니다.

사용자 지정 도메인 이름의 보안 정책을 변경하려면 사용자 지정 도메인 설정을 업데이트합니다. AWS Management Console, AWS CLI, 또는 AWS SDK를 사용하여 사용자 지정 도메인 이름 설정을 업데이트할 수 있습니다.

API Gateway REST API나 AWS CLI를 사용하는 경우, securityPolicy 파라미터에 새 TLS 버전, TLS_1_0 또는 TLS_1_2를 지정합니다. 자세한 내용은 Amazon API Gateway REST API 참조domainname:update 또는 AWS CLI 참조의 update-domain-name을 참조합니다.

업데이트 작업을 완료하는 데 몇 분 정도 걸릴 수 있습니다.

엣지에 최적화된 사용자 지정 도메인에 대해 지원되는 보안 정책, TLS 프로토콜 버전 및 암호

다음 표에서는 엣지 최적화 사용자 지정 도메인 이름에 대해 지정할 수 있는 보안 정책에 대해 설명합니다.

TLS 프로토콜

TLS_1_0 보안 정책

TLS_1_2 보안 정책

TLSv1.3
TLSv1.2
TLSv1.1 아니요
TLSv1 아니요

다음 표에서는 각 보안 정책에 사용할 수 있는 TLS 암호를 설명합니다.

TLS 싸이퍼

TLS_1_0 보안 정책

TLS_1_2 보안 정책

TLS_AES_128_GCM_SHA256
TLS_AES_256_GCM_SHA384
TLS_CHACHA20_POLY1305_SHA256
ECDHE-ECDSA-AES128-GCM-SHA256
ECDHE-ECDSA-AES128-SHA256
ECDHE-ECDSA-AES128-SHA 아니요
ECDHE-ECDSA-AES256-GCM-SHA384
ECDHE-ECDSA-CHACHA20-POLY1305
ECDHE-ECDSA-AES256-SHA384
ECDHE-ECDSA-AES256-SHA 아니요
ECDHE-RSA-AES128-GCM-SHA256
ECDHE-RSA-AES128-SHA256
ECDHE-RSA-AES128-SHA 아니요
ECDHE-RSA-AES256-GCM-SHA384
ECDHE-RSA-CHACHA20-POLY1305
ECDHE-RSA-AES256-SHA384
ECDHE-RSA-AES256-SHA 아니요
AES128-GCM-SHA256 아니요
AES256-GCM-SHA384
AES128-SHA256
AES256-SHA 아니요
AES128-SHA 아니요
DES-CBC3-SHA 아니요

리전 사용자 지정 도메인에 대해 지원되는 보안 정책, TLS 프로토콜 버전 및 암호

다음 표에서는 리전 사용자 지정 도메인 이름에 대한 보안 정책을 설명합니다.

TLS 프로토콜

TLS_1_0 보안 정책

TLS_1_2 보안 정책

TLSv1.3

TLSv1.2

TLSv1.1

아니요

TLSv1

아니요

다음 표에서는 각 보안 정책에 사용할 수 있는 TLS 암호를 설명합니다.

TLS 싸이퍼

TLS_1_0 보안 정책

TLS_1_2 보안 정책

TLS_AES_128_GCM_SHA256

TLS_AES_256_GCM_SHA384

TLS_CHACHA20_POLY1305_SHA256

ECDHE-ECDSA-AES128-GCM-SHA256

ECDHE-RSA-AES128-GCM-SHA256

ECDHE-ECDSA-AES128-SHA256

ECDHE-RSA-AES128-SHA256

ECDHE-ECDSA-AES128-SHA

아니요

ECDHE-RSA-AES128-SHA

아니요

ECDHE-ECDSA-AES256-GCM-SHA384

ECDHE-RSA-AES256-GCM-SHA384

ECDHE-ECDSA-AES256-SHA384

ECDHE-RSA-AES256-SHA384

ECDHE-RSA-AES256-SHA

아니요

ECDHE-ECDSA-AES256-SHA

아니요

AES128-GCM-SHA256

AES128-SHA256

AES128-SHA

아니요

AES256-GCM-SHA384

AES256-SHA256

AES256-SHA

아니요

프라이빗 API에 지원되는 TLS 프로토콜 버전 및 암호

다음 표에서는 프라이빗 API에 대해 지원되는 TLS 프로토콜을 설명합니다. 프라이빗 API에 대한 보안 정책 지정은 지원되지 않습니다.

TLS 프로토콜

TLS_1_2 보안 정책

TLSv1.2

다음 표에서는 프라이빗 API에 대한 TLS_1_2 보안 정책에 사용할 수 있는 TLS 암호를 설명합니다.

TLS 싸이퍼

TLS_1_2 보안 정책

ECDHE-ECDSA-AES128-GCM-SHA256

ECDHE-RSA-AES128-GCM-SHA256

ECDHE-ECDSA-AES128-SHA256

ECDHE-RSA-AES128-SHA256

ECDHE-ECDSA-AES256-GCM-SHA384
ECDHE-RSA-AES256-GCM-SHA384
ECDHE-ECDSA-AES256-SHA384
ECDHE-RSA-AES256-SHA384
AES128-GCM-SHA256
AES128-SHA256
AES256-GCM-SHA384
AES256-SHA256

OpenSSL 및 RFC 암호 이름

OpenSSL 및 IETF RFC 5246은 동일한 암호에 대해 서로 다른 이름을 사용합니다. 다음 표에는 각 암호의 RFC 이름에 OpenSSL 이름이 매핑되어 있습니다.

OpenSSL 암호 이름

RFC 암호 이름

TLS_AES_128_GCM_SHA256

TLS_AES_128_GCM_SHA256

TLS_AES_256_GCM_SHA384

TLS_AES_256_GCM_SHA384

TLS_CHACHA20_POLY1305_SHA256

TLS_CHACHA20_POLY1305_SHA256

ECDHE-RSA-AES128-GCM-SHA256

TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256

ECDHE-RSA-AES128-SHA256

TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256

ECDHE-RSA-AES128-SHA

TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA

ECDHE-RSA-AES256-GCM-SHA384

TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384

ECDHE-RSA-AES256-SHA384

TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384

ECDHE-RSA-AES256-SHA

TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA

AES128-GCM-SHA256

TLS_RSA_WITH_AES_128_GCM_SHA256

AES256-GCM-SHA384

TLS_RSA_WITH_AES_256_GCM_SHA384

AES128-SHA256

TLS_RSA_WITH_AES_128_CBC_SHA256

AES256-SHA

TLS_RSA_WITH_AES_256_CBC_SHA

AES128-SHA

TLS_RSA_WITH_AES_128_CBC_SHA

DES-CBC3-SHA

TLS_RSA_WITH_3DES_EDE_CBC_SHA

HTTP API 및 WebSocket API에 대한 정보

HTTP APIs 및 WebSocket APIs에 대한 자세한 내용은 API Gateway의 HTTP API 보안 정책API Gateway의 WebSocket API 보안 정책을 참조합니다.