Amazon Cognito 기능

Amazon Cognito란 무엇인가요?

Amazon Cognito는 개발자 중심의 비용 효율적인 고객 ID 및 액세스 관리(CIAM) 서비스입니다. 수백만 명의 사용자로 확장할 수 있는 안전한 ID 스토어 및 페더레이션 옵션을 제공합니다. Amazon Cognito는 소셜 ID 공급자 및 SAML 또는 OIDC 기반 ID 공급자를 통한 로그인을 지원하여 만족스러운 고객 경험을 제공하고 고급 보안 기능을 통해 고객 및 비즈니스를 보호합니다. 다양한 규정 준수 표준을 지원하고, 개방형 ID 표준(OAuth2.0, SAML 2.0 및 OpenID Connect)에서 작동하며 프런트엔드 및 백엔드 개발 리소스 및 SDK 라이브러리의 확장된 에코시스템과 통합됩니다.

사용자 인증

Amazon Cognito는 사용자 가입 및 로그인을 위해 내장된 사용자 지정 가능한 UI를 제공합니다. Amazon Cognito의 Android, iOS 및 JavaScript SDK를 사용하여 사용자 가입 및 로그인 페이지를 앱에 추가할 수 있습니다.

Amazon Cognito 사용자 풀에서 MFA를 사용하도록 설정하여 고객에게 추가 계층의 보안을 제공할 수 있습니다. 사용자는 SMS 또는 Google Authenticator와 같은 시간 기반 일회용 암호(TOTP) 생성기를 사용하여 자격 증명을 확인할 수 있습니다. Amazon Cognito는 사용자 풀에 따라 다른 암호 규칙을 적용하는 구성도 지원합니다.

Amazon Cognito는 페더레이션 허브로서 Apple, Facebook, Google 및 Amazon과 같은 소셜 ID 공급자와 엔터프라이즈 ID 공급자(SAML 2.0 및 OIDC 사용)를 통한 로그인을 지원합니다. Amazon Cognito는 표준 기반 ID 공급자입니다. 사용자는 로컬 인증 또는 외부 페더레이션을 통해 Amazon Cognito에 로그인한 후 OAuth/OIDC를 사용하여 페더레이션된 리소스에 액세스할 수 있습니다.

Amazon Cognito 사용자 풀을 사용하면 Lambda 함수를 사용하여 하나 이상의 질문-응답 주기를 기반으로 사용자를 인증하는 사용자 지정 인증 흐름을 구축할 수 있습니다. 이 흐름을 사용하여 사용자 지정 질문을 기반으로 하는 비밀번호 없는 인증을 구현하거나 사용자 지정 질문을 추가 요소로 사용할 수 있습니다.

Lambda 트리거를 사용하여 인증 및 가입 전후 또는 토큰 발급 전과 같은 사용자 수명 주기 단계와 같은 Cognito 동작을 사용자 지정할 수 있습니다. 또한 Lambda 트리거를 사용하여 다양한 단계에서 사용자에게 전송되는 메시지를 사용자 지정하거나 서드 파티 이메일 및 SMS 공급자와 통합할 수 있습니다.

ID 관리

사이트에서 고객의 첫 경험은 셀프 등록 프로세스를 통하는 경우가 많습니다. Amazon Cognito는 사전 패키징되어 호스팅되는 방식의 사용자 지정 가능한 사용자 인터페이스를 제공하여 빠른 출시를 지원하는 동시에 강력한 API 세트를 제공하여 완벽하게 사용자 지정된 셀프 등록 솔루션을 구축할 수 있도록 합니다. 사용자는 애플리케이션의 이메일, 전화번호 또는 사용자 이름을 사용하여 가입할 수 있습니다. 셀프 등록 프로세스를 제공하면 사용자가 사용자 지정 속성을 포함한 자신의 프로필 데이터를 보고 업데이트할 수 있습니다. SMS 메시지 또는 이메일을 통한 암호 재설정과 같은 셀프 서비스 옵션을 제공하면 헬프 데스크 통화 수를 줄일 수 있습니다.

Amazon Cognito는 수백만 명의 사용자로 확장할 수 있는 안전한 ID 스토어(사용자 풀)를 제공합니다. 사용자 풀은 직접 가입하는 사용자와 외부 ID 공급자를 통해 로그인하는 페더레이션 사용자의 사용자 프로필을 안전하게 저장합니다.
Amazon Cognito ID 스토어는 API 기반 사용자 리포지토리입니다. 이 리포지토리 및 API는 사용자당 최대 50개의 사용자 지정 속성을 저장할 수 있고 다양한 데이터 유형을 지원하며 길이 및 변경 가능성 제약 조건을 적용합니다. 가입 프로세스를 완료하기 전에 사용자가 제공해야 하는 필수 속성을 선택하면 됩니다.

배치 가져오기 또는 Just-In-Time(JIT) 마이그레이션을 사용하여 Amazon Cognito로 마이그레이션할 수 있습니다. 배치 사용자 마이그레이션에서는 CSV 파일 가져오기 프로세스를 활용합니다. JIT 마이그레이션 프로세스를 사용하는 경우 AWS Lambda 트리거로 마이그레이션 프로세스를 로그인 워크플로에 통합하고 사용자 암호를 유지할 수 있습니다.

Amazon Cognito는 다중 테넌트 지원을 통해 B2B 상호 작용을 가능하게 합니다. 애플리케이션 통합을 재사용하거나, 액세스 및 암호 정책을 사용하거나, 완전한 테넌트 격리를 적용할 수 있습니다.

액세스 제어

