Verified Permissions를 사용하여 자격 증명의 속성을 기반으로 액세스 제어 - Amazon API Gateway

Verified Permissions를 사용하여 자격 증명의 속성을 기반으로 액세스 제어

Amazon Verified Permissions를 사용하여 API Gateway API에 대한 액세스를 제어합니다. Verified Permissions와 함께 API Gateway를 사용하는 경우 Verified Permissions가 세분화된 권한 부여 결정을 사용하여 API에 대한 액세스를 제어하는 Lambda 권한 부여자를 생성합니다. Verified Permissions는 Cedar 정책 언어를 사용해 애플리케이션 사용자에 대한 세분화된 권한을 정의하여 정책 스토어 스키마 및 정책을 기반으로 호출자에게 권한을 부여합니다. 자세한 내용은 Amazon Verified Permissions 사용 설명서연결된 API 및 ID 공급자를 사용하여 정책 저장소 생성을 참조합니다.

Verified Permissions는 자격 증명 소스로서 Amazon Cognto 사용자 풀 또는 OpenID Connect(OIDC) ID 제공업체를 지원합니다. Verified Permissions는 보안 주체가 이전에 식별되고 인증된 것으로 가정합니다. Verified Permissions는 리전 및 엣지 최적화 REST API에만 지원됩니다.

Verified Permissions를 사용하여 Lambda 권한 부여자 생성

Verified Permissions는 Lambda 권한 부여자를 생성하여 보안 주체가 API에서 작업을 수행할 수 있는지 여부를 결정합니다. Verified Permissions가 권한 부여 작업을 수행하는 데 사용할 Cedar 정책을 생성합니다.

다음은 API의 GET /users 리소스에 있는 developer 그룹에 대해 Amazon Cognito 사용자 풀 us-east-1_ABC1234를 기반으로 API를 간접적으로 호출할 수 있도록 액세스를 허용하는 Cedar 정책의 예시입니다. Verified Permissions는 발신자 ID에 대한 보유자 토큰을 구문 분석하여 그룹 멤버십을 결정합니다.

permit( principal in MyAPI::UserGroup::"us-east-1_ABC1234|developer", action in [ MyAPI::Action::"get /users" ], resource );

선택적으로 Verified Permissions에서 API의 메서드에 권한 부여자를 연결할 수 있습니다. API의 프로덕션 스테이지에서는 Verified Permissions의 권한 부여자 연결을 허용하지 않는 것이 좋습니다.

다음 목록은 Lambda 권한 부여자를 API 메서드의 메서드 요청에 연결하거나 연결하지 않도록 Verified Permissions를 구성하는 방법을 보여줍니다.

권한 부여자 연결(AWS Management Console)

Verified Permissions 콘솔에서 정책 스토어 생성을 선택할 때 앱 통합 배포 페이지에서 지금을 선택합니다.

권한 부여자 연결 안 함(AWS Management Console)

Verified Permissions 콘솔에서 정책 스토어 생성을 선택할 때 앱 통합 배포 페이지에서 나중에를 선택합니다.

Verified Permissions는 여전히 Lambda 권한 부여자를 생성합니다. Lambda 권한 부여자는 AVPAuthorizerLambda-로 시작합니다. 메서드에 권한 부여자를 연결하는 방법에 대한 자세한 지침은 Lambda 권한 부여자를 사용하도록 메서드 구성(콘솔) 섹션을 참조하세요.

권한 부여자 연결(AWS CloudFormation)

Verified Permissions에서 생성된 AWS CloudFormation 템플릿의 Conditions 섹션에서 "Ref": "shouldAttachAuthorizer"true로 설정합니다.

권한 부여자 연결 안 함(AWS CloudFormation)

Verified Permissions에서 생성된 AWS CloudFormation 템플릿의 Conditions 섹션에서 "Ref": "shouldAttachAuthorizer"false로 설정합니다.

Verified Permissions는 여전히 Lambda 권한 부여자를 생성합니다. Lambda 권한 부여자는 AVPAuthorizerLambda-로 시작합니다. 메서드에 권한 부여자를 연결하는 방법에 대한 자세한 지침은 Lambda 권한 부여자를 사용하도록 메서드 구성(AWS CLI) 섹션을 참조하세요.

Verified Permissions를 사용하여 Lambda 권한 부여자 직접 호출

Authorization 헤더에 자격 증명 또는 액세스 토큰을 제공하여 Lambda 권한 부여자를 직접적으로 호출할 수 있습니다. 자세한 내용은 API Gateway Lambda 권한 부여자를 사용한 API 직접 호출 단원을 참조하십시오.

API Gateway는 Lambda 권한 부여자가 반환하는 정책을 120초 동안 캐싱합니다. API Gateway 콘솔에서 또는 AWS CLI를 사용하여 TTL을 수정할 수 있습니다.