암호, 암호 복구 및 암호 정책 - Amazon Cognito

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

암호, 암호 복구 및 암호 정책

페더레이션 사용자 를 포함하여 사용자 풀에 로그인하는 모든 사용자는 사용자 프로필에 암호가 할당됩니다. 로컬 사용자연결된 사용자는 로그인할 때 암호를 제공해야 합니다. 페더레이션 사용자는 사용자 풀 암호를 사용하지 않지만 자격 증명 공급자(IdP )로 로그인합니다. 사용자가 자신의 암호를 재설정하고, 관리자로서 암호를 재설정 또는 변경하고, 암호 복잡성 및 기록에 대한 정책을 설정하도록 허용할 수 있습니다.

Amazon Cognito는 사용자 암호를 일반 텍스트로 저장하지 않습니다. 대신 각 사용자의 암호 해시를 사용자별 솔트와 함께 저장합니다. 이로 인해 사용자 풀의 사용자 프로필에서 기존 암호를 검색할 수 없습니다. 가장 좋은 방법은 일반 텍스트 사용자 암호를 어디에도 저장하지 않는 것입니다. 사용자가 암호를 잊어버린 경우 암호 재설정을 수행합니다.

암호 재설정 및 복구

사용자가 암호를 잊어버렸습니다. 사용자가 직접 암호를 재설정할 수 있도록 하거나 관리자가 암호를 재설정하도록 요구할 수 있습니다. Amazon Cognito 사용자 풀에는 두 모델 모두에 대한 옵션이 있습니다. 가이드의 이 부분에서는 사용자 풀 설정과 암호 재설정 API 작업을 다룹니다.

ForgotPassword API 작업 및 호스팅 UI 옵션 암호를 잊으셨습니까? 는 사용자에게 올바른 코드가 있는지 확인할 때 를 사용하여 새 암호를 설정할 수 있는 기회를 제공하는 코드를 보냅니다ConfirmForgotPassword. 이는 셀프 서비스 암호 복구 모델입니다.

AdminSetUserPasswordAdminResetUserPassword API 작업은 관리자가 시작한 암호 재설정 방법입니다. 는 임시 또는 영구 암호를 AdminSetUserPassword 설정하고 사용자에게 와 동일한 방식으로 암호 재설정 코드를 AdminResetUserPassword 보냅니다ForgotPassword.

AccountRecoverySetting 파라미터는 사용자가 ForgotPassword 를 호출할 때 암호를 복구하는 데 사용할 수 있는 방법을 설정하는 사용자 풀 파라미터API입니다. 는 확인된 이메일 또는 확인된 전화번호로 복구 코드를 ForgotPassword 보냅니다. 복구 코드는 1시간 동안 유효합니다. 사용자 풀에 대해 AccountRecoverySetting을 지정할 때 Amazon Cognito는 사용자가 설정한 우선 순위에 따라 코드 전달 대상을 선택합니다.

AccountRecoverySetting 정의하고 사용자가 SMS MFA 구성한 경우 를 계정 복구 메커니즘으로 사용할 수 SMS 없습니다. 이 설정의 우선 순위는 1이 가장 높은 우선 순위로 결정됩니다. Cognito는 지정된 메서드 중 하나에만 확인을 보냅니다.

예를 들어 admin_only는 사용자가 자신의 계정을 직접 복구하지 않고 대신 관리자에게 연락하여 계정을 재설정하도록 관리자가 요구할 때 사용되는 값입니다. admin_only는 다른 계정 복구 메커니즘과 함께 사용할 수 없습니다.

AccountRecoverySetting을 지정하지 않으면 Amazon Cognito는 기존 메커니즘을 사용하여 암호 복구 방법을 결정합니다. 이 경우 Cognito는 확인된 휴대폰을 먼저 사용합니다. 사용자에 대해 확인된 휴대폰을 찾을 수 없는 경우 Cognito는 폴백하고 다음 번 확인된 이메일을 사용합니다.

사용자가 선호하는 MFA 방법은 암호를 복구하는 데 사용할 수 있는 방법에 영향을 미칩니다. 이메일 메시지MFA로 선호하는 사용자는 이메일로 암호 재설정 코드를 받을 수 없습니다. SMS 메시지MFA로 선호하는 사용자는 에서 암호 재설정 코드를 받을 수 없습니다SMS.

사용자가 선호하는 암호 재설정 방법을 사용할 수 없는 경우 암호 복구 설정에서 대체 옵션을 제공해야 합니다. 예를 들어 복구 메커니즘에 이메일이 최우선 순위일 수 있으며 이메일은 사용자 풀의 옵션일 MFA 수 있습니다. 이 경우 SMS메시지 계정 복구를 두 번째 옵션으로 추가하거나 관리 API 작업을 사용하여 해당 사용자의 암호를 재설정합니다.

에 대한 자세한 AccountRecoverySetting내용은 Amazon Cognito 자격 증명 공급자 API 참조UpdateUserPoolCreateUserPool 및 섹션을 참조하세요.

