로그인 제한
Offering: GitLab Self-Managed
로그인 제한을 사용하여 웹 인터페이스 및 HTTPS를 통한 Git에 대한 인증 제한을 사용자 정의하세요. 이 설정은 기본적으로 활성화되어 있습니다. 웹 인터페이스에 대한 비밀번호 및 패스키 인증을 허용하려면: 외부 인증 공급자에 장애가 발생한 경우, GitLab Rails 콘솔을 사용하여 표준 웹 로그인 양식을 다시 활성화하세요.
로그인 제한을 사용하여 웹 인터페이스 및 HTTPS를 통한 Git에 대한 인증 제한을 사용자 정의하세요.
전제 조건:
- 관리자 접근 권한이 있어야 합니다.
비밀번호 및 패스키 인증#
웹 인터페이스에 대한 비밀번호 및 패스키 인증 허용#
이 설정은 기본적으로 활성화되어 있습니다. 비활성화되면 사용자는 표준 로그인 화면을 사용할 수 없으며 대신 외부 인증 공급자를 사용해야 합니다. 또한 이중 인증에 패스키를 사용하는 것도 비활성화됩니다.
웹 인터페이스에 대한 비밀번호 및 패스키 인증을 허용하려면:
- 오른쪽 상단에서 Admin을 선택합니다.
- 왼쪽 사이드바에서 Settings > General을 선택합니다.
- Sign-in restrictions 섹션을 확장합니다.
- Allow password and passkey authentication for the web interface 체크박스를 선택합니다.
- Save changes를 선택합니다.
외부 인증 공급자에 장애가 발생한 경우, GitLab Rails 콘솔을 사용하여 표준 웹 로그인 양식을 다시 활성화하세요.
애플리케이션 설정 API를 사용하여 password_authentication_enabled_for_web 설정을 구성할 수도 있습니다.
HTTPS를 통한 Git에 대한 비밀번호 인증 허용#
이 설정은 기본적으로 활성화되어 있습니다. 비활성화되면 사용자는 개인 접근 토큰 또는 LDAP 비밀번호로 인증해야 합니다.
HTTPS를 통한 Git에 대한 비밀번호 인증을 허용하려면:
- 오른쪽 상단에서 Admin을 선택합니다.
- 왼쪽 사이드바에서 Settings > General을 선택합니다.
- Sign-in restrictions 섹션을 확장합니다.
- Allow password authentication for Git over HTTP(S) 체크박스를 선택합니다.
- Save changes를 선택합니다.
SSO 신원을 가진 사용자의 비밀번호 및 패스키 인증 비활성화#
조직에서 SSO 사용자가 비밀번호나 패스키로 로그인하는 것을 제한하고 외부 인증 공급자를 사용하도록 요구할 수 있습니다. 이는 웹 인터페이스와 HTTPS를 통한 Git 모두에 대한 비밀번호 인증, 그리고 웹 인터페이스에 대한 패스키 인증을 제한합니다. 패스키는 HTTPS를 통한 Git에는 절대 사용할 수 없습니다.
SSO 신원을 가진 사용자의 비밀번호 및 패스키 인증을 비활성화하려면:
- 오른쪽 상단에서 Admin을 선택합니다.
- 왼쪽 사이드바에서 Settings > General을 선택합니다.
- Sign-in restrictions 섹션을 확장합니다.
- Disable password and passkey authentication for users with an SSO identity 체크박스를 선택합니다.
- Save changes를 선택합니다.
이중 인증#
사용자가 계정에 대한 이중 인증(2FA) 방법을 등록하도록 요구할 수 있습니다.
모든 사용자에게 이중 인증 시행#
이 설정은 관리자를 포함하여 모든 사용자가 2FA 방법을 등록하도록 요구합니다.
모든 사용자에게 이중 인증을 시행하려면:
- 오른쪽 상단에서 Admin을 선택합니다.
- 왼쪽 사이드바에서 Settings > General을 선택합니다.
- Sign-in restrictions 섹션을 확장합니다.
- Enforce two-factor authentication 체크박스를 선택합니다.
- 선택 사항. Two-factor grace period에서 시간 수를 입력합니다. 사용자는 이 시간이 끝날 때 2FA 방법을 등록해야 합니다. 다음 로그인 시 등록을 시행하려면
0으로 설정합니다. - Save changes를 선택합니다.
관리자에게 이중 인증 시행#
이 설정은 관리자만 2FA 방법을 등록하도록 요구합니다. 여기에는 사용자 정의 관리자 역할을 가진 사용자도 포함됩니다.
관리자에게 이중 인증을 시행하려면:
- 오른쪽 상단에서 Admin을 선택합니다.
- 왼쪽 사이드바에서 Settings > General을 선택합니다.
- Sign-in restrictions 섹션을 확장합니다.
- Enforce two-factor authentication for administrators 체크박스를 선택합니다.
- 선택 사항. Two-factor grace period에서 시간 수를 입력합니다. 사용자는 이 시간이 끝날 때 2FA 방법을 등록해야 합니다. 다음 로그인 시 등록을 시행하려면
0으로 설정합니다. - Save changes를 선택합니다.
Admin Mode#
관리자인 경우 관리자 접근 없이 GitLab에서 작업하고 싶을 수 있습니다. 관리자 접근이 없는 별도의 사용자 계정을 생성하거나 Admin Mode를 사용할 수 있습니다.
Admin Mode를 사용하면 계정에 기본적으로 관리자 접근 권한이 없습니다. 멤버인 그룹과 프로젝트에 계속 접근할 수 있습니다. 그러나 관리 작업의 경우 (특정 기능 제외) 인증이 필요합니다.
Admin Mode가 활성화되면 인스턴스의 모든 관리자에게 적용됩니다.
인스턴스에 Admin Mode가 활성화되면 관리자는:
- 멤버인 그룹과 프로젝트에 접근할 수 있습니다.
- Admin 영역에 접근할 수 없습니다.
인스턴스에 Admin Mode 활성화#
관리자는 API, Rails 콘솔 또는 UI를 통해 Admin Mode를 활성화할 수 있습니다.
API를 사용하여 Admin Mode 활성화#
인스턴스 엔드포인트에 다음 요청을 보냅니다:
curl --request PUT --header "PRIVATE-TOKEN:$ADMIN_TOKEN" "<gitlab.example.com>/api/v4/application/settings?admin_mode=true"
<gitlab.example.com>을 인스턴스 URL로 교체합니다.
자세한 내용은 API 호출을 통해 접근할 수 있는 설정 목록을 참조하세요.
Rails 콘솔을 사용하여 Admin Mode 활성화#
Rails 콘솔을 열고 다음을 실행합니다:
::Gitlab::CurrentSettings.update!(admin_mode: true)
UI를 사용하여 Admin Mode 활성화#
UI를 통해 Admin Mode를 활성화하려면:
- 오른쪽 상단에서 Admin을 선택합니다.
- 왼쪽 사이드바에서 Settings > General을 선택합니다.
- Sign-in restrictions를 확장합니다.
- Enable Admin Mode를 선택합니다.
- Save changes를 선택합니다.
세션에 대한 Admin Mode 활성화#
잠재적으로 위험한 리소스에 접근하기 위해 현재 세션에 Admin Mode를 활성화하려면:
- 오른쪽 상단에서 아바타를 선택합니다.
- Enter Admin Mode를 선택합니다.
- 관리자 접근이 필요한 URL에
/admin이 포함된 UI의 일부에 접근을 시도합니다.
Admin Mode 상태가 비활성화되거나 꺼지면 관리자는 해당 그룹이나 프로젝트의 멤버가 아닌 한 명시적으로 접근 권한이 부여되지 않은 리소스에 접근할 수 없습니다. 예를 들어, 관리자는 비공개 그룹이나 프로젝트에 접근하려고 하면 404 오류가 발생합니다.
관리자는 2FA를 활성화해야 합니다. Admin Mode에서는 2FA, OmniAuth 공급자 및 LDAP 인증이 지원됩니다. Admin Mode 상태는 현재 사용자 세션에 저장되며 다음 중 하나가 발생할 때까지 활성 상태를 유지합니다:
- 명시적으로 비활성화됨.
- 6시간 후 자동으로 비활성화됨.
세션에 Admin Mode가 활성화되어 있는지 확인#
히스토리
- GitLab 16.10에서
show_admin_mode_within_active_sessions라는 플래그와 함께 도입됨. 기본적으로 비활성화됨. - GitLab 16.10에서 GitLab.com에서 활성화됨.
- GitLab 17.0에서 일반적으로 사용 가능해짐. 기능 플래그
show_admin_mode_within_active_sessions제거됨.
활성 세션 목록으로 이동합니다:
- 오른쪽 상단에서 아바타를 선택합니다.
- Edit profile을 선택합니다.
- 왼쪽 사이드바에서 Access > Active sessions를 선택합니다.
Admin Mode가 활성화된 세션에는 Signed in on 세션 날짜 with Admin Mode 텍스트가 표시됩니다.
세션에 대한 Admin Mode 비활성화#
현재 세션에 대한 Admin Mode를 비활성화하려면:
- 오른쪽 상단에서 아바타를 선택합니다.
- Leave Admin Mode를 선택합니다.
알려진 문제#
Admin Mode는 6시간 후에 만료되며 이 시간 제한을 변경할 수 없습니다.
다음 접근 방법은 Admin Mode로 보호되지 않습니다:
- Git 클라이언트 접근(공개 키를 사용한 SSH 또는 개인 접근 토큰을 사용한 HTTPS).
즉, Admin Mode에 의해 제한된 관리자는 추가 인증 단계 없이도 Git 클라이언트를 사용할 수 있습니다.
GitLab REST 또는 GraphQL API를 사용하려면 관리자가 admin_mode 범위가 있는 개인 접근 토큰 또는 OAuth 토큰을 생성해야 합니다.
admin_mode 범위가 있는 개인 접근 토큰을 가진 관리자가 관리자 접근 권한을 잃으면, 해당 사용자는 admin_mode 범위가 있는 토큰을 여전히 보유하고 있더라도 관리자로서 API에 접근할 수 없습니다.
자세한 내용은 에픽 2158을 참조하세요.
또한 GitLab Geo가 활성화된 경우 보조 노드에서 프로젝트 및 디자인의 복제 상태를 볼 수 없습니다. 프로젝트(이슈 367926) 및 디자인(이슈 355660)이 새로운 Geo 프레임워크로 이동할 때 수정이 제안되었습니다.
Admin Mode 문제 해결#
필요한 경우 다음 두 가지 방법 중 하나를 사용하여 관리자로서 Admin Mode를 비활성화할 수 있습니다:
-
API:
curl --request PUT --header "PRIVATE-TOKEN:$ADMIN_TOKEN" "<gitlab-url>/api/v4/application/settings?admin_mode=false" -
::Gitlab::CurrentSettings.update!(admin_mode: false)
알 수 없는 로그인에 대한 이메일 알림#
활성화되면 GitLab은 알 수 없는 IP 주소나 장치에서의 로그인을 사용자에게 알립니다. 자세한 내용은 알 수 없는 로그인에 대한 이메일 알림을 참조하세요.

로그인 정보#
히스토리
- GitLab 17.0에서 Sign-in text 설정이 더 이상 사용되지 않음.
로그인하지 않은 모든 사용자는 값이 비어 있지 않으면 구성된 Home page URL로 리디렉션됩니다.
모든 사용자는 값이 비어 있지 않으면 로그아웃 후 구성된 Sign-out page URL로 리디렉션됩니다.
로그인 페이지에 도움말 메시지를 추가하려면 로그인 및 등록 페이지를 사용자 정의하세요.
문제 해결#
Rails 콘솔에서 표준 웹 로그인 양식 다시 활성화#
로그인 제한으로 비활성화된 경우 표준 사용자 이름 및 비밀번호 기반 로그인 양식을 다시 활성화합니다.
구성된 외부 인증 공급자(SSO 또는 LDAP 구성을 통해)가 장애 상황에 처해 있고 GitLab에 직접 로그인 접근이 필요한 경우 Rails 콘솔을 통해 이 방법을 사용할 수 있습니다.
Gitlab::CurrentSettings.update!(password_authentication_enabled_for_web: true)
