API Gateway REST API에 대한 IAM 인증을 활성화하려면 어떻게 해야 합니까?

3분 분량
0

Amazon API Gateway(API Gateway) REST API에 액세스하기 위해 AWS Identity and Access Management(IAM) 인증을 활성화하려고 합니다. 어떻게 설정해야 하나요?

간략한 설명

API Gateway 콘솔에서 API 메서드의 IAM 인증을 켭니다. 그런 다음 IAM 정책과 리소스 정책을 사용하여 API 사용자의 권한을 지정합니다.

API Gateway에서 사용할 수 있는 다양한 보안 기능에 대한 자세한 내용은 API Gateway에서 REST API에 대한 액세스 제어 및 관리를 참조하십시오.

해결 방법

REST API에 대한 IAM 인증 켜기

1.    API Gateway 콘솔에서 API 이름을 선택합니다.

2.    [리소스(Resources)] 창에서 IAM 인증을 활성화하려는 메서드(예: GET 또는 POST)를 선택합니다.

3.    [메서드 실행(Method Execution)] 창에서 [메서드 요청(Method Request)]을 선택합니다.

4.    [설정]에서 [권한 부여]에 대해 연필 아이콘 ([편집]) 을 선택합니다. 그런 다음 드롭다운 목록에서 AWS_IAM을 선택한 다음 확인 표시 아이콘 ([업데이트]) 을 선택합니다.

5.    (선택 사항) IAM 인증을 활성화하려는 API 메서드마다 2~4단계를 반복합니다.

6.    변경 사항이 적용되도록 API를 배포합니다.

7.    [단계 편집기] 창에 나오는 [호출 URL]을 복사합니다. 나중에 테스트를 위해 호출 URL이 필요합니다.

자세한 내용은 API Gateway 콘솔을 사용하여 메서드 설정을 참조하세요. 또한 API Gateway 콘솔에서 API의 호출 URL을 가져옵니다.

IAM 사용자 그룹에 API 권한 부여

1.    API 사용자에게 부여하려는 권한을 결정합니다. 자세한 내용은 IAM 권한을 사용하여 API에 대한 액세스 제어를 참조하세요.

2.    필요한 권한이 있는 IAM 정책을 생성합니다. 예제 및 형식 지침은 다음을 참조하십시오.
API 호출을 위한 액세스 제어
API 실행 권한에 대한 IAM 정책 예제
Amazon API Gateway 자격 증명 기반 정책 예제
참고: 이 문서의 끝에 나오는 테스트 지침을 완료하려면 호출 권한을 허용해야 합니다.

3.    다음 중 하나를 수행하여 IAM 정책을 IAM 그룹에 연결합니다.
기존 IAM 그룹에 정책을 연결합니다.
-또는-
새 IAM 그룹 생성 시 정책에 연결합니다.

자세한 내용은 정책을 생성하여 IAM 사용자에 연결을 참조하십시오.

참고: IAM 그룹 수준에서 액세스 권한을 부여하는 것이 가장 좋습니다.

(선택 사항) API Gateway 리소스 정책 구성

API Gateway 리소스 정책(리소스 기반 권한)과 IAM 정책(자격 증명 기반 권한)을 사용하여 API에 대한 액세스를 관리할 수 있습니다. 자세한 내용은 IAM 인증 및 리소스 정책자격 증명 기반 정책 및 리소스 기반 정책을 참조하십시오.

중요: 한 유형의 IAM 정책으로 API에 대한 액세스를 거부하고 다른 유형의 정책으로 액세스를 허용하면 액세스가 거부됩니다. 자세한 내용은 정책 평가 결과 테이블을 참조하십시오.

인증 설정을 테스트하기 위한 요청 전송

Postman 앱을 사용하여 IAM 인증을 활성화한 메서드를 통해 API 리소스에 요청을 보냅니다.

참고: 다른 도구 또는 환경을 사용하여 API Gateway로 전송되는 요청을 수동으로 인증하려면 Signature Version 4 서명 프로세스를 사용합니다. 자세한 내용은 요청 서명을 참조하세요.

1.    Postman의 [권한 부여] 탭에서 다음을 수행합니다.
[유형]에서 [AWS 서명]을 선택합니다.
AccessKeySecretKey에 IAM 사용자의 IAM 액세스 키 ID 및 보안 액세스 키를 입력합니다. IAM 사용자는 API에 액세스할 수 있는 IAM 그룹에 속해야 합니다.

2.    요청 URL 입력 필드에 API의 호출 URL을 붙여넣습니다. 특정 API 리소스에 대한 메서드에서 IAM 인증을 활성화한 경우 호출 URL의 끝에 리소스 이름을 추가합니다.

참고: 리소스 이름이 있는 전체 요청 URL은 https://restApiId.execute-api.region.amazonaws.com/stageName/resourceName 입니다.

인증된 요청은 200 OK 응답 코드를 반환합니다. 권한 없는 요청은 인증 토큰 누락 메시지와 403 Forbidden 응답 코드를 반환합니다.


관련 정보

API Gateway 리소스 정책이 권한 부여 워크플로우에 미치는 영향