InfoGrab DocsInfoGrab Docs

로그인 제한

요약

로그인 제한으로 웹 인터페이스와 HTTP(S)를 통한 Git의 인증 제한을 사용자 환경에 맞게 설정합니다. 이 설정은 기본적으로 활성화되어 있습니다. 웹 인터페이스에 대한 비밀번호 및 패스키 인증을 허용하는 방법은 다음과 같습니다.

로그인 제한으로 웹 인터페이스와 HTTP(S)를 통한 Git의 인증 제한을 사용자 환경에 맞게 설정합니다.

사전 요구 사항:

  • 관리자 접근 권한이 있어야 합니다.

비밀번호 및 패스키 인증#

웹 인터페이스에 대한 비밀번호 및 패스키 인증 허용#

이 설정은 기본적으로 활성화되어 있습니다. 비활성화하면 사용자가 표준 로그인 화면을 사용할 수 없고, 대신 외부 인증 공급자를 사용해야 합니다. 이 경우 이중 인증에 패스키를 사용하는 것도 함께 비활성화됩니다.

웹 인터페이스에 대한 비밀번호 및 패스키 인증을 허용하는 방법은 다음과 같습니다.

  1. 오른쪽 위에서 Admin을 선택합니다.
  2. 왼쪽 사이드바에서 Settings > General을 선택합니다.
  3. Sign-in restrictions 섹션을 확장합니다.
  4. Allow password and passkey authentication for the web interface 체크박스를 선택합니다.
  5. Save changes를 선택합니다.
Note

외부 인증 공급자에 장애가 발생하면 GitLab Rails 콘솔에서 표준 웹 로그인 폼을 다시 활성화합니다. 애플리케이션 설정 API로 password_authentication_enabled_for_web 설정을 구성할 수도 있습니다.

HTTP(S)를 통한 Git에 대한 비밀번호 인증 허용#

이 설정은 기본적으로 활성화되어 있습니다. 비활성화하면 사용자는 개인 액세스 토큰이나 LDAP 비밀번호로 인증해야 합니다.

HTTP(S)를 통한 Git에 대한 비밀번호 인증을 허용하는 방법은 다음과 같습니다.

  1. 오른쪽 위에서 Admin을 선택합니다.
  2. 왼쪽 사이드바에서 Settings > General을 선택합니다.
  3. Sign-in restrictions 섹션을 확장합니다.
  4. Allow password authentication for Git over HTTP(S) 체크박스를 선택합니다.
  5. Save changes를 선택합니다.

SSO 신원을 가진 사용자의 비밀번호 및 패스키 인증 비활성화#

조직에 따라 SSO 사용자가 비밀번호나 패스키로 로그인하지 못하게 하고 외부 인증 공급자를 사용하도록 요구할 수 있습니다. 이 설정은 웹 인터페이스와 HTTP(S)를 통한 Git 양쪽의 비밀번호 인증을 제한하고, 웹 인터페이스의 패스키 인증도 제한합니다. 패스키는 HTTP(S)를 통한 Git에서는 사용할 수 없습니다.

SSO 신원을 가진 사용자의 비밀번호 및 패스키 인증을 비활성화하는 방법은 다음과 같습니다.

  1. 오른쪽 위에서 Admin을 선택합니다.
  2. 왼쪽 사이드바에서 Settings > General을 선택합니다.
  3. Sign-in restrictions 섹션을 확장합니다.
  4. Disable password and passkey authentication for users with an SSO identity 체크박스를 선택합니다.
  5. Save changes를 선택합니다.

이중 인증#

사용자가 계정에 이중 인증(2FA) 수단을 등록하도록 요구할 수 있습니다.

모든 사용자에게 이중 인증 시행#

이 설정은 관리자를 포함한 모든 사용자에게 2FA 수단 등록을 요구합니다.

