Amazon Verified Permissions 기능
권한 부여 모델 정의
스키마
Cedar 지원을 통해 권한 부여 모델과 관련된 속성과 보안 주체 유형, 리소스 유형 및 작업의 유효한 조합을 포함하여 각 엔터티 유형 측면에서 스키마를 정의할 수 있습니다. Verified Permissions는 스키마를 사용하여 정적 정책 또는 정책 템플릿이 애플리케이션의 권한 부여 모델과 일치하는지 확인합니다. JSON을 사용하여 Verified Permissions에서 스키마를 정의할 수 있습니다. JSON 스키마와 약간 유사하지만 Cedar 정책 언어의 고유한 측면을 사용합니다. 작업 그룹을 허용하거나 금지하는 정책인 작업 그룹을 스키마에 정의할 수 있습니다.
권한 부여 요청
API를 통해 서비스에 애플리케이션을 연결하여 사용자 액세스 요청 권한을 부여합니다. 각 권한 부여 요청에 대해 서비스는 관련 정책을 검색하고 해당 Cedar 기반 정책을 평가하여 사용자, 역할, 그룹 멤버십 및 속성과 같은 컨텍스트 입력이 지정된 리소스에 대해 작업을 수행할 수 있는지 여부를 결정합니다.
정책 관리 및 검증
정책 스토어
정책 스토어는 다른 컨테이너와 논리적으로 분리된 Verified Permissions의 Cedar 기반 정책 컨테이너입니다. 단일 정책 스토어에 모든 계층적 관계와 구성을 생성하여 정책 및 정책 템플릿을 다른 정책 스토어와 구분할 수 있습니다. 정책 스토어는 일반적으로 각 애플리케이션에 매핑되며, 테넌트 간 공유나 연결 없이 여러 테넌트에서 서로 다른 구성과 스키마 규칙을 생성할 수 있습니다. 예를 들어, Verified Permissions 애플리케이션의 각 테넌트 사용에 대해 별도의 정책 스토어가 있을 수 있습니다. 다른 정책 스토어의 리소스, 스키마, 정책 및 정책 템플릿에 영향을 주지 않고 한 테넌트의 정책 스토어를 삭제할 수 있습니다.
테스트 벤치 기능
테스트 벤치는 정책 스토어의 모든 Cedar 기반 정책에 대해 시뮬레이션된 권한 부여 요청을 실행하여 Verified Permissions 정책을 테스트하고 문제를 해결하는 도구입니다. 테스트 벤치는 사용자가 지정한 파라미터를 사용하여 정책 스토어의 정책이 요청 권한을 부여할지 여부를 결정합니다.
정책 템플릿
특정 값으로 채워질 범위에 자리 표시자가 있는 Cedar 기반 정책 문인 정책 템플릿을 사용할 수 있습니다. 보안 주체, 리소스 또는 둘 다에 대한 자리 표시자가 정책 템플릿에 있을 수 있습니다. 정책 템플릿에 대한 업데이트는 템플릿 연결 정책이라고도 하는 템플릿을 사용하는 모든 보안 주체와 리소스에 반영됩니다.
정책 템플릿을 사용하여 애플리케이션 전체에서 공유할 수 있는 Cedar 기반 정책을 생성하는 것이 좋습니다. 예를 들어 정책 템플릿을 사용하는 보안 주체와 리소스에 대한 읽기, 편집 및 설명 권한을 제공하는 편집자용 정책 템플릿을 생성할 수 있습니다. 또한 정책 템플릿을 사용하여 애플리케이션에 대한 대략적, 중간 및 세분화된 액세스 제어를 정의할 수 있습니다. 예를 들어 정책 템플릿을 사용하여 그룹에 특정 사용자를 할당하고, 중간 수준 제어를 사용하여 특정 리소스에 대한 액세스 권한을 할당하고, 세분화된 제어를 사용하여 리소스에 대한 가장 세분화된 속성을 지정할 수 있습니다.
정책 쿼리 및 감사
쿼리 정책
Verified Permissions API를 사용하면 Verified Permissions에 저장된 정책에 대해 특정 쿼리를 실행할 수 있습니다. 정책을 쿼리하여 특정 보안 주체, 특정 리소스 또는 둘 다에 적용되는 것을 결정할 수 있습니다.
감사 및 로깅
Verified Permissions를 구성하고 연결하여 정책 관리 및 권한 부여 로그를 AWS CloudTrail로 전송할 수 있습니다.
통합 및 확장성
Amazon Cognito와 통합
Amazon Cognito의 인증 토큰을 Verified Permissions를 통해 실행되는 권한 부여 요청에 전달할 수 있습니다. 이를 통해 ID 제공업체 속성을 정책 평가에 직접 전달할 수 있어 Verified Permissions에 의해 생성된 권한 부여 결정이 가능합니다.
AWS CloudFormation과 통합
Verified Permissions는 리소스와 인프라 생성 및 관리에 드는 시간을 줄일 수 있도록 AWS 리소스를 모델링하고 설정하는 데 도움이 되는 서비스인 CloudFormation과 통합되어 있습니다. 원하는 모든 AWS 리소스를 설명하는 템플릿을 생성하면 CloudFormation이 해당 리소스를 프로비저닝하고 구성합니다.
확장성
Verified Permissions SDK는 C++, Go, Java, JavaScript, Kotlin, .NET, Node.js, PHP, Python, Ruby, Rust 및 Swift를 통해 사용할 수 있습니다.