Amazon Cognito 기능

Amazon Cognito란 무엇인가요?

Amazon Cognito를 사용하면 몇 분 만에 사용자 가입, 로그인, 액세스 제어, 중개형 AWS 서비스 액세스를 웹 및 모바일 애플리케이션에 추가할 수 있습니다. Amazon Cognito는 수백만 명의 사용자로 확장할 수 있는 안전한 테넌트 기반 ID 저장소와 페더레이션 옵션을 제공하는 개발자 중심의 비용 효율적인 서비스입니다. Amazon Cognito는 브랜드 고객 경험을 생성하고, 보안을 개선하고, 고객의 요구에 맞게 조정하는 데 도움이 됩니다. 예를 들어 소셜 ID 제공업체를 통한 로그인과 WebAuthn 패스키 또는 SMS 및 이메일 일회용 암호를 사용한 암호 없는 로그인을 지원합니다. Amazon Cognito는 다양한 규정 준수 표준을 지원하고, 개방형 ID 표준에서 작동하며, 광범위한 개발 리소스 및 SDK 라이브러리 카탈로그와 통합됩니다.

사용자 인증

개발자는 노 코드 시각적 편집기를 사용하여 최종 사용자 화면(예: 가입, 로그인, MFA)이 표시되는 방식을 조정할 수 있습니다. 구성 파라미터에는 색상, 위치 조정, 정렬, 텍스트, 언어, 배경, 이미지, 로고, 글꼴, 레이아웃 등이 포함됩니다. 이러한 구성 옵션을 통해 소비자 브랜드 스타일에 가깝게 일치시킬 수 있으며, Cognito가 제공하는 사용자 경험과 애플리케이션 나머지 부분의 일관성과 응집성을 높일 수 있습니다.

고객은 최종 사용자가 암호를 기억할 필요 없이 애플리케이션에 액세스할 수 있도록 Amazon Cognito를 구성하여 마찰을 줄이고 보안을 개선하며 사용자 전환율을 높일 수 있습니다. 지원되는 암호 없는 인증 흐름에는 이메일로 로그인, 전화/SMS로 로그인, 패스키로 로그인이 포함됩니다. 이러한 유연성은 사용자 경험을 향상시키고 로그인 프로세스를 간소화합니다.

WebAuthn 패스키는 암호가 필요 없고 피싱 및 자격 증명 도용의 위험을 줄임으로써 보안을 강화합니다. 생체 인식이나 하드웨어 토큰 같은 더 빠르고 편리한 인증 방법을 통해 원활한 사용자 경험을 제공합니다. 또한 패스키는 퍼블릭 키 암호화를 활용하여 민감한 정보가 서버에 전송되거나 저장되지 않도록 함으로써 전반적인 계정 보안을 개선합니다. Amazon Cognito는 계정당 최대 20개의 패스키를 생성하고 저장하기 위한 [관리형 로그인]과 API 지원을 모두 제공합니다.

사용자 계정에 MFA를 활성화하여 고객을 위한 추가 보안 계층을 제공할 수 있습니다. 사용자는 이메일, SMS 또는 Google Authenticator 같은 시간 기반 일회용 암호(TOTP) 생성기를 사용하여 신원을 확인할 수 있습니다. Amazon Cognito는 사용자 풀에 따라 다른 암호 규칙을 적용하는 구성도 지원합니다.

Amazon Cognito는 페더레이션 허브로서 Apple, Facebook, Google 및 Amazon과 같은 소셜 ID 공급자와 엔터프라이즈 ID 공급자(SAML 2.0 및 OIDC 사용)를 통한 로그인을 지원합니다. Amazon Cognito는 SAML SP-시작 흐름, IdP-시작 흐름, SAML 암호화를 비롯한 다양한 SAML 프로필을 지원합니다. 사용자는 로컬 인증 또는 외부 페더레이션을 통해 Amazon Cognito에 로그인한 후 OAuth/OIDC를 사용하여 페더레이션된 리소스에 액세스할 수 있습니다.

Amazon Cognito에서는 AWS Lambda 함수를 사용하여 하나 이상의 챌린지-응답 주기를 기반으로 사용자를 인증하는 사용자 지정 인증 흐름을 구축할 수 있습니다. 이 흐름을 사용하여 사용자 지정 챌린지에 기반하는 맞춤형 인증을 구현하거나 사용자 지정 챌린지를 추가 인증 요소로 사용할 수 있습니다.

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

고객은 Amazon Verified Permissions 빠른 시작을 사용하여 권한 정책을 자동으로 생성하고, Cognito 그룹 멤버십에 따라 역할 기반 액세스 제어를 할당하고, 세분화된 권한 부여를 적용할 수 있습니다. Amazon Verified Permissions에는 복잡한 토큰 내 토큰 구조를 포함하여 Amazon Cognito ID 및 액세스 토큰을 지원하는 기본 제공 토큰 권한 부여자가 있습니다.

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

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

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

고객 경험

데이터 중심 접근 방식을 사용하여 더 많은 고객을 유치하고 유지하세요. 고객 접촉 캠페인을 시작하고 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를 사용하여 제공됩니다.

고급 보안

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

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

적응형 인증을 사용하여 사용자 계정을 보호하고 로그인 경험을 개선할 수 있습니다. Amazon Cognito는 새 위치와 디바이스에서의 로그인 시도나 IP 지리적 위치에 기반할 때 불가능한 이동 조건 같은 비정상적 로그인 활동을 탐지하면 해당 활동에 위험 점수를 할당하고, 사용자에게 추가 확인을 요청할지 아니면 해당 로그인 요청을 차단할지 선택하도록 합니다.

감사 및 규정 준수

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 로그 파일을 모니터링할 수 있습니다.

Amazon Cognito는 로그인, 가입, 암호 변경 같은 사용자 이벤트의 고급 로깅을 제공하여 위험 수준, 위치, 소스 IP, 사용자 에이전트 등 자세한 요청 데이터를 캡처합니다. 고객은 Amazon Kinesis Data Firehose를 통해 이 이벤트 로그 데이터를 Amazon CloudWatch, Amazon S3 또는 서드 파티 로그 집계 솔루션으로 스트리밍할 수 있습니다. 이를 통해 사용자 활동을 종합적으로 모니터링하고 분석할 수 있습니다.

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