사용자 풀에 고급 보안 기능 추가 - Amazon Cognito

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

사용자 풀에 고급 보안 기능 추가

사용자 풀을 생성한 후에는 Amazon Cognito 콘솔의 탐색 모음에서 [고급 보안(Advanced security)]에 액세스할 수 있습니다. 사용자 풀 고급 보안 기능을 켜고 여러 위험에 대응하여 취하는 조치를 사용자 지정할 수 있습니다. 또는 감사 모드를 사용하여 보안 완화를 적용하지 않고 탐지된 위험에 대한 지표를 수집할 수 있습니다. 감사 모드에서는 고급 보안 기능이 지표를 Amazon에 CloudWatch 게시합니다. Amazon Cognito가 첫 번째 고급 보안 이벤트를 생성한 후에 고급 보안 지표를 볼 수 있습니다. 고급 보안 지표 보기 섹션을 참조하십시오.

고급 보안 기능에는 손상된 보안 인증 탐지 및 조정 인증이 포함됩니다.

손상된 보안 인증

사용자는 여러 사용자 계정에 암호를 재사용합니다. Amazon Cognito의 손상된 보안 인증 기능은 사용자 이름 및 암호의 공개 유출 데이터를 수집하여 사용자의 보안 인증을 유출된 보안 인증 목록과 비교합니다. 손상된 보안 인증 탐지는 일반적으로 추측되는 암호도 검사합니다.

손상된 보안 인증을 확인하도록 요청하는 사용자 작업과 이에 대한 응답으로 Amazon Cognito가 수행하기를 원하는 작업을 선택할 수 있습니다. 로그인, 가입, 암호 변경 이벤트의 경우, Amazon Cognito는 로그인을 차단하거나 로그인을 허용할 수 있습니다. 두 경우 모두 Amazon Cognito가 생성하는 사용자 활동 로그에서 이벤트에 대한 추가 정보를 찾을 수 있습니다.

조정 인증

Amazon Cognito는 사용자의 로그인 요청에서 위치 및 디바이스 정보를 검토하고 자동 응답을 적용하여 의심스러운 활동으로부터 사용자 풀의 사용자 계정을 보호할 수 있습니다.

고급 보안을 활성화하면 Amazon Cognito가 사용자 활동에 위험 점수를 할당합니다. 의심스러운 활동에 자동 응답을 할당할 수 있습니다. MFA를 요구하거나, 로그인을 차단하거나, 활동 세부 정보 및 위험 점수를 로깅할 수 있습니다. 또한 의심스러운 활동을 사용자에게 알리는 이메일 메시지를 자동으로 전송하여 사용자가 암호를 재설정하거나 기타 자체 안내 조치를 취할 수 있습니다.

액세스 토큰 사용자 지정

고급 보안 기능을 활성화하면 버전 2 Lambda 트리거 이벤트에 대한 응답을 수락하도록 사용자 풀을 구성할 수 있습니다. 버전 2에서는 액세스 토큰의 범위 및 기타 클레임을 사용자 지정할 수 있습니다. 이렇게 하면 사용자가 인증할 때 유연한 권한 부여 결과를 생성할 수 있는 능력이 향상됩니다. 자세한 설명은 액세스 토큰 사용자 지정 섹션을 참조하세요.

고려 사항 및 제한

  • Amazon Cognito 고급 보안 기능에는 추가 요금이 적용됩니다. Amazon Cognito 요금 페이지를 참조하세요.

  • Amazon Cognito는 다음과 같은 표준 인증 흐름을 통해 적응형 인증 및 손상된 자격 증명 탐지를 지원합니다. USER_PASSWORD_AUTH ADMIN_USER_PASSWORD_AUTH USER_SRP_AUTH 고급 보안은 CUSTOM_AUTH 흐름과 사용자 정의 인증 챌린지 Lambda 트리거 또는 페더레이션 로그인과 함께 사용할 수 없습니다.

  • 전체 기능 모드의 Amazon Cognito 고급 보안 기능을 사용하면 IP 주소 항상 차단항상 허용 예외를 생성할 수 있습니다. 항상 차단(Always block) 예외 목록에 있는 IP 주소의 세션에는 조정 인증별 위험 수준이 할당되지 않으며 이러한 세션은 사용자 풀에 로그인할 수 없습니다.

  • 사용자 풀의 항상 차단(Always block) 예외 목록에 있는 IP 주소의 차단된 요청은 사용자 풀에 대한 요청 비율 할당량에 기여합니다. Amazon Cognito 고급 보안 기능은 분산 서비스 거부(DDoS) 공격을 차단하지 않습니다. 사용자 풀 내 대량 공격에 대한 방어를 구현하려면 AWS WAF 웹 ACL을 추가하십시오. 자세한 설명은 AWS WAF 웹 ACL을 사용자 풀과 연결 섹션을 참조하세요.

  • 클라이언트 자격 증명 부여는 사용자 계정과의 연결 없이 machine-to-machine (M2M) 인증을 위한 것입니다. 고급 보안 기능은 사용자 풀에서 사용자 계정 및 암호만 모니터링합니다. M2M 활동에 보안 기능을 구현하려면 요청 비율 및 콘텐츠 모니터링을 위한 AWS WAF의 기능을 고려하십시오. 자세한 설명은 AWS WAF 웹 ACL을 사용자 풀과 연결 섹션을 참조하세요.

