본문 바로가기

AWS

[AWS] API Gateway API Key 알아보기

728x90
반응형


AWS API Gateway에서 API Key를 활성화하여 서비스를 제공할 경우에는 사용자는 API키 정보를 필수로 탑재하여 사용을 해야 한다. 키 값이 일치할 경우에는 사전에 설정한 할당량과 속도에 맞게 서비스되고 그렇지 않은 경우 InvalidKeyParameter 예외가 발생한다.

아래와 같은 방식으로 구현하여 사용할 수 있다.

1. 사용자가 HEADER값에 API KEY값을 입력하여 요청.
(사용자에게 API KEY값을 공유하여 사용한다.)
: 사용자는 REST API 요청시 X-API-Key 헤더로서 API KEY를 함께 전달한다.
(단, 이와 같이 사용하면 API KEY값이 도난당할 수 있으므로 보안에 위험이 있다.)

2. 권한 부여자가 제공한 API KEY를 사용하기.
사용자가 Token값과 함께 REST API 요청시 API Gateway에 연동되어 있는 권한 부여자(예: Lambda)에서 API KEY 값을 응답값으로 전달하여 사용한다.
이와 같이 사용하면 API KEY값을 사용자에게 공개하지 않아도 된다.


[API KEY 생성하기]
1. API Gateway 기본 콘솔창 좌측에 API Keys(API 키)를 선택한다.
2. "작업" 드롭박스를 클릭하여 API 키 생성을 선택한다.


3. API Key 생성시 입력값
- 이름 : API 키 이름을 입력한다.
- Auto Generate를 통해 자동으로 생성하여 사용하거나 사용자 지정으로 수동으로 키를 입력한다.
- Description에 KEY에 대한 간략한 설명 작성.
- Save 클릭


4. API 키 가져오기 (선택)
- CSV파일을 선택하여 수동으로 키를 입력 하여 사용할 수도 있음


[사용량 계획 생성하기]

1. API Gateway 기본 콘솔창 좌측에 "사용량 계획"을 선택한다.
2. 생성 버튼 클릭
3. 사용량 계획 생성 입력값
- 이름 : 사용량 계획 이름 입력
- 설명 : 간단한 사용량 계획 정보 입력
- 조절(속도)
1> 요율 : 초당 처리하는 요청건 수
2> 버스트 (토큰 버킷의 용량) : 시스템이 지정된 시간에 처리할 수 있는 정보의 양
- 할당량 입력하기


4. API 스테이지 추가 : 사전에 생성한 API 스테이지를 추가 한다.
5. 스테이지 추가 후 메서드 조절을 통해 각 리소스에 메서드별로 요율과 버스트 정보를 설정할 수 있음.
6. API Key 등록 : 사용할 API Key를 연결한다. (이 내용은 API 생성시에 연결해도 무방하다.)


[참고 : AWS 문서 https://docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/api-gateway-api-usage-plans.html ]

728x90
반응형