모든 사용자에게 이중 인증을 시행하는 방법은 다음과 같습니다.

  1. 오른쪽 위에서 Admin을 선택합니다.
  2. 왼쪽 사이드바에서 Settings > General을 선택합니다.
  3. Sign-in restrictions 섹션을 확장합니다.
  4. Enforce two-factor authentication 체크박스를 선택합니다.
  5. 선택 사항. Two-factor grace period에 시간을 입력합니다. 사용자는 이 기간이 끝날 때까지 2FA 수단을 등록해야 합니다. 0으로 설정하면 다음 로그인 시점에 등록을 강제합니다.
  6. Save changes를 선택합니다.

관리자에게 이중 인증 시행#

이 설정은 관리자에게만 2FA 수단 등록을 요구합니다. 사용자 정의 관리자 권한을 가진 사용자도 포함됩니다.

관리자에게 이중 인증을 시행하는 방법은 다음과 같습니다.

  1. 오른쪽 위에서 Admin을 선택합니다.
  2. 왼쪽 사이드바에서 Settings > General을 선택합니다.
  3. Sign-in restrictions 섹션을 확장합니다.
  4. Enforce two-factor authentication for administrators 체크박스를 선택합니다.
  5. 선택 사항. Two-factor grace period에 시간을 입력합니다. 사용자는 이 기간이 끝날 때까지 2FA 수단을 등록해야 합니다. 0으로 설정하면 다음 로그인 시점에 등록을 강제합니다.
  6. Save changes를 선택합니다.

이메일 OTP 활성화#

사용자가 이메일 일회용 비밀번호를 구성하도록 허용하는 방법은 다음과 같습니다.

  1. 오른쪽 위에서 Admin을 선택합니다.
  2. 왼쪽 사이드바에서 Settings > General을 선택합니다.
  3. Sign-in restrictions 섹션을 확장합니다.
  4. Enable email-based one-time passwords 체크박스와 Require email verification when account is locked 체크박스를 모두 선택합니다.
  5. 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를 활성화하는 방법은 다음과 같습니다.

  1. 오른쪽 위에서 Admin을 선택합니다.
  2. 왼쪽 사이드바에서 Settings > General을 선택합니다.
  3. Sign-in restrictions를 확장합니다.
  4. Enable Admin Mode를 선택합니다.
  5. Save changes를 선택합니다.

세션에 Admin Mode 켜기#

현재 세션에 Admin Mode를 켜서 위험할 수 있는 리소스에 접근하는 방법은 다음과 같습니다.

  1. 오른쪽 위에서 아바타를 선택합니다.
  2. Enter Admin Mode를 선택합니다.
  3. URL에 /admin이 포함된 UI 영역에 접근해 봅니다(관리자 접근 권한이 필요합니다).

Admin Mode 상태가 비활성화되거나 꺼져 있으면 관리자는 명시적으로 접근 권한을 받은 리소스가 아니면 접근할 수 없습니다. 예를 들어 관리자가 비공개 그룹이나 프로젝트를 열려고 하면 해당 그룹이나 프로젝트의 멤버가 아닌 한 404 오류가 발생합니다.

관리자는 2FA를 활성화해야 합니다. Admin Mode는 2FA, OmniAuth 공급자, LDAP 인증을 지원합니다. Admin Mode 상태는 현재 사용자 세션에 저장되며 다음 중 하나가 발생할 때까지 유지됩니다.

  • 명시적으로 비활성화됩니다.
  • 6시간 후에 자동으로 비활성화됩니다.

세션의 Admin Mode 활성화 여부 확인#

히스토리

활성 세션 목록으로 이동합니다.

  1. 오른쪽 위에서 아바타를 선택합니다.
  2. Edit profile을 선택합니다.
  3. 왼쪽 사이드바에서 Access > Active sessions를 선택합니다.

Admin Mode가 켜진 세션에는 Signed in on date of session with Admin Mode 텍스트가 표시됩니다.

세션의 Admin Mode 끄기#

현재 세션의 Admin Mode를 끄는 방법은 다음과 같습니다.

  1. 오른쪽 위에서 아바타를 선택합니다.
  2. Leave Admin Mode를 선택합니다.

알려진 문제#

Admin Mode는 6시간 후에 만료되며 이 시간 제한은 변경할 수 없습니다.

