

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

# 사용자 그룹 다중 테넌시 모범 사례
<a name="group-based-multi-tenancy"></a>

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

사용자 풀 [ID 및 액세스 토큰](amazon-cognito-user-pools-using-tokens-with-identity-providers.md#amazon-cognito-user-pools-using-tokens-with-identity-providers.title)에는 `cognito:groups` 클레임이 포함됩니다. 또한 ID 토큰에는 `cognito:roles` 및 `cognito:preferred_role` 클레임이 포함됩니다. 앱의 기본 인증 결과가 ID 풀의 AWS 임시 자격 증명인 경우 사용자의 그룹 멤버십은 사용자가 받는 [IAM 역할](iam-roles.md#iam-roles.title) 및 권한을 결정할 수 있습니다.

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

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

![\[각 테넌트가 공유 사용자 풀에 자체 사용자 그룹을 가지고 있는 다대일 다중 테넌시 모델의 다이어그램입니다.\]](http://docs.aws.amazon.com/ko_kr/cognito/latest/developerguide/images/multi-tenancy-group.png)


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

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