쿠키 기본 설정 선택

당사는 사이트와 서비스를 제공하는 데 필요한 필수 쿠키 및 유사한 도구를 사용합니다. 고객이 사이트를 어떻게 사용하는지 파악하고 개선할 수 있도록 성능 쿠키를 사용해 익명의 통계를 수집합니다. 필수 쿠키는 비활성화할 수 없지만 '사용자 지정' 또는 ‘거부’를 클릭하여 성능 쿠키를 거부할 수 있습니다.

사용자가 동의하는 경우 AWS와 승인된 제3자도 쿠키를 사용하여 유용한 사이트 기능을 제공하고, 사용자의 기본 설정을 기억하고, 관련 광고를 비롯한 관련 콘텐츠를 표시합니다. 필수가 아닌 모든 쿠키를 수락하거나 거부하려면 ‘수락’ 또는 ‘거부’를 클릭하세요. 더 자세한 내용을 선택하려면 ‘사용자 정의’를 클릭하세요.

API 연결 정책 스토어

포커스 모드
API 연결 정책 스토어 - Amazon Verified Permissions

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

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

일반적인 사용 사례는 Amazon Verified Permissions를 사용하여 Amazon API Gateway에서 호스팅되는 APIs에 대한 사용자 액세스를 승인하는 것입니다. AWS 콘솔의 마법사를 사용하여 Amazon Cognito 또는 모든 OIDC 자격 증명 공급자(IdP)에서 관리하는 사용자를 위한 역할 기반 액세스 정책을 생성하고 Verified Permissions를 호출하는 AWS Lambda 권한 부여자를 배포하여 이러한 정책을 평가할 수 있습니다.

마법사를 완료하려면 새 정책 스토어를 생성할API Gateway 및 자격 증명 공급자로 설정을 선택하고 단계를 따릅니다.

API 연결 정책 스토어가 생성되고 권한 부여 요청에 대한 권한 부여 모델과 리소스를 프로비저닝합니다. 정책 스토어에는 API Gateway를 Verified Permissions에 연결하는 자격 증명 소스와 Lambda 권한 부여자가 있습니다. 정책 스토어가 생성되면 사용자의 그룹 멤버십을 기반으로 API 요청을 승인할 수 있습니다. 예를 들어 Verified Permissions는 Directors 그룹의 구성원인 사용자에게만 액세스 권한을 부여할 수 있습니다.

애플리케이션이 확장됨에 따라 Cedar 정책 언어를 사용하여 사용자 속성 및 OAuth 2.0 범위를 사용하여 세분화된 권한 부여를 구현할 수 있습니다. 예를 들어 Verified Permissions는 도메인에 email 속성이 있는 사용자에게만 액세스 권한을 부여할 수 있습니다mycompany.co.uk.

API에 대한 권한 부여 모델을 설정한 후 나머지 책임은 사용자를 인증하고 애플리케이션에서 API 요청을 생성하고 정책 스토어를 유지하는 것입니다.

데모를 보려면 Amazon Web Services YouTube 채널Amazon Verified Permissions - Quick Start Overview 및 Demo를 참조하세요.

중요

API Gateway로 설정 및 Verified Permissions 콘솔의 자격 증명 소스 옵션으로 생성한 정책 스토어는 프로덕션에 즉시 배포하기 위한 것이 아닙니다. 초기 정책 스토어를 사용하여 권한 부여 모델을 완료하고 정책 스토어 리소스를 CloudFormation으로 내보냅니다. AWS 클라우드 개발 키트(CDK)를 사용하여 프로그래밍 방식으로 프로덕션에 Verified Permissions를 배포합니다. 자세한 내용은 를 사용하여 프로덕션으로 이동 AWS CloudFormation 단원을 참조하십시오.

API 및 자격 증명 소스에 연결된 정책 스토어에서 애플리케이션은 API에 요청할 때 권한 부여 헤더에 사용자 풀 토큰을 제공합니다. 정책 스토어의 자격 증명 소스는 Verified Permissions에 대한 토큰 검증을 제공합니다. 토큰은 IsAuthorizedWithToken API를 사용하여 권한 부여 요청principal에서를 구성합니다. Verified Permissions는 사용자 풀과 같은 ID(ID) 및 액세스 토큰의 그룹 클레임에 표시된 대로 사용자의 그룹 멤버십에 cognito:groups 대한 정책을 빌드합니다. API는 Lambda 권한 부여자의 애플리케이션에서 토큰을 처리하고 권한 부여 결정을 위해 Verified Permissions에 제출합니다. API가 Lambda 권한 부여자로부터 권한 부여 결정을 받으면 요청을 데이터 소스에 전달하거나 요청을 거부합니다.

