멀티 테넌트 애플리케이션 모범 사례 - Amazon Cognito

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

멀티 테넌트 애플리케이션 모범 사례

Amazon Cognito 사용자 풀은 Amazon Cognito 할당량 내에 있어야 하는 요청 볼륨을 생성하는 다중 테넌트 애플리케이션과 함께 작동합니다. 고객 기반이 성장할 때 이 용량을 확장하려면 추가 할당량 용량을 구매할 수 있습니다.

참고

Amazon Cognito 할당량은 AWS 계정 및 에 따라 적용됩니다 AWS 리전. 이러한 할당량은 애플리케이션의 모든 테넌트 간에 공유됩니다. Amazon Cognito 서비스 할당량을 검토하고 할당량이 애플리케이션의 예상 볼륨과 예상 테넌트 수를 충족하는지 확인합니다.

이 섹션에서는 동일한 리전 및 내의 Amazon Cognito 리소스 간에 테넌트를 분리하기 위해 구현할 수 있는 방법을 설명합니다 AWS 계정. 둘 이상의 AWS 계정 또는 리전에 테넌트를 분할하고 각 테넌트에 고유한 할당량을 할당할 수도 있습니다. 다중 리전 다중 테넌시의 다른 이점으로는 가능한 가장 높은 격리 수준, 전 세계 분산 사용자를 위한 가장 짧은 네트워크 전송 시간, 조직의 기존 배포 모델 준수 등이 있습니다.

단일 리전 다중 테넌시도 고객과 관리자에게 이점을 제공할 수 있습니다.

다음 목록은 공유 리소스를 사용하는 다중 테넌시의 몇 가지 이점을 다룹니다.

다중 테넌시의 이점
일반 사용자 디렉터리

다중 테넌시는 고객이 둘 이상의 애플리케이션에 계정을 보유한 모델을 지원합니다. 타사 공급자의 ID를 일관된 단일 사용자 풀 프로파일에 연결할 수 있습니다. 사용자 프로필이 테넌트에 고유한 경우 단일 사용자 풀을 사용하는 모든 다중 테넌트 전략에는 사용자 관리에 대한 진입점이 하나 있습니다.

공통 보안

공유 사용자 풀에서 단일 보안 표준을 생성하고 모든 테넌트에 동일한 고급 보안 , 다중 인증(MFA) 및 AWS WAF 표준을 적용할 수 있습니다. AWS WAF 웹은 연결된 리소스와 AWS 리전 동일ACL해야 하므로 다중 테넌시는 복잡한 리소스에 대한 공유 액세스를 제공합니다. 다중 리전 Amazon Cognito 애플리케이션에서 일관된 보안 구성을 유지하려면 리소스 간에 구성을 복제하는 운영 표준을 적용해야 합니다.

일반적인 사용자 지정

를 사용하여 사용자 풀 및 자격 증명 풀을 사용자 지정할 수 있습니다 AWS Lambda. 사용자 풀의 Lambda 트리거 구성과 자격 증명 풀의 Amazon Cognito 이벤트는 복잡해질 수 있습니다. Lambda 함수는 사용자 풀 또는 자격 증명 풀 AWS 리전 과 동일해야 합니다. 공유 Lambda 함수는 리전 내 사용자 지정 인증 흐름, 사용자 마이그레이션, 토큰 생성 및 기타 함수에 대한 표준을 적용할 수 있습니다.

공통 메시징

Amazon Simple Notification Service(Amazon SNS)는 사용자에게 SMS 메시지를 전송하기 전에 리전에서 추가 구성이 필요합니다. Amazon Simple Email Service(Amazon SES)에서 확인된 자격 증명 및 리전 내에 포함된 도메인을 사용하여 이메일 메시지를 보낼 수 있습니다.

다중 테넌시를 사용하면 이 구성 및 유지 관리 오버헤드를 모든 테넌트 간에 공유할 수 있습니다. AmazonSNS과 AmazonSES은 모든 에서 사용할 수 없기 때문에 리소스를 리전 간에 AWS 리전분할하려면 추가 고려가 필요합니다.

사용자 지정 메시징 공급자 를 사용하면 단일 Lambda 함수의 일반적인 사용자 지정을 통해 메시지 전송을 관리할 수 있습니다.

호스팅 UI는 이미 인증된 사용자를 인식하도록 브라우저에서 세션 쿠키를 설정합니다. 사용자 풀에서 로컬 사용자를 인증하면 세션 쿠키가 동일한 사용자 풀의 모든 앱 클라이언트에 대해 로컬 사용자를 인증합니다. 로컬 사용자는 외부 IdP를 통한 페더레이션 없이 사용자 풀 디렉터리에만 존재합니다. 이러한 세션 쿠키는 1시간 동안 유효합니다. 세션 쿠키 기간은 변경할 수 없습니다.

호스팅 UI 세션 쿠키를 사용하여 앱 클라이언트 간에 로그인을 방지하는 두 가지 방법이 있습니다.

  • 사용자를 테넌트당 사용자 풀로 구분합니다.

  • 호스팅된 UI 로그인을 Amazon Cognito 사용자 풀 API 로그인으로 바꿉니다.