잠긴 사용자

Tier: Free, Premium, Ultimate Offering: Self-managed, GitLab Dedicated

Self-managed 사용자

기본적으로 사용자는 10회의 실패한 로그인 시도 후에 잠깁니다. 이러한 사용자들은 다음과 같이 잠깁니다:

  • 10분 동안 잠김 상태를 유지한 후 자동으로 잠금 해제됩니다.
  • 최대 10분 이내에 관리자가 관리자 영역 또는 명령행에서 잠금을 해제할 때까지 계속 잠긴 상태를 유지합니다.

GitLab 16.5 이상에서, 관리자는 API를 사용하여 다음을 구성할 수 있습니다:

  • 사용자를 잠그는 데 필요한 실패한 로그인 시도 횟수(max_login_attempts).
  • 최대 실패한 로그인 시도 횟수에 도달한 후 사용자가 잠기는 시간(분)(failed_login_attempts_unlock_period_in_minutes).

예를 들어, 관리자는 다음과 같은 API 호출로 5회의 실패한 로그인 시도로 사용자를 잠그고, 사용자가 60분 동안 잠기도록 구성할 수 있습니다:

curl --request PUT --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/application/settings?max_login_attempts=5&failed_login_attempts_unlock_period_in_minutes=60"

GitLab.com 사용자

2단계 인증(2FA)이 활성화되어 있지 않은 경우, 사용자는 24시간 내에 3회의 실패한 로그인 시도 후에 잠깁니다. 이러한 사용자들은 다음과 같이 잠깁니다:

  • 다음에 성공적으로 로그인하면, 6자리의 잠금 해제 코드가 포함된 이메일이 전송되고 해당 코드를 입력하여 계정을 잠금 해제할 수 있는 확인 페이지로 리디렉션됩니다.
  • 계정 소유권이 확인된 후 GitLab 지원이 수동으로 계정을 잠금 해제합니다.

2단계 인증(2FA)이 활성화된 경우, 사용자는 3회의 실패한 로그인 시도 후에 잠깁니다. 계정은 30분 후에 자동으로 잠금이 해제됩니다.

관리자 영역에서 사용자의 잠금 해제

  1. 왼쪽 사이드바에서 맨 아래에 있는 관리자를 선택합니다.
  2. 개요 > 사용자를 선택합니다.
  3. 검색 창을 사용하여 잠긴 사용자를 찾습니다.
  4. 사용자 관리 드롭다운 목록에서 잠금 해제를 선택합니다.

명령행에서 사용자의 잠금 해제

잠긴 사용자의 잠금을 해제하려면:

  1. GitLab 서버에 SSH로 연결합니다.
  2. Ruby on Rails 콘솔을 시작합니다:

    ## Omnibus GitLab을 사용하는 경우
    sudo gitlab-rails console -e production
    
    ## 소스에서 설치한 경우
    sudo -u git -H bundle exec rails console -e production
    
  3. 잠긴 사용자를 찾습니다. 이메일로 검색할 수 있습니다:

    user = User.find_by(email: 'admin@local.host')
    

    또는 ID로 검색할 수 있습니다:

    user = User.where(id: 1).first
    
  4. 사용자의 잠금을 해제합니다:

    user.unlock_access!
    
  5. Control+d를 사용하여 콘솔을 종료합니다.

이제 사용자는 로그인할 수 있어야 합니다.