사용자 그룹 다중 테넌시 모범 사례 - Amazon Cognito

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

사용자 그룹 다중 테넌시 모범 사례

그룹 기반 다중 테넌시는 아키텍처에 ID 풀이 있는 Amazon Cognito 사용자 풀이 필요한 경우에 가장 적합합니다.

사용자 풀 ID 및 액세스 토큰에는 cognito:groups 클레임이 포함됩니다. 또한 ID 토큰에는 cognito:rolescognito:preferred_role 클레임이 포함됩니다. 앱의 기본 인증 결과가 ID 풀의 AWS 임시 자격 증명인 경우 사용자의 그룹 멤버십은 사용자가 받는 IAM 역할 및 권한을 결정할 수 있습니다.

예를 들어, 각 애플리케이션 자산이 자체 Amazon S3 버킷에 저장하는 세 개의 테넌트를 고려해 보세요. 각 테넌트의 사용자를 연결된 그룹에 할당하고, 그룹에 대한 기본 역할을 구성하고, 해당 역할에 버킷에 대한 읽기 액세스 권한을 부여합니다.

다음 다이어그램은 IAM 역할에 대한 자격을 결정하는 사용자 풀의 전용 그룹과 함께 앱 클라이언트와 사용자 풀을 공유하는 테넌트를 보여줍니다.

각 테넌트가 공유 사용자 풀에 자체 사용자 그룹을 가지고 있는 다대일 다중 테넌시 모델의 다이어그램입니다.
그룹 다중 테넌시를 구현해야 하는 경우

AWS 리소스에 대한 액세스가 주요 관심사인 경우. Amazon Cognito 사용자 풀의 그룹은 역할 기반 액세스 제어(RBAC)를 위한 메커니즘입니다. 사용자 풀에서 여러 그룹을 구성하고 그룹 우선 순위로 복잡한 RBAC 결정을 내릴 수 있습니다. ID 풀은 우선 순위가 가장 높은 역할, 그룹 클레임의 모든 역할 또는 사용자 토큰의 다른 클레임에 대한 자격 증명을 할당할 수 있습니다.

노력 수준

그룹 멤버십만으로는 다중 테넌시를 유지하기 위한 노력의 수준의 낮습니다. 그러나 사용자 풀 그룹의 역할을 기본 제공 IAM 역할 선택 용량 이상으로 확장하려면 사용자 토큰의 그룹 멤버십을 처리하는 애플리케이션 로직을 구축하고 클라이언트에서 수행할 작업을 결정해야 합니다. Amazon Verified Permissions를 앱과 통합하여 클라이언트 측 권한 부여 결정을 내릴 수 있습니다. 그룹 식별자는 현재 Verified Permissions IsAuthorizedWithToken API 작업에서 처리되지 않지만 그룹 멤버십 클레임을 포함하여 토큰의 내용을 구문 분석하는 사용자 지정 코드를 개발할 수 있습니다.