일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- Kubernetes
- AWS
- 옵셔널 체이닝
- Custom Resource
- transit gateway
- Site-to-Site VPN
- Endpoints
- On-Premise
- DynamoDB
- grafana
- 자바스크립트
- api gateway
- prometheus
- optional chaining
- CloudFormation
- elasticsearch
- VPC
- Service
- 비구조화 할당
- docker swarm
- vgw
- 온프레미스
- 구조분해 할당
- docker
- Await
- 단축 평가
- cognito
- JavaScript
- null 병합 연산자
- Proxy Resource
- Today
- Total
만자의 개발일지
[AWS] Cognito란 본문
Cognito
기존의 사용자 데이터베이스를 관리하고 인증과 인가 기능을 추가하기 위해서는 엄청나게 많은 시간과 리소스가 필요했습니다.
특히 인증과 인가에 대한 부분은 보안적인 관리 및 처리가 결코 쉽지만은 않습니다.
이러한 문제들을 AWS Cognito를 활용하면 좀더쉽고 간편하게 해결하실 수 있습니다.
AWS Cognito는 웹과 모바일 앱에 대한 인증과 권한 부여 및 사용자 관리를 제공하고, 사용자는 사용자 이름과 패스워드를 사용하여 직접 로그인하거나 Facebook, Amazon, Google 또는 Apple 같은 타사를 통해 로그인(OAuth)할 수 있습니다.
Cognito를 사용하면 좋은 점
- 사용자를 손쉽게 관리할 수 있다.
- 뛰어난 확장성
- Cognito를 사용하면 사용자 디렉토리를 손쉽게 생성할 수 있습니다.
- 이 디렉토리는 완전 관리형으로, 수억명까지 쉽게 확장됩니다.
- 강화된 안전
- AWS의 안전에 대한 경험이 녹아들어 있습니다.
- 이메일 및 SMS 인증, MFA 인증 등의 기능을 손쉽게 추가할 수 있습니다.
- 모바일, 서버리스와 궁합이 잘 맞다
Cognito는 사용자 풀(User Pools)과 자격 증명 풀(Identity Pools)로 구성되어있습니다.
사용자 풀은 사용자의 회원가입 및 로그인 옵션을 제공하고, 자격 증명 풀은 사용자 풀에 저장된 정보를 바탕으로 회원가입 또는 로그인에 성공한 사용자에게 AWS 서비스에 액세스할 수 있는 권한을 부여할 수 있습니다.
이 둘은 별도로 또는 함께 사용할 수 있습니다.
사용자 풀(User pool)
사용자 풀은 Cognito에 가입한 사용자에 대한 정보를 가지고 있는 하나의 사용자 데이터베이스 같은 역할을 합니다.
사용자 풀을 통해 회원가입과 로그인 기능을 사용할 수 있으며, 사용자 인증을 완료하면 Cognito는 JWT(JSON Web Token)를 사용자에게 반환하게 됩니다.
이 JWT는 API Gateway에서 자격 증명으로 사용되거나 AWS의 다른 자격 증명을 교환할 수 있습니다.
또한 사용자 풀에 있는 모든 사용자는 각각의 프로필을 보유하고 있으며, SDK를 통해 접근할 수 있습니다.
사용자 풀의 제공 기능
- 회원가입 및 로그인 서비스
- 사용자 로그인을 위한 내장 커스텀 웹 UI
- Facebook, Google, Amazon, Apple을 통한 소셜 로그인 및 사용자 풀의 SAML 및 OpenID Connect(OIDC)를 통한 로그인 지원
- 사용자 및 사용자 프로필 관리
- 멀티 팩터 인증(MFA), 자격 증명 검증, 계정 탈취 보호, 전화 및 이메일 확인과 같은 보안 기능 제공
- AWS Lambda 트리거를 이용한 Cognito의 인증 과정 등의 커스터마이징
자격 증명 풀(Identity pool)
자격 증명 풀은 사용자의 임시 AWS 자격 증명을 만들어 S3, DynamoDB등의 다른 AWS 서비스에 접근권한을 부여할 수 있습니다. 자격 증명풀은 다음과 같은 사용자를 포함할 수 있습니다.
- Amazon Cognito user pools에 등록된 사용자
- Facebook, Google, Amazon, Apple등의 소셜 로그인을 통해 인증된 사용자
- SAML 및 OpenID Connect(OIDC)를 통해 인증된 사용자
참고
'AWS' 카테고리의 다른 글
[AWS] Cognito 회원 가입 및 로그인 기능 구현하기(feat. amazon-cognito-identity-js, TypeScript) (0) | 2022.06.11 |
---|---|
[AWS] Cognito User Pool 생성하기 (0) | 2022.06.10 |
[AWS] ALB 경로 기반 라우팅 구현하기 (2) | 2022.06.08 |
[AWS] DynamoDB란 (4) | 2022.05.23 |
[AWS] API Gateway Custom Resource 사용하기 (0) | 2022.05.19 |