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

3분 분량
0

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

간략한 설명

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

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

해결 방법

REST API에 대해 IAM 인증 활성화

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

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

3.    메서드 실행 창에서 메서드 요청을 선택합니다.

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 ID 기반 정책 예제
참고: 이 문서 끝에 있는 테스트 지침을 완료하려면 호출 권한을 허용해야 합니다.

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

자세한 내용은 정책 생성 및 IAM 사용자에 연결을 참조하세요.

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

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

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

중요: 한 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 리소스 정책이 권한 부여 워크플로에 미치는 영향