

 이 백서는 기록 참조용입니다. 일부 콘텐츠는 오래되어 일부 링크를 사용하지 못할 수 있습니다.

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# API 보안 우선 순위 지정
<a name="prioritize-api-security"></a>

 모든 애플리케이션은 승인된 클라이언트만 API 리소스에 액세스할 수 있도록 해야 합니다. 다중 계층 애플리케이션을 설계할 때 Amazon API Gateway가 로직 계층을 보호하는 데 기여하는 다양한 방법을 활용할 수 있습니다.

## 전송 보안
<a name="transit-security"></a>

 APIs에 대한 모든 요청은 HTTPS를 통해 전송 중 암호화를 활성화할 수 있습니다.

 API Gateway는 기본 제공 SSL/TLS 인증서를 제공합니다. 퍼블릭 APIs에 사용자 지정 도메인 이름 옵션을 사용하는 경우 [AWS Certificate Manager](https://aws.amazon.com/certificate-manager/)를 사용하여 자체 SSL/TLS 인증서를 제공할 수 있습니다. API Gateway는 상호 TLS(mTLS) 인증도 지원합니다. 상호 TLS는 API의 보안을 강화하고 클라이언트 스푸핑 또는 man-in-the 중간 공격과 같은 공격으로부터 데이터를 보호하는 데 도움이 됩니다.

## API 권한 부여
<a name="api-authorization"></a>

 API의 일부로 생성하는 각 리소스/메서드 조합에는 (IAM) 정책에서 참조할 수 있는 고유한 Amazon 리소스 이름 AWS Identity and Access Management (ARN)이 부여됩니다.

 API Gateway에서 API에 권한을 추가하는 세 가지 일반적인 방법이 있습니다.
+  **IAM 역할 및 정책:** 클라이언트는 API 액세스를 위해 [AWS 서명 버전 4](https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html)(SigV4) 권한 부여 및 IAM 정책을 사용합니다. 동일한 자격 증명은 필요에 따라 다른 AWS 서비스 및 리소스(예: Amazon S3 버킷 또는 Amazon DynamoDB 테이블)에 대한 액세스를 제한하거나 허용할 수 있습니다.
+  **Amazon Cognito 사용자 풀:** 클라이언트는 [Amazon Cognito](https://aws.amazon.com/cognito/) 사용자 풀을 통해 로그인하고 요청의 권한 부여 헤더에 포함된 토큰을 얻습니다.
+  **Lambda 권한 부여자:** 보유자 토큰 전략(예: OAuth 및 SAML)을 사용하거나 요청 파라미터를 사용하여 사용자를 식별하는 사용자 지정 권한 부여 체계를 구현하는 Lambda 함수를 정의합니다.

## 액세스 제한
<a name="access-restrictions"></a>

 API Gateway는 API 키 생성 및 이러한 키와 구성 가능한 사용 계획의 연결을 지원합니다. CloudWatch를 사용하여 API 키 사용량을 모니터링할 수 있습니다.

 API Gateway는 API의 각 메서드에 대한 제한, 속도 제한 및 버스트 속도 제한을 지원합니다.

## 프라이빗 API
<a name="private-apis"></a>

API Gateway를 사용하면 인터페이스 VPC 엔드포인트를 사용하여 Amazon VPC의 가상 프라이빗 클라우드에서만 액세스할 수 있는 프라이빗 REST APIs를 생성할 수 있습니다. VPC에서 생성하는 엔드포인트 네트워크 인터페이스입니다.

리소스 정책을 사용하면 AWS 계정을 포함하여 선택한 VPCs 및 VPC 엔드포인트에서 API에 대한 액세스를 활성화하거나 거부할 수 있습니다. 각 엔드포인트를 사용하여 여러 개의 프라이빗 API에 액세스할 수 있습니다. 또한 온프레미스 네트워크에서 AWS Direct Connect를 사용하여 Amazon VPC에 연결한 다음 그 연결을 통해 프라이빗 API에 액세스할 수도 있습니다.

어떤 경우에든 프라이빗 API로 가는 트래픽은 안전한 연결을 사용하고, Amazon 네트워크를 벗어나지 않으며, 퍼블릭 인터넷과 격리됩니다.

## AWS WAF를 사용한 방화벽 보호
<a name="firewall-protection-using-aws-waf"></a>

인터넷 경계 APIs는 악의적인 공격에 취약합니다. AWS WAF 는 이러한 공격으로부터 APIs를 보호하는 데 도움이 되는 웹 애플리케이션 방화벽입니다. SQL 삽입 및 교차 사이트 스크립팅 공격과 같은 일반적인 웹 악용으로부터 APIs를 보호합니다. API Gateway[AWS WAF](https://aws.amazon.com/waf/)와 함께를 사용하여 APIs.