Verified Permissions를 사용한 자격 증명 소스 및 API Gateway 권한 부여의 구성 요소
  • 사용자를 인증하고 그룹화하는 Amazon Cognito 사용자 풀 또는 OIDC IdP입니다. 사용자의 토큰은 그룹 멤버십과 Verified Permissions가 정책 스토어에서 평가하는 보안 주체 또는 컨텍스트를 채웁니다.

  • API Gateway REST API. Verified Permissions는와 같은 API 경로 및 API 메서드의 작업을 정의합니다MyAPI::Action::get /photo.

  • API에 대한 Lambda 함수 및 Lambda 권한 부여자. Lambda 함수는 사용자 풀에서 보유자 토큰을 가져와 Verified Permissions에 권한 부여를 요청하고 API Gateway에 결정을 반환합니다. API Gateway로 설정 및 자격 증명 소스 워크플로는 자동으로이 Lambda 권한 부여자를 생성합니다.

  • Verified Permissions 정책 스토어. 정책 스토어 자격 증명 소스는 Amazon Cognito 사용자 풀 또는 OIDC 공급자 그룹입니다. 정책 스토어 스키마는 API의 구성을 반영하고 정책은 사용자 그룹을 허용된 API 작업에 연결합니다.

  • IdP로 사용자를 인증하고 API 요청에 토큰을 추가하는 애플리케이션입니다.

Verified Permissions가 API 요청을 승인하는 방법

새 정책 스토어를 생성하고 API Gateway 및 자격 증명 소스로 설정 옵션을 선택하면 Verified Permissions가 정책 스토어 스키마 및 정책을 생성합니다. 스키마 및 정책은 API 작업과 작업을 수행할 권한을 부여하려는 사용자 그룹을 반영합니다. Verified Permissions는 Lambda 함수 및 권한 부여자도 생성합니다.

Amazon API Gateway, Amazon Cognito 및 Amazon Verified Permissions를 사용하여 권한 부여 요청의 흐름을 표시하는 다이어그램입니다.
  1. 사용자가 Amazon Cognito 또는 다른 OIDC IdP를 통해 애플리케이션으로 로그인합니다. IdP는 ID 및 액세스 토큰에 사용자 정보를 발급합니다.

  2. 애플리케이션은 JWTs 저장합니다. 자세한 내용은 Amazon Cognito 개발자 안내서사용자 풀에서 토큰 사용을 참조하세요.

  3. 사용자는 애플리케이션이 외부 API에서 검색해야 하는 데이터를 요청합니다.

  4. 애플리케이션이 API Gateway의 REST API에서 데이터를 요청합니다. ID 또는 액세스 토큰을 요청 헤더로 추가합니다.

  5. API에 권한 부여 결정을 위한 캐시가 있는 경우 이전 응답을 반환합니다. 캐싱이 비활성화되거나 API에 현재 캐시가 없는 경우 API Gateway는 요청 파라미터를 토큰 기반 Lambda 권한 부여자에게 전달합니다.

  6. Lambda 함수는 IsAuthorizedWithToken API를 사용하여 Verified Permissions 정책 스토어에 권한 부여 요청을 보냅니다. Lambda 함수는 권한 부여 결정의 요소를 전달합니다.

    1. 보안 주체로서의 사용자 토큰입니다.

    2. API 경로와 결합된 API 메서드, 예를 들어 작업GetPhoto.

    3. 리소스Application로서의 용어입니다.

  7. Verified Permissions는 토큰을 검증합니다. Amazon Cognito 토큰 검증 방법에 대한 자세한 내용은 Amazon Amazon Cognito 개발자 안내서의 Amazon Verified Permissions 권한 부여를 참조하세요.

  8. Verified Permissions는 정책 스토어의 정책에 대해 권한 부여 요청을 평가하고 권한 부여 결정을 반환합니다.

  9. Lambda 권한 부여자는 API Gateway에 Allow 또는 Deny 응답을 반환합니다.

  10. API는 애플리케이션에 데이터 또는 ACCESS_DENIED 응답을 반환합니다. 애플리케이션은 API 요청의 결과를 처리하고 표시합니다.

API 연결 정책 스토어에 대한 고려 사항

Verified Permissions 콘솔에서 API 연결 정책 스토어를 빌드하면 최종 프로덕션 배포에 대한 테스트를 생성하는 것입니다. 프로덕션으로 이동하기 전에 API 및 사용자 풀에 대한 고정 구성을 설정합니다. 다음 요인을 고려하세요.

API Gateway가 응답을 캐싱합니다.

API 연결 정책 스토어에서 Verified Permissions는 권한 부여 캐싱 TTL이 120초인 Lambda 권한 부여자를 생성합니다. 권한 부여자에서이 값을 조정하거나 캐싱을 끌 수 있습니다. 캐싱이 활성화된 권한 부여자에서 권한 부여자는 TTL이 만료될 때까지 매번 동일한 응답을 반환합니다. 이렇게 하면 요청된 단계의 캐싱 TTL과 동일한 기간만큼 사용자 풀 토큰의 유효 수명을 연장할 수 있습니다.

Amazon Cognito 그룹을 재사용할 수 있음

