로그인 후 API Gateway로 리소스에 액세스 - Amazon Cognito

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

로그인 후 API Gateway로 리소스에 액세스

Amazon Cognito 사용자 풀 토큰은 일반적으로 API Gateway REST API에 대한 요청을 승인하는 데 사용됩니다. 액세스 토큰의 OAuth 2.0 범위는 for와 같은 메서드와 경로를 승인할 수 있습니다. HTTP GET /app_assets ID 토큰은 API에 대한 일반 인증 역할을 할 수 있으며 사용자 속성을 백엔드 서비스에 전달할 수 있습니다. API Gateway에는 HTTP API용 JWT 권한 부여자 및 보다 세분화된 로직을 적용할 수 있는 Lambda 권한 부여자와 같은 추가 사용자 지정 권한 부여 옵션이 있습니다.

다음 다이어그램은 액세스 토큰에 OAuth 2.0 범위를 사용하여 REST API에 대한 액세스 권한을 얻는 애플리케이션을 보여줍니다.

Amazon Cognito 사용자 풀로 인증하고 Amazon API Gateway를 통해 API 리소스에 대한 액세스를 승인하는 애플리케이션의 흐름도입니다.

앱은 인증된 세션에서 토큰을 수집하여 요청의 헤더에 전달자 토큰으로 추가해야 합니다. Authorization API, 경로, 메서드에 맞게 구성한 권한 부여자를 구성하여 토큰 콘텐츠를 평가하세요. API Gateway는 요청이 권한 부여자에 대해 설정한 조건과 일치하는 경우에만 데이터를 반환합니다.

API Gateway API가 애플리케이션으로부터의 액세스를 승인할 수 있는 몇 가지 잠재적 방법은 다음과 같습니다.

  • 액세스 토큰에는 올바른 OAuth 2.0 범위가 포함됩니다. REST API용 Amazon Cognito 사용자 풀 권한 부여자는 진입 장벽이 낮은 일반적인 구현입니다. 또한 이 유형의 권한 부여자에 대한 요청의 본문, 쿼리 문자열 파라미터 및 헤더를 평가할 수 있습니다.

  • ID 토큰은 유효하며 만료되지 않았습니다. Amazon Cognito 권한 부여자에게 ID 토큰을 전달하면 애플리케이션 서버의 ID 토큰 콘텐츠에 대한 추가 검증을 수행할 수 있습니다.

  • 액세스 또는 ID 토큰의 그룹, 클레임, 속성 또는 역할은 Lambda 함수에서 정의한 요구 사항을 충족합니다. Lambda 권한 부여자는 요청 헤더의 토큰을 파싱하고 이를 평가하여 승인 결정을 내립니다. 함수에서 사용자 지정 로직을 구성하거나 Amazon 검증 권한에 API 요청을 보낼 수 있습니다.

사용자 풀의 토큰을 사용하여 AWS AppSync GraphQL API에 대한 요청을 승인할 수도 있습니다.