다음 접근 방식은 Admin Mode의 보호를 받지 않습니다.

  • Git 클라이언트 접근(공개 키를 사용하는 SSH 또는 개인 액세스 토큰을 사용하는 HTTPS)

즉, Admin Mode로 제한을 받는 관리자라도 추가 인증 절차 없이 Git 클라이언트를 사용할 수 있습니다.

GitLab REST API나 GraphQL API를 사용하려면 관리자가 admin_mode 스코프를 가진 개인 액세스 토큰이나 OAuth 토큰을 생성해야 합니다.

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"
    
  • Rails 콘솔:

    ::Gitlab::CurrentSettings.update!(admin_mode: false)
    

알 수 없는 로그인에 대한 이메일 알림#

이 설정을 활성화하면 GitLab이 알 수 없는 IP 주소나 기기에서의 로그인을 사용자에게 알립니다. 자세한 내용은 알 수 없는 로그인에 대한 이메일 알림을 참고합니다.

알 수 없는 로그인에 대한 이메일 알림이 활성화된 화면.

로그인 정보#

히스토리

Home page URL 값이 비어 있지 않으면 로그인하지 않은 모든 사용자는 해당 설정이 가리키는 페이지로 리디렉션됩니다.

Sign-out page URL 값이 비어 있지 않으면 모든 사용자는 로그아웃 후 해당 설정이 가리키는 페이지로 리디렉션됩니다.

로그인 페이지에 도움말 메시지를 추가하려면 로그인 및 가입 페이지를 사용자 환경에 맞게 설정합니다.

문제 해결#

rails 콘솔에서 표준 웹 로그인 폼 다시 활성화#

로그인 제한으로 비활성화한 표준 사용자 이름·비밀번호 기반 로그인 폼을 다시 활성화합니다.

구성된 외부 인증 공급자(SSO 또는 LDAP 구성)에 장애가 발생해 GitLab에 직접 로그인해야 할 때 rails 콘솔에서 이 방법을 사용할 수 있습니다.

Gitlab::CurrentSettings.update!(password_authentication_enabled_for_web: true)

로그인 제한

GitLab v19.5
Tier: Free, Premium, Ultimate
Offering: GitLab Self-Managed
원문 보기

요약

로그인 제한으로 웹 인터페이스와 HTTP(S)를 통한 Git의 인증 제한을 사용자 환경에 맞게 설정합니다. 이 설정은 기본적으로 활성화되어 있습니다. 웹 인터페이스에 대한 비밀번호 및 패스키 인증을 허용하는 방법은 다음과 같습니다.

로그인 제한으로 웹 인터페이스와 HTTP(S)를 통한 Git의 인증 제한을 사용자 환경에 맞게 설정합니다.

사전 요구 사항:

  • 관리자 접근 권한이 있어야 합니다.

비밀번호 및 패스키 인증#

웹 인터페이스에 대한 비밀번호 및 패스키 인증 허용#

이 설정은 기본적으로 활성화되어 있습니다. 비활성화하면 사용자가 표준 로그인 화면을 사용할 수 없고, 대신 외부 인증 공급자를 사용해야 합니다. 이 경우 이중 인증에 패스키를 사용하는 것도 함께 비활성화됩니다.

웹 인터페이스에 대한 비밀번호 및 패스키 인증을 허용하는 방법은 다음과 같습니다.

  1. 오른쪽 위에서 Admin을 선택합니다.
  2. 왼쪽 사이드바에서 Settings > General을 선택합니다.
  3. Sign-in restrictions 섹션을 확장합니다.
  4. Allow password and passkey authentication for the web interface 체크박스를 선택합니다.
  5. Save changes를 선택합니다.
Note

외부 인증 공급자에 장애가 발생하면 GitLab Rails 콘솔에서 표준 웹 로그인 폼을 다시 활성화합니다. 애플리케이션 설정 API로 password_authentication_enabled_for_web 설정을 구성할 수도 있습니다.

HTTP(S)를 통한 Git에 대한 비밀번호 인증 허용#

이 설정은 기본적으로 활성화되어 있습니다. 비활성화하면 사용자는 개인 액세스 토큰이나 LDAP 비밀번호로 인증해야 합니다.