Amazon Verified Permissions는 사용자 ID 또는 액세스 토큰의 cognito:groups 클레임에서 사용자 풀 사용자의 그룹 멤버십을 결정합니다. 이 클레임의 값은 사용자가 속한 사용자 풀 그룹의 친숙한 이름 배열입니다. 사용자 풀 그룹을 고유 식별자와 연결할 수 없습니다.

정책 스토어에 동일한 이름으로 삭제하고 다시 생성하는 사용자 풀 그룹은 동일한 그룹과 동일합니다. 사용자 풀에서 그룹을 삭제할 때 정책 스토어에서 그룹에 대한 모든 참조를 삭제합니다.

API에서 파생된 네임스페이스 및 스키마는 point-in-time

Verified Permissions는 특정 시점에 API를 캡처합니다. 정책 스토어를 생성할 때만 API를 쿼리합니다. API의 스키마 또는 이름이 변경되면 정책 스토어 및 Lambda 권한 부여자를 업데이트하거나 새 API 연결 정책 스토어를 생성해야 합니다. Verified Permissions는 API 이름에서 정책 스토어 네임스페이스를 파생합니다.

Lambda 함수에는 VPC 구성이 없습니다.

API 권한 부여자에 대해 Verified Permissions가 생성하는 Lambda 함수는 기본 VPC에서 시작됩니다. 기본적으로. 프라이빗 VPCs로 제한된 네트워크 액세스 권한이 있는 APIs는 Verified Permissions로 액세스 요청을 승인하는 Lambda 함수와 통신할 수 없습니다.

Verified Permissions는 CloudFormation에 권한 부여자 리소스를 배포합니다.

API 연결 정책 스토어를 생성하려면 Verified Permissions 콘솔에 권한이 AWS 높은 보안 주체에 로그인해야 합니다. 이 사용자는 여러에 리소스를 생성하는 AWS CloudFormation 스택을 배포합니다 AWS 서비스. 이 보안 주체는 Verified Permissions, IAM Lambda 및 API Gateway에서 리소스를 추가하고 수정할 수 있는 권한이 있어야 합니다. 가장 좋은 방법은 이러한 자격 증명을 조직의 다른 관리자와 공유하지 않는 것입니다.

Verified Permissions가 생성하는 리소스에 를 사용하여 프로덕션으로 이동 AWS CloudFormation 대한 개요는 섹션을 참조하세요.

속성 기반 액세스 제어(ABAC) 추가

IdP가 있는 일반적인 인증 세션은 ID 및 액세스 토큰을 반환합니다. 애플리케이션 요청에서 이러한 토큰 유형 중 하나를 보유자 토큰으로 API에 전달할 수 있습니다. 정책 스토어를 생성할 때 선택한 항목에 따라 Verified Permissions는 두 가지 유형의 토큰 중 하나를 기대합니다. 두 유형 모두 사용자의 그룹 멤버십에 대한 정보를 전달합니다. Amazon Cognito의 토큰 유형에 대한 자세한 내용은 Amazon Cognito 개발자 안내서사용자 풀과 함께 토큰 사용을 참조하세요.

정책 저장소를 생성한 후 정책을 추가하고 확장할 수 있습니다. 예를 들어 사용자 풀에 추가할 때 정책에 새 그룹을 추가할 수 있습니다. 정책 스토어는 사용자 풀이 그룹을 토큰으로 제공하는 방식을 이미 알고 있으므로 새 정책이 있는 새 그룹에 대해 일련의 작업을 허용할 수 있습니다.

또한 정책 평가의 그룹 기반 모델을 사용자 속성을 기반으로 보다 정확한 모델로 확장할 수도 있습니다. 사용자 풀 토큰에는 권한 부여 결정에 기여할 수 있는 추가 사용자 정보가 포함되어 있습니다.

ID 토큰

ID 토큰은 사용자의 속성을 나타내며 세분화된 액세스 제어 수준이 높습니다. 이메일 주소, 전화번호 또는 부서 및 관리자와 같은 사용자 지정 속성을 평가하려면 ID 토큰을 평가합니다.

액세스 토큰

액세스 토큰은 OAuth 2.0 범위가 있는 사용자의 권한을 나타냅니다. 권한 부여 계층을 추가하거나 추가 리소스에 대한 요청을 설정하려면 액세스 토큰을 평가합니다. 예를 들어 사용자가 적절한 그룹에 있고 일반적으로 API에 대한 액세스를 승인PetStore.read하는 범위와 같은 범위를 가지고 있는지 검증할 수 있습니다. 사용자 풀은 런타임 시 리소스 서버 및 토큰 사용자 지정을 사용하여 토큰에 사용자 지정 범위를 추가할 수 있습니다. https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-pre-token-generation.html#user-pool-lambda-pre-token-generation-accesstoken

ID 및 액세스 토큰에서 클레임을 처리하는 정책의 스키마에 자격 증명 공급자 토큰 매핑 예는 섹션을 참조하세요.

이 페이지에서

프라이버시사이트 이용 약관쿠키 기본 설정
© 2025, Amazon Web Services, Inc. 또는 계열사. All rights reserved.