Amazon Cognito는 애플리케이션과의 라스트 마일 통합을 보호합니다. Amazon Application Load Balancer(ALB) 및 Amazon API Gateway에는 Amazon Cognito 토큰 및 범위를 기반으로 액세스를 제공하는 정책 적용 지점이 기본적으로 포함되어 있습니다.

Amazon Cognito의 보안 인증 정보 브로커인 Amazon Cognito 자격 증명 풀은 Amazon DynamoDB, Amazon S3 버킷, Lambda 서버리스 구성 요소 및 기타 Amazon 서비스와 같은 AWS 리소스에 대한 Single Sign-On 액세스를 제공합니다. 서로 다른 역할에 사용자를 동적으로 매핑하여 서비스에 대한 최소 권한 액세스를 지원할 수 있습니다.

Amazon Cognito는 OAuth Client Credential Flow를 사용하여 머신 간 인증 기능을 제공함으로써 애플리케이션 구성 요소 간의 보안을 보장합니다.

OAuth 2.0 범위 및 클레임 형태의 사용자 지정 속성을 사용하여 액세스 토큰을 강화합니다. 액세스 토큰의 사용자 지정 속성을 사용하여 애플리케이션별 고급 권한 부여 결정을 내릴 수 있습니다. 이 기능을 통해 최종 사용자 경험을 개인화하고 고객 참여를 개선할 수도 있습니다. 

고객 경험

데이터 중심 접근 방식을 사용하여 더 많은 고객을 유치하고 유지하세요. 고객 접촉 캠페인을 시작하고 Amazon Pinpoint를 사용하여 참여도를 추적할 수 있습니다. Amazon Pinpoint로 Amazon Cognito 기반 사용자 활동을 분석하고 Amazon Cognito로 Pinpoint 캠페인을 위한 사용자 데이터를 보강하세요.

AWS Amplify는 사용 사례가 발전함에 따라 프런트엔드 웹 및 모바일 개발자가 다양한 AWS 서비스를 활용하는 유연성을 바탕으로 AWS에 풀 스택 애플리케이션을 쉽고 빠르게 구축할 수 있도록 지원하는 목적별 도구 및 기능 세트입니다. Amplify를 사용하면 Amazon Cognito를 통해 몇 분 만에 웹 또는 모바일 앱 백엔드를 구성하고 앱을 연결하며, 웹 프런트엔드 UI를 시각적으로 구축하고, AWS Console 외부 앱 콘텐츠를 쉽게 관리할 수 있습니다. 클라우드 전문 지식이 필요하지 않으며 더 빠르게 배포하고 손쉽게 조정할 수 있습니다.

CIAM 솔루션은 사용자 지정 솔루션입니다. Amazon Cognito는 강력한 세트의 후크 및 확장을 제공하므로 인증, 등록 및 사용자 마이그레이션 흐름을 완벽하게 사용자 지정할 수 있습니다. 예를 들어 사용자 지정 ID 프루핑 및 계정 확인 검사로 셀프 등록 흐름을 보강할 수 있고 로그인 프로세스를 확장하여 사용자 지정 인증 흐름을 생성하거나 토큰 생성 전에 수정할 수 있습니다.

Amazon Cognito SDK는 Java, C++, PHP, Python, Golang, Ruby, .NET 및 JavaScript를 사용하여 제공됩니다.

고급 보안

Amazon Web Application Firewall(AWS WAF)과의 기본 통합을 바탕으로, Amazon Cognito는 자동 계정으로 인한 손실을 줄이는 데 도움이 될 수 있는 고급 봇 탐지 기능을 제공합니다.

Amazon Cognito는 사용자의 가입, 로그인 또는 암호 변경 시 손상된 보안 인증 정보의 재사용을 실시간으로 탐지하고 차단할 수 있습니다. Amazon Cognito는 사용자가 다른 곳에서 손상된 자격 증명을 입력했음을 탐지하면, 사용자에게 암호를 변경하라고 요청합니다.

적응형 인증을 사용하여 사용자 계정을 보호하고 로그인 경험을 개선할 수 있습니다. Amazon Cognito가 새 위치 및 새 디바이스에서의 시도와 같은 예외적인 로그인 활동을 탐지하면, 해당 활동에 위험 점수를 할당하고 사용자에게 추가 확인을 요청하거나 해당 로그인 요청을 차단하도록 합니다.

감사 및 규정 준수

Amazon Cognito는 의료 서비스 기업 및 판매업체처럼 매우 엄격한 규제를 받는 조직이 여러 보안 및 규정 준수 요구 사항을 충족합니다. Amazon Cognito는 HIPAA 적격 서비스이며, PCI DSS, SOC, ISO/IEC 27001, ISO/IEC 27017, ISO/IEC 27018 및 ISO 9001을 준수합니다.

Amazon Cognito는 AWS CloudTrail, Amazon CloudWatch Metrics, Amazon CloudWatch 로그 인사이트를 이용한 모니터링을 지원합니다. CloudTrail을 사용하면 Amazon Cognito 콘솔에서 보내는 API 호출과 Amazon Cognito API 작업에 대한 코드 호출에서 보내는 API 호출을 캡처할 수 있습니다. CloudWatch 지표를 사용하면 이벤트 발생 시 거의 실시간으로 모니터링하고, 보고하고, 자동 조치를 실행할 수 있습니다. CloudWatch Logs Insights를 사용하면 CloudWatch에 이벤트를 전송하도록 CloudTrail을 구성하여 Amazon Cognito CloudTrail 로그 파일을 모니터링할 수 있습니다.