HTTP(S)를 통한 Git에 대한 비밀번호 인증을 허용하는 방법은 다음과 같습니다.

  1. 오른쪽 위에서 Admin을 선택합니다.
  2. 왼쪽 사이드바에서 Settings > General을 선택합니다.
  3. Sign-in restrictions 섹션을 확장합니다.
  4. Allow password authentication for Git over HTTP(S) 체크박스를 선택합니다.
  5. Save changes를 선택합니다.

SSO 신원을 가진 사용자의 비밀번호 및 패스키 인증 비활성화#

조직에 따라 SSO 사용자가 비밀번호나 패스키로 로그인하지 못하게 하고 외부 인증 공급자를 사용하도록 요구할 수 있습니다. 이 설정은 웹 인터페이스와 HTTP(S)를 통한 Git 양쪽의 비밀번호 인증을 제한하고, 웹 인터페이스의 패스키 인증도 제한합니다. 패스키는 HTTP(S)를 통한 Git에서는 사용할 수 없습니다.

SSO 신원을 가진 사용자의 비밀번호 및 패스키 인증을 비활성화하는 방법은 다음과 같습니다.

  1. 오른쪽 위에서 Admin을 선택합니다.
  2. 왼쪽 사이드바에서 Settings > General을 선택합니다.
  3. Sign-in restrictions 섹션을 확장합니다.
  4. Disable password and passkey authentication for users with an SSO identity 체크박스를 선택합니다.
  5. Save changes를 선택합니다.

이중 인증#

사용자가 계정에 이중 인증(2FA) 수단을 등록하도록 요구할 수 있습니다.

모든 사용자에게 이중 인증 시행#

이 설정은 관리자를 포함한 모든 사용자에게 2FA 수단 등록을 요구합니다.

모든 사용자에게 이중 인증을 시행하는 방법은 다음과 같습니다.

  1. 오른쪽 위에서 Admin을 선택합니다.
  2. 왼쪽 사이드바에서 Settings > General을 선택합니다.
  3. Sign-in restrictions 섹션을 확장합니다.
  4. Enforce two-factor authentication 체크박스를 선택합니다.
  5. 선택 사항. Two-factor grace period에 시간을 입력합니다. 사용자는 이 기간이 끝날 때까지 2FA 수단을 등록해야 합니다. 0으로 설정하면 다음 로그인 시점에 등록을 강제합니다.
  6. Save changes를 선택합니다.

관리자에게 이중 인증 시행#

이 설정은 관리자에게만 2FA 수단 등록을 요구합니다. 사용자 정의 관리자 권한을 가진 사용자도 포함됩니다.

관리자에게 이중 인증을 시행하는 방법은 다음과 같습니다.

  1. 오른쪽 위에서 Admin을 선택합니다.
  2. 왼쪽 사이드바에서 Settings > General을 선택합니다.
  3. Sign-in restrictions 섹션을 확장합니다.
  4. Enforce two-factor authentication for administrators 체크박스를 선택합니다.
  5. 선택 사항. Two-factor grace period에 시간을 입력합니다. 사용자는 이 기간이 끝날 때까지 2FA 수단을 등록해야 합니다. 0으로 설정하면 다음 로그인 시점에 등록을 강제합니다.
  6. Save changes를 선택합니다.

이메일 OTP 활성화#

사용자가 이메일 일회용 비밀번호를 구성하도록 허용하는 방법은 다음과 같습니다.

  1. 오른쪽 위에서 Admin을 선택합니다.
  2. 왼쪽 사이드바에서 Settings > General을 선택합니다.
  3. Sign-in restrictions 섹션을 확장합니다.
  4. Enable email-based one-time passwords 체크박스와 Require email verification when account is locked 체크박스를 모두 선택합니다.
  5. 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를 활성화하는 방법은 다음과 같습니다.

  1. 오른쪽 위에서 Admin을 선택합니다.
  2. 왼쪽 사이드바에서 Settings > General을 선택합니다.
  3. Sign-in restrictions를 확장합니다.
  4. Enable Admin Mode를 선택합니다.
  5. Save changes를 선택합니다.