사전 조건

시작하려면 다음이 필요합니다.

  • 앱 클라이언트가 포함된 사용자 풀. 자세한 내용은 사용자 풀 시작하기 섹션을 참조하세요.

  • Amazon Cognito 콘솔에서 멀티 팩터 인증(MFA)을 [선택 사항(Optional)]으로 설정하여 위험 기반 조정 인증 기능을 사용합니다. 자세한 내용은 사용자 풀에 MFA 추가 섹션을 참조하세요.

  • 이메일 알림을 사용하고 있는 경우에는 Amazon SES 콘솔로 이동하여 이메일 알림에서 사용할 이메일 주소 또는 도메인을 구성하고 확인합니다. Amazon SES에 대한 자세한 내용은 Amazon SES에서 자격 증명 확인을 참조하세요.

고급 보안 기능 구성

AWS Management Console에서 Amazon Cognito 고급 보안 기능을 구성할 수 있습니다.

사용자 풀에서 고급 보안 기능을 구성하는 방법
  1. Amazon Cognito 콘솔로 이동합니다. 메시지가 표시되면 AWS 자격 증명을 입력합니다.

  2. [사용자 풀(User Pools)]을 선택합니다.

  3. 목록에서 기존 사용자 풀을 선택하거나 사용자 풀을 생성합니다.

  4. [앱 통합(App integration)] 탭을 선택합니다. [고급 보안(Advanced security)]을 찾아서 [사용(Enable)]을 선택합니다. 이전에 고급 보안을 사용하도록 설정한 경우 [편집(Edit)]을 선택합니다.

  5. 손상된 자격 증명 및 조정 인증에 대한 고급 보안 응답을 구성하려면 전체 기능(Full function)을 선택합니다. 정보를 수집하고 사용자 풀 데이터를 전송하려면 감사만을 선택합니다. CloudWatch 고급 보안 요금은 감사 전용(Audit only)전체 기능(Full function) 모드 둘 다에서 적용됩니다. 자세한 내용은 Amazon Cognito 요금을 참조하세요.

    작업을 활성화하기 전에 고급 보안 기능을 2주 동안 감사 모드로 유지하는 것이 좋습니다. 이 경우 Amazon Cognito가 앱 사용자의 사용 패턴을 학습할 수 있습니다.

  6. 감사 전용(Audit only)을 선택한 경우 변경 사항 저장(Save changes)을 선택합니다. [전체 기능(Full function)]을 선택한 경우 다음을 수행합니다.

    1. [사용자 정의(Custom)] 작업을 수행할지 또는 [Cognito 기본값(Cognito defaults)]을 사용하여 의심스러운 [손상된 자격 증명(Compromised credentials)]에 대응할지 선택합니다. [Cognito 기본값(Cognito defaults)]은 다음과 같습니다.

      1. [로그인(Sign-in)], [가입(Sign-up)], 암호 변경(Password change)]에서 손상된 자격 증명을 탐지합니다.

      2. [로그인 차단(Block sign-in)] 작업으로 손상된 자격 증명에 대응합니다.

    2. 손상된 자격 증명(Compromised credentials)에 대해 사용자 지정(Custom) 작업을 선택한 경우 Amazon Cognito가 이벤트 감지(Event detection)에 사용할 사용자 풀 작업 및 Amazon Cognito가 수행하도록 할 손상된 자격 증명 응답(Compromised credentials responses)을 선택합니다. 의심스러운 손상된 자격 증명으로 [로그인 차단(Block sign-in)] 또는 [로그인 허용(Allow sign-in)]을 선택할 수 있습니다.

    3. 조정 인증(Adaptive authentication)에서 악의적인 로그인 시도에 대응하는 방법을 선택합니다. 사용자 지정(Custom) 작업을 수행할지 또는 Cognito 기본값(Cognito defaults)을 사용하여 의심스러운 악의적인 활동에 대응할지 선택합니다. Cognito 기본값(Cognito defaults)을 선택한 경우 Amazon Cognito는 모든 위험 수준에서 로그인을 차단하고 사용자에게 알리지 않습니다.

    4. 조정 인증(Adaptive authentication)에서 사용자 지정(Custom) 작업을 선택한 경우 Amazon Cognito에서 심각도 수준에 따라 탐지된 위험에 대응하여 수행할 자동 위험 대응(Automatic risk response)을 선택합니다. 위험 수준에 대응을 할당할 때 더 높은 수준의 위험에 덜 제한적인 대응을 할당할 수는 없습니다. 위험 수준에 할당할 수 있는 대응은 다음과 같습니다.

      1. [로그인 허용(Allow sign-in)] - 예방 조치를 수행하지 않습니다.

      2. [선택적 MFA(Optional MFA)] - 사용자에 대해 MFA가 구성되어 있는 경우 Amazon Cognito는 사용자가 로그인할 때 항상 추가 SMS 또는 시간 기반 일회용 암호(TOTP) 팩터를 제공하도록 요구합니다. MFA가 구성되어 있지 않은 사용자는 정상적으로 로그인을 계속할 수 있습니다.

      3. [MFA 필요(Require MFA)] - 사용자에 대해 MFA가 구성되어 있는 경우 Amazon Cognito는 사용자가 로그인할 때 항상 추가 SMS 또는 TOTP 팩터를 제공하도록 요구합니다. MFA가 구성되어 있지 않은 사용자의 경우 Amazon Cognito에서 MFA를 설정하라는 메시지를 표시합니다. 사용자에게 MFA를 자동으로 요구하기 전에 SMS MFA용 전화 번호를 캡처하거나 TOTP MFA용 인증 앱을 등록하는 메커니즘을 앱에 구성합니다.

      4. 로그인 차단(Block sign-in) - 사용자가 로그인할 수 없도록 합니다.

      5. 사용자 알림(Notify user) - Amazon Cognito가 탐지한 위험과 수행된 대응 작업에 대한 정보가 포함된 이메일 메시지를 사용자에게 보냅니다. 보내는 메시지의 이메일 메시지 템플릿을 사용자 지정할 수 있습니다.

  7. 이전 단계에서 사용자 알림(Notify user)을 선택한 경우 조정 인증용 이메일 전송 설정 및 이메일 템플릿을 사용자 지정할 수 있습니다.

    1. 이메일 구성(Email configuration)에서 조정 인증과 함께 사용할 SES 리전(SES Region), 발신 이메일 주소(FROM email address), 발신 발신자 이름(FROM sender name)회신 이메일 주소(REPLY-TO email address)를 선택합니다. 사용자 풀 이메일 메시지를 Amazon Simple Email Service와 통합하는 방법에 대한 자세한 내용은 Amazon Cognito 사용자 풀에 대한 이메일 설정을 참조하세요.

      
                  사용자 이벤트 기록
    2. 이메일 템플릿(Email templates)을 확장하여 HTML 버전의 이메일 메시지와 일반 텍스트 버전의 이메일 메시지 모두에서 조정 인증 알림을 사용자 지정합니다. 이메일 메시지 템플릿에 대한 자세한 내용은 메시지 템플릿 섹션을 참조하세요.

  8. IP 주소 예외(IP address exceptions)를 확장하여 고급 보안 위험 평가와 관계없이 항상 허용 또는 차단되는 IPv4 또는 IPv6 주소 범위의 항상 허용(Always-allow) 또는 항상 차단(Always-block) 목록을 생성합니다. CIDR 표기법(예: 192.168.100.0/24)으로 IP 주소 범위를 지정합니다.

  9. 변경 사항 저장(Save changes)을 선택합니다.