728x90
반응형
AWS Cognito User Pools(CUP) 이해하기
AWS Cognito User Pools(CUP)는 웹 및 모바일 애플리케이션 사용자를 위한 서버리스 인증 및 사용자 관리 솔루션입니다. 이를 통해 사용자 인증 과정을 간소화하고, 강력한 보안 기능을 제공합니다.
Cognito User Pools란?
Cognito User Pools는 다음과 같은 기능을 지원하는 서버리스 데이터베이스입니다:
- 기본 사용자 인증: 사용자 이름 또는 이메일 + 비밀번호 조합을 사용한 로그인
- 비밀번호 재설정: 사용자가 비밀번호를 손쉽게 변경할 수 있음
- 이메일 및 전화번호 인증: 계정 보안을 위한 추가 인증 단계
- 다중 요소 인증(MFA): 더 안전한 로그인 환경 제공
- Federated Identities 지원: Google, Facebook 등 소셜 로그인과 SAML 기반 ID 공급자와 연동
- 노출된 자격 증명 차단: AWS가 웹에서 노출된 사용자 자격 증명을 스캔하여 차단
사용자가 로그인하면 **JWT(JSON Web Token)**를 반환받아 애플리케이션 내 인증 및 권한 관리를 처리합니다.
주요 구성 요소 및 작동 원리
1. Cognito User Pool
Cognito User Pool은 사용자 정보를 저장하는 내부 데이터베이스입니다.
- 애플리케이션 로그인: 모바일 또는 웹 애플리케이션에서 사용자 인증을 처리
- JWT 반환: 로그인 성공 시 JWT를 반환하여 사용자 세션 및 권한을 관리
2. Federated Identities
- Google, Facebook, Amazon과 같은 소셜 로그인 기능 제공
- SAML 또는 OpenID Connect와 같은 표준 프로토콜을 지원하는 ID 공급자와 통합
3. AWS 서비스 통합
Cognito User Pools는 AWS의 여러 서비스와 통합됩니다:
- API Gateway:
- 사용자가 Cognito User Pool에서 인증을 진행
- JWT를 반환받아 API Gateway로 전달
- Gateway는 JWT의 유효성을 평가하여 백엔드 서비스로 접근 권한 부여
- Application Load Balancer(ALB):
- Listener와 Rule을 통해 사용자 인증
- 인증 성공 시 EC2, Lambda, ECS와 같은 Target Group으로 요청 전달
장점
- 서버리스 환경: 별도의 서버를 관리할 필요 없이 인증 및 사용자 관리 가능
- 보안 강화: 다중 요소 인증(MFA), 소셜 로그인 및 노출된 자격 증명 차단 기능 제공
- 유연한 통합: AWS 서비스뿐만 아니라 외부 ID 공급자와 손쉽게 연동 가능
정리
AWS Cognito User Pools는 사용자 인증 및 관리에 필요한 모든 기능을 제공하며, 이를 통해 개발자는 애플리케이션의 보안을 강화하고 인증 시스템을 간소화할 수 있습니다.
728x90
반응형
'자격증 > AWS Certified Security - Specialty' 카테고리의 다른 글
[AWS SCS] Cognito User Pool User Groups (0) | 2024.12.22 |
---|---|
[AWS SCS] Cognito Identity Pools (0) | 2024.12.22 |
[AWS SCS] S3 CORS (0) | 2024.12.22 |
[AWS SCS] S3 Multi-Region Access Points (2) | 2024.12.22 |
[AWS SCS] S3 Access Points (0) | 2024.12.21 |