잠긴 사용자
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
).
예를 들어, 관리자는 다음 API 호출로 다섯 번의 로그인 실패 시도로 사용자를 잠그고, 해당 사용자가 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 사용자
2FA가 활성화되어 있지 않은 경우, 사용자는 24시간 내에 3회의 로그인 실패 시도 후 잠깁니다. 사용자는 다음 기능을 실행할 때까지 잠긴 상태로 유지됩니다:
- 다음에 성공적으로 로그인하면 6자리의 잠금 해제 코드가 포함된 이메일을 받게 되며, 해당 코드를 입력하여 계정을 잠금 해제할 수 있는 확인 페이지로 리디렉션됩니다.
- 계정 소유권이 확인된 후 GitLab 지원팀이 매뉴얼으로 계정을 잠금 해제합니다.
2FA가 활성화된 경우, 사용자는 3회의 로그인 실패 시도 후 잠깁니다. 계정은 30분 후에 자동으로 잠금이 해제됩니다.
관리 영역에서 사용자의 잠금 해제
- 왼쪽 사이드바에서 가장 아래쪽에있는 관리 영역을 선택합니다.
- 개요 > 사용자를 선택합니다.
- 검색 모음을 사용하여 잠긴 사용자를 찾습니다.
- 사용자 관리 드롭다운 디렉터리에서 잠금 해제를 선택합니다.
명령행에서 사용자의 잠금 해제
잠긴 사용자를 잠금 해제하려면:
- GitLab 서버에 SSH로 로그인합니다.
-
Ruby on Rails 콘솔을 시작합니다:
## 옴니버스 GitLab의 경우 sudo gitlab-rails console -e production ## 소스에서 설치하는 경우 sudo -u git -H bundle exec rails console -e production
-
잠금 해제할 사용자를 찾습니다. 이메일로 검색할 수 있습니다:
user = User.find_by(email: 'admin@local.host')
또는 ID로 검색할 수 있습니다:
user = User.where(id: 1).first
-
사용자의 잠금을 해제합니다:
user.unlock_access!
- Control+d로 콘솔을 종료합니다.
이제 사용자는 로그인할 수 있어야 합니다.