사용자 풀 기반 멀티 테넌시 - Amazon Cognito

사용자 풀 기반 멀티 테넌시

이 설계를 사용하면 애플리케이션의 각 테넌트별로 사용자 풀을 만들 수 있습니다. 이 접근 방식은 각 테넌트별로 최대한의 격리를 제공합니다. 각 테넌트별로 서로 다른 구성을 구현할 수 있습니다. 사용자 풀별 테넌트 격리를 통해 사용자와 테넌트 간의 매핑을 유연하게 설정할 수 있습니다. 동일한 사용자에 대해 여러 개의 프로필을 생성할 수 있습니다. 그러나 각 사용자는 액세스 권한이 있는 각 테넌트별로 개별적으로 가입해야 합니다. 이 접근 방식을 사용하면 각 테넌트에 대해 호스팅 UI를 독립적으로 설정하고 사용자를 테넌트별 애플리케이션 인스턴스로 리디렉션할 수 있습니다. 또한 이 접근 방식을 사용하면 API 게이트웨이와 같은 백엔드 서비스와 통합할 수 있습니다.

다음 시나리오에서 사용자 풀 기반 멀티 테넌시를 사용할 수 있습니다.

  • 각 테넌트별로 애플리케이션의 구성이 다른 경우. 예를 들어 데이터 상주 요구 사항, 암호 정책 및 MFA 구성은 테넌트마다 다를 수 있습니다.

  • 애플리케이션의 사용자-테넌트 역할 매핑이 복잡한 경우. 예를 들어 특정 사용자가 테넌트 A에서는 '학생'이 될 수 있고 동일한 사용자가 테넌트 B에서는 '교사'가 될 수 있습니다.

  • 애플리케이션에서 기본 사용자의 기본 인증 방법으로 기본 Amazon Cognito 호스팅 UI를 사용합니다. 기본 사용자는 사용자 이름 및 암호를 사용하여 사용자 풀에 생성된 사용자입니다.

  • 애플리케이션에 각 테넌트가 사용량을 지원하기 위해 애플리케이션 인프라의 전체 인스턴스를 가져오는 사일로 멀티 테넌트 애플리케이션이 있는 경우.

작업 수준

이 방법을 사용하기 위해서는 많은 개발 및 운영상의 작업이 요구됩니다. Amazon Cognito API 운영 및 자동화 도구를 사용하는 애플리케이션에 테넌트 온보딩 및 관리 구성 요소를 구축해야 합니다. 이러한 구성 요소는 각 테넌트에 필요한 리소스를 만드는 데 필요합니다. 테넌트 일치 사용자 인터페이스도 구현해야 합니다. 또한 사용자가 해당 테넌트의 사용자 풀에 가입하고 로그인할 수 있도록 애플리케이션에 로직을 추가해야 합니다.