잠금된 사용자

상세 정보:
Tier: Free, Premium, Ultimate Offering: Self-managed, GitLab Dedicated

Self-managed 사용자

  • GitLab 16.5에 도입된 구성 가능한 잠금 사용자 정책 소개됨.

기본적으로 사용자는 10회 로그인 실패 시 잠깁니다. 이러한 사용자는 다음과 같이 잠겨 있습니다:

  • 10분 동안 잠기며, 그 후 자동으로 잠금이 해제됩니다.
  • 관리자가 관리자 영역 또는 명령줄에서 10분 이내에 잠금을 해제할 때까지.

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

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

예를 들어, 관리자는 5회의 로그인 실패가 사용자를 잠그도록 구성하고, 해당 사용자는 60분 동안 잠금 상태가 유지되도록 설정할 수 있습니다. 다음 API 호출을 통해:

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 사용자

2FA가 활성화되지 않은 경우, 사용자는 24시간 이내에 3회의 로그인 실패 후 잠깁니다. 이러한 사용자는 다음과 같이 잠금 해제될 때까지 유지됩니다:

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

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를 눌러 콘솔을 종료합니다.

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