암호 찾기 동작

지정된 시간 동안 사용자가 암호 찾기 및 confirm-forgot-password 작업의 일부로 암호 재설정 코드를 요청하거나 입력할 수 있도록 5~20회 시도할 수 있습니다. 정확한 값은 요청과 관련된 위험 매개 변수에 따라 다릅니다. 이 동작은 변경될 수 있습니다.

사용자 풀 암호 요구 사항 추가

강력하고 복잡한 암호는 사용자 풀의 보안 모범 사례입니다. 특히 인터넷에 열려 있는 애플리케이션에서 암호가 약하면 사용자의 보안 인증 정보가 암호를 추측하고 데이터에 액세스하려고 시도하는 시스템에 노출될 수 있습니다. 암호가 복잡할수록 추측하기가 더 어렵습니다. Amazon Cognito에는 고급 보안 기능AWS WAF 웹ACLs과 같은 보안 의식이 있는 관리자를 위한 추가 도구가 있지만 암호 정책은 사용자 디렉터리 보안의 핵심 요소입니다.

Amazon Cognito 사용자 풀의 로컬 사용자 암호는 자동으로 만료되지 않습니다. 사용자 암호 재설정의 시간, 날짜 및 메타데이터를 외부 시스템에 기록하는 것이 가장 좋습니다. 암호 수명에 대한 외부 로그를 사용하면 애플리케이션 또는 Lambda 트리거가 사용자의 암호 기간을 조회하고 지정된 기간 후에 재설정을 요구할 수 있습니다.

보안 표준을 준수하는 최소한의 암호 복잡성이 요구되도록 사용자 풀을 구성할 수 있습니다. 복잡한 암호의 길이는 최소 8자입니다. 대문자, 숫자 및 특수 문자를 혼합한 것도 포함됩니다.

고급 보안 기능을 사용하면 암호 재사용 정책을 설정할 수도 있습니다. 사용자가 현재 암호 또는 최대 23개의 추가 이전 암호와 일치하는 새 암호로 암호를 재설정하지 못하도록 하여 최대 24개까지 설정할 수 있습니다.

사용자 풀 암호 정책 설정
  1. 사용자 풀을 생성하고 보안 요구 사항 구성 단계로 이동하거나 기존 사용자 풀에 액세스하여 로그인 경험 탭으로 이동합니다.

  2. 암호 정책으로 이동합니다.

  3. 암호 정책 모드를 선택합니다. Cognito 기본값은 권장 최소 설정으로 사용자 풀을 구성합니다. 사용자 지정 암호 정책을 선택할 수도 있습니다.

  4. 암호 최소 길이를 설정합니다. 모든 사용자는 이 값보다 크거나 같은 길이의 암호를 등록하거나 생성해야 합니다. 이 최솟값을 99까지 설정할 수 있지만 사용자는 최대 256자의 암호를 설정할 수 있습니다.

  5. 암호 요구 사항에서 암호 복잡성 규칙을 구성하십시오. 각 사용자 암호에 필요한 문자 유형(숫자, 특수 문자, 대문자, 소문자)을 선택합니다.

    암호에는 다음 문자 중 하나 이상이 필요할 수 있습니다. Amazon Cognito가 암호에 최소 필수 문자가 포함되어 있는지 확인한 후 사용자의 암호에는 최대 암호 길이까지 모든 유형의 추가 문자가 포함될 수 있습니다.

    • 기본 라틴 문자의 대문자와 소문자

    • 숫자

    • 다음은 특수 문자입니다.

      ^ $ * . [ ] { } ( ) ? " ! @ # % & / \ , > < ' : ; | _ ~ ` = + -
    • 비선행 비후행 공백 문자

  6. 관리자가 설정한 임시 암호의 만료 기간을 설정합니다. 이 기간이 지나면 Amazon Cognito 콘솔에서 또는 AdminCreateUser를 통해 생성한 새 사용자는 로그인하거나 새 암호를 설정할 수 없습니다. 임시 암호로 로그인한 후에는 사용자 계정이 만료되지 않습니다. Amazon Cognito 사용자 풀 에서 암호 기간을 업데이트하려면 CreateUserPool 또는 UpdateUserPool API 요청TemporaryPasswordValidityDays 에서 에 대한 값을 API설정합니다.

  7. 사용 가능한 경우 이전 암호 사용 방지 값을 설정합니다. 이 기능을 사용하려면 사용자 풀에서 고급 보안 기능을 활성화합니다. 이 파라미터의 값은 사용자가 암호를 재설정할 때 새 암호가 일치하지 않는 이전 암호 수입니다.

만료된 사용자 계정에 대한 액세스를 재설정하려면 다음 중 하나를 수행합니다.

  • 사용자 프로필을 삭제하고 새 프로필을 생성합니다.

  • AdminSetUserPassword API 요청에서 새 영구 암호를 설정합니다.

  • AdminResetUserPassword API 요청에서 새 확인 코드를 생성합니다.