세션에 Admin Mode 켜기#

현재 세션에 Admin Mode를 켜서 위험할 수 있는 리소스에 접근하는 방법은 다음과 같습니다.

  1. 오른쪽 위에서 아바타를 선택합니다.
  2. Enter Admin Mode를 선택합니다.
  3. URL에 /admin이 포함된 UI 영역에 접근해 봅니다(관리자 접근 권한이 필요합니다).

Admin Mode 상태가 비활성화되거나 꺼져 있으면 관리자는 명시적으로 접근 권한을 받은 리소스가 아니면 접근할 수 없습니다. 예를 들어 관리자가 비공개 그룹이나 프로젝트를 열려고 하면 해당 그룹이나 프로젝트의 멤버가 아닌 한 404 오류가 발생합니다.

관리자는 2FA를 활성화해야 합니다. Admin Mode는 2FA, OmniAuth 공급자, LDAP 인증을 지원합니다. Admin Mode 상태는 현재 사용자 세션에 저장되며 다음 중 하나가 발생할 때까지 유지됩니다.

  • 명시적으로 비활성화됩니다.
  • 6시간 후에 자동으로 비활성화됩니다.

세션의 Admin Mode 활성화 여부 확인#

히스토리

활성 세션 목록으로 이동합니다.

  1. 오른쪽 위에서 아바타를 선택합니다.
  2. Edit profile을 선택합니다.
  3. 왼쪽 사이드바에서 Access > Active sessions를 선택합니다.

Admin Mode가 켜진 세션에는 Signed in on date of session with Admin Mode 텍스트가 표시됩니다.

세션의 Admin Mode 끄기#

현재 세션의 Admin Mode를 끄는 방법은 다음과 같습니다.

  1. 오른쪽 위에서 아바타를 선택합니다.
  2. Leave Admin Mode를 선택합니다.

알려진 문제#

Admin Mode는 6시간 후에 만료되며 이 시간 제한은 변경할 수 없습니다.

다음 접근 방식은 Admin Mode의 보호를 받지 않습니다.

  • Git 클라이언트 접근(공개 키를 사용하는 SSH 또는 개인 액세스 토큰을 사용하는 HTTPS)

즉, Admin Mode로 제한을 받는 관리자라도 추가 인증 절차 없이 Git 클라이언트를 사용할 수 있습니다.

GitLab REST API나 GraphQL API를 사용하려면 관리자가 admin_mode 스코프를 가진 개인 액세스 토큰이나 OAuth 토큰을 생성해야 합니다.

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"
    
  • Rails 콘솔:

    ::Gitlab::CurrentSettings.update!(admin_mode: false)
    

알 수 없는 로그인에 대한 이메일 알림#

이 설정을 활성화하면 GitLab이 알 수 없는 IP 주소나 기기에서의 로그인을 사용자에게 알립니다. 자세한 내용은 알 수 없는 로그인에 대한 이메일 알림을 참고합니다.

알 수 없는 로그인에 대한 이메일 알림이 활성화된 화면.

로그인 정보#

히스토리

Home page URL 값이 비어 있지 않으면 로그인하지 않은 모든 사용자는 해당 설정이 가리키는 페이지로 리디렉션됩니다.

Sign-out page URL 값이 비어 있지 않으면 모든 사용자는 로그아웃 후 해당 설정이 가리키는 페이지로 리디렉션됩니다.

로그인 페이지에 도움말 메시지를 추가하려면 로그인 및 가입 페이지를 사용자 환경에 맞게 설정합니다.

문제 해결#

rails 콘솔에서 표준 웹 로그인 폼 다시 활성화#

로그인 제한으로 비활성화한 표준 사용자 이름·비밀번호 기반 로그인 폼을 다시 활성화합니다.

구성된 외부 인증 공급자(SSO 또는 LDAP 구성)에 장애가 발생해 GitLab에 직접 로그인해야 할 때 rails 콘솔에서 이 방법을 사용할 수 있습니다.

Gitlab::CurrentSettings.update!(password_authentication_enabled_for_web: true)