중간 사용자 관리 (관리)

Tier: Free, Premium, Ultimate Offering: Self-Managed

이것은 관리 문서입니다. 그룹 수준에서 사용자를 관리하는 정보는 그룹 수준 문서를 참조하십시오.

GitLab 관리자는 사용자의 액세스를 승인, 차단, 금지 또는 비활성화하여 사용자를 관리할 수 있습니다.

승인 대기 중인 사용자

pending approval 상태의 사용자는 관리자가 조치해야합니다. 사용자가 승인 대기 중인 상태일 수 있는 이유는 다음과 같은 옵션 중 하나가 관리자에 의해 활성화되었기 때문입니다:

이 설정이 활성화된 상태에서 사용자가 계정을 등록하면:

  • 사용자는 승인 대기 중 상태로 지정됩니다.
  • 사용자는 관리자에 의해 승인을 기다리는 메시지를 볼 수 있습니다.

승인 대기 중인 사용자는:

  • 차단된 사용자와 기능적으로 동일합니다.
  • 로그인할 수 없습니다.
  • Git 리포지터리나 GitLab API에 액세스할 수 없습니다.
  • GitLab에서 어떠한 알림도 받지 못합니다.
  • Seat를 사용하지 않습니다.

관리자는 사용자의 등록을 승인하여 로그인할 수 있도록 허용해야 합니다.

승인 대기 중인 사용자 보기

승인 대기 중인 사용자를 보려면:

  1. 왼쪽 사이드바에서 아래쪽에서 관리 영역을 선택합니다.
  2. 개요 > 사용자를 선택합니다.
  3. 승인 대기 중 탭을 선택합니다.

사용자 등록 승인 또는 거부

승인 대기 중인 사용자의 등록을 승인하거나 거부할 수 있습니다.

사용자 등록을 승인 또는 거부하려면:

  1. 왼쪽 사이드바에서 아래쪽에서 관리 영역을 선택합니다.
  2. 개요 > 사용자를 선택합니다.
  3. 승인 대기 중 탭을 선택합니다.
  4. 승인하거나 거부하려는 사용자 등록을 선택한 다음 수직 타원 ()을 선택하고, 승인 또는 거부를 선택합니다.

사용자를 승인하면:

  • 사용자의 계정이 활성화됩니다.
  • 사용자의 상태가 활성 상태로 변경됩니다.
  • Seat를 사용합니다.

사용자를 거부하면:

  • 사용자가 로그인하거나 인스턴스 정보에 액세스하지 못하도록 합니다.
  • 사용자를 삭제합니다.

사용자 차단 및 차단 해제

GitLab 관리자는 사용자의 액세스를 차단하고 차단 해제할 수 있습니다. 사용자가 인스턴스에 액세스하지 못하도록 하지만 데이터는 유지하려는 경우 사용자를 차단해야 합니다.

차단된 사용자는:

  • 로그인하거나 어떠한 리포지터리에도 액세스할 수 없습니다. 차단된 사용자의 데이터는 해당 리포지터리에 유지됩니다.
  • 슬래시 명령을 사용할 수 없습니다. 자세한 내용은 슬래시 명령을 참조하십시오.
  • Seat를 차지하지 않습니다.

사용자 차단

전제 조건:

  • 인스턴스의 관리자여야 합니다.

사용자의 인스턴스 액세스를 차단할 수 있습니다.

사용자를 차단하려면:

  1. 왼쪽 사이드바에서 아래쪽에서 관리 영역을 선택합니다.
  2. 개요 > 사용자를 선택합니다.
  3. 차단하려는 사용자를 선택한 다음 수직 타원 ()을 선택하고, 차단을 선택합니다.

사용자는 계정이 차단되었다는 이메일 알림을 받습니다. 이 이메일 이후로 사용자는 더 이상 알림을 받지 않습니다.

다른 사용자로부터 남용을 신고하려면 남용 신고를 참조하십시오. 관리 영역에서의 남용 신고에 대한 자세한 내용은 남용 신고 처리를 참조하십시오.

사용자 차단 해제

차단된 사용자는 관리 영역에서 차단 해제할 수 있습니다. 이를 위해 다음을 수행하십시오:

  1. 왼쪽 사이드바에서 아래쪽에서 관리 영역을 선택합니다.
  2. 개요 > 사용자를 선택합니다.
  3. 차단된 탭을 선택합니다.
  4. 차단을 해제하려는 사용자를 선택한 다음 수직 타원 ()을 선택하고, 차단 해제를 선택합니다.

사용자 상태가 활성으로 설정되고 seat를 사용합니다.

note
LDAP 사용자의 경우 차단 해제 옵션이 사용할 수 없을 수 있습니다. 차단 해제 옵션을 사용하려면 먼저 LDAP 아이덴티티를 삭제해야 합니다:
  1. 왼쪽 사이드바에서 아래쪽에서 관리 영역을 선택합니다.
  2. 개요 > 사용자를 선택합니다.
  3. 차단된 탭을 선택합니다.
  4. 사용자를 선택합니다.
  5. Identities 탭을 선택합니다.
  6. LDAP 제공자를 찾은 다음 삭제를 선택합니다.

사용자 활성화 및 비활성화

GitLab 관리자는 사용자를 비활성화하고 활성화할 수 있습니다. 사용자의 최근 활동이 없는 경우와 해당 사용자를 인스턴스의 seat에 차지하고 싶지 않은 경우 사용자를 비활성화해야 합니다.

비활성화된 사용자는:

  • GitLab에 로그인할 수 있습니다.
    • 비활성화된 사용자가 로그인하면 자동으로 활성화됩니다.
  • 리포지터리나 API에 액세스할 수 없습니다.
  • 슬래시 명령을 사용할 수 없습니다. 자세한 내용은 슬래시 명령을 참조하십시오.
  • Seat를 차지하지 않습니다.

사용자를 비활성화하면 해당 사용자의 프로젝트, 그룹 및 기록은 유지됩니다.

사용자 비활성화

전제 조건:

  • 사용자가 지난 90일간 활동이 없어야 합니다.

사용자를 비활성화하려면:

  1. 왼쪽 사이드바에서 아래쪽에서 관리 영역을 선택합니다.
  2. 개요 > 사용자를 선택합니다.
  3. 비활성화하려는 사용자를 선택한 다음 수직 타원 ()를 선택한 다음 비활성화를 선택합니다.
  4. 대화 상자에서 비활성화를 선택합니다.

사용자는 계정이 비활성화되었다는 이메일 알림을 받습니다. 이 이메일 이후로 사용자는 더 이상 알림을 받지 않습니다. 더 많은 정보는 사용자 비활성화 이메일을 참조하십시오.

GitLab API를 사용하여 사용자를 비활성화하려면 사용자 비활성화를 참조하십시오. 영구적 사용자 제한에 대한 자세한 내용은 사용자 차단 및 차단 해제를 참조하십시오.

자동으로 비활성화된 휴면 사용자

  • GitLab 15.4에서 도입 가능한 시간 기간
  • GitLab 15.5에서 최소 대기 기간이 90일로 설정된 도입

관리자는 다음과 같은 사용자를 자동으로 비활성화할 수 있습니다:

  • 일주일 이상 전에 생성된 사용자이며 로그인하지 않았습니다.
  • 특정 기간 동안 활동이 없는 사용자(기본 및 최소 값은 90일)

다음을 수행하려면:

  1. 왼쪽 사이드바에서 아래쪽에서 관리 영역을 선택합니다.
  2. 설정 > 일반을 선택합니다.
  3. 계정 및 제한 섹션을 확장합니다.
  4. 휴면 사용자 아래에서 비활성화된 사용자를 일정 시간 동안 자동으로 비활성화를 선택합니다.
  5. 비활동으로 인한 비활성화 전 일수에 비활성화 전의 일수를 입력합니다. 최소 값은 90일입니다.
  6. 변경 내용 저장을 선택합니다.

이 기능이 활성화되면 GitLab은 매일 한 번 작업을 실행하여 휴면 사용자를 비활성화합니다.

하루에 최대 100,000명의 사용자를 비활성화할 수 있습니다.

note
GitLab이 생성한 봇은 자동 비활성화된 휴면 사용자에서 제외됩니다.

자동으로 확인되지 않은 사용자 삭제

Tier: Premium, Ultimate Offering: Self-Managed

사전 요구 사항:

  • 관리자여야 합니다.

다음을 모두 충족하는 사용자들의 자동 삭제를 활성화할 수 있습니다.

  • 이메일 주소를 확인하지 않은 사용자.
  • 지정된 일 수 이상 전에 GitLab에 가입한 사용자.

이러한 설정은 Settings API 또는 Rails 콘솔을 사용하여 구성할 수 있습니다:

 Gitlab::CurrentSettings.update(delete_unconfirmed_users: true)
 Gitlab::CurrentSettings.update(unconfirmed_users_delete_after_days: 365)

delete_unconfirmed_users 설정이 활성화되면 GitLab은 확인되지 않은 사용자를 삭제하기 위해 1시간마다 작업을 실행합니다. 작업은 지정된 unconfirmed_users_delete_after_days 일 이상 전에 가입한 사용자만을 삭제합니다.

이 작업은 email_confirmation_settingsoft 또는 hard로 설정된 경우에만 실행됩니다.

하루에 최대 240,000명의 사용자만 삭제될 수 있습니다.

사용자 활성화

비활성화된 사용자는 관리 영역에서 활성화할 수 있습니다.

다음과 같이 진행하세요:

  1. 왼쪽 사이드바에서 아래쪽으로 스크롤하여 관리 영역을 선택합니다.
  2. 개요 > 사용자를 선택합니다.
  3. 비활성화된 탭을 선택합니다.
  4. 활성화하려는 사용자를 선택한 후, 수직 타원 ()을 선택한 다음 활성화를 선택합니다.

사용자의 상태가 활성으로 설정되며, 좌석을 사용합니다.

note
비활성화된 사용자는 UI를 통해 다시 로그인하여 계정을 활성화시킬 수도 있습니다. 사용자는 또한 GitLab API를 사용하여 활성화시킬 수도 있습니다.

사용자 차단 및 차단 해제

  • 통합된 사용자의 Merge Request을 숨기는 기능 GitLab 15.8에 도입되었으며, 비활성화된 기본적으로 숨김 Merge Request의 플래그인 hide_merge_requests_from_banned_users이 있습니다.
  • 차단된 사용자의 댓글을 숨기는 기능 GitLab 15.11에 도입되었으며, 비활성화된 기본적으로 숨김 댓글의 플래그인 hidden_notes이 있습니다.
  • 차단된 사용자의 프로젝트를 숨기는 기능 GitLab 16.2에 도입되었으며, 비활성화된 기본적으로 숨김 프로젝트의 플래그인 hide_projects_of_banned_users이 있습니다.

GitLab 관리자는 사용자를 차단하고 차단 해제할 수 있습니다. 인스턴스에서 해당 사용자의 활동을 숨기고 차단하려는 경우 사용자를 차단해야 합니다.

차단된 사용자는:

사용자 차단

사용자를 차단하고 차단된 기여를 숨기려면 관리자가 사용자를 차단할 수 있습니다.

관리 영역을 사용하여 사용자를 차단할 수 있습니다. 다음과 같이 진행하세요:

  1. 왼쪽 사이드바에서 아래쪽으로 스크롤하여 관리 영역을 선택합니다.
  2. 개요 > 사용자를 선택합니다.
  3. 차단할 사용자를 선택한 후, 수직 타원 ()을 선택한 다음 사용자 차단을 선택합니다.

사용자 차단 해제

관리 영역을 사용하여 차단된 사용자를 차단 해제할 수 있습니다. 다음과 같이 진행하세요:

  1. 왼쪽 사이드바에서 아래쪽으로 스크롤하여 관리 영역을 선택합니다.
  2. 개요 > 사용자를 선택합니다.
  3. 차단된 탭을 선택합니다.
  4. 차단 해제하려는 사용자를 선택한 후, 수직 타원 ()을 선택한 다음 사용자 차단 해제를 선택합니다.

사용자의 상태가 활성으로 설정되며, 좌석을 사용합니다.

사용자 삭제

관리 영역을 사용하여 사용자를 삭제할 수 있습니다.

다음과 같이 진행하세요:

  1. 왼쪽 사이드바에서 아래쪽으로 스크롤하여 관리 영역을 선택합니다.
  2. 개요 > 사용자를 선택합니다.
  3. 삭제할 사용자를 선택한 후, 수직 타원 ()을 선택한 다음 사용자 삭제를 선택합니다.
  4. 사용자 이름을 입력합니다.
  5. 사용자 삭제를 선택합니다.
note
그룹의 상속 또는 직접적인 소유자가 있는 경우에만 사용자를 삭제할 수 있습니다. 사용자가 유일한 그룹 소유자인 경우에는 사용자를 삭제할 수 없습니다.

또한, 사용자와 그들이 유일한 그룹 소유자인 경우에는 Merge Request, 이슈 및 그룹과 같은 그들의 기여물을 삭제할 수도 있습니다.

  1. 왼쪽 사이드바에서 아래쪽으로 스크롤하여 관리 영역을 선택합니다.
  2. 개요 > 사용자를 선택합니다.
  3. 삭제할 사용자를 선택한 후, 수직 타원 ()을 선택한 다음 사용자 및 기여물 삭제를 선택합니다.
  4. 사용자 이름을 입력합니다.
  5. 사용자 및 기여물 삭제를 선택합니다.
note
15.1 이전에, 삭제된 사용자 중 직접 멤버 중 유일한 소유자인 그룹도 삭제되었습니다.

사용자 신뢰 및 비신뢰

관리 영역에서 사용자를 신뢰 및 비신뢰할 수 있습니다.

기본적으로 사용자는 신뢰받지 않으며, 스팸으로 간주되어 이슈, 노트 및 스니펫을 만들 수 없습니다. 사용자를 신뢰하면 차단되지 않고 이슈, 노트 및 스니펫을 만들 수 있습니다.

사전 요구 사항:

  • 관리자여야 합니다.
사용자 신뢰
  1. 왼쪽 사이드바에서 아래쪽으로 스크롤하여 관리 영역을 선택합니다.
  2. 개요 > 사용자를 선택합니다.
  3. 사용자를 선택합니다.
  4. 사용자 관리 드롭다운 디렉터리에서 사용자 신뢰를 선택합니다.
  5. 확인 대화 상자에서 사용자 신뢰를 선택합니다.

사용자가 신뢰 받습니다.

사용자 비신뢰
  1. 왼쪽 사이드바에서 아래쪽으로 스크롤하여 관리 영역을 선택합니다.
  2. 개요 > 사용자를 선택합니다.
  3. 신뢰받은 탭을 선택합니다.
  4. 사용자를 선택합니다.
  5. 사용자 관리 드롭다운 디렉터리에서 사용자 비신뢰를 선택합니다.
  6. 확인 대화 상자에서 사용자 비신뢰를 선택합니다.

사용자가 비신뢰됩니다.

문제 해결

사용자를 관리하는 동안, 특정 조건을 기반으로 사용자에 대한 대량 작업을 수행해야 할 수 있습니다. 다음의 Rails 콘솔 스크립트는 이러한 예제를 보여줍니다. 다음과 같은 명령어는 특정 조건을 기반으로 데이터를 변경해야 하는 상황이므로 주의가 필요합니다. 항상 테스트 환경에서 명령어를 실행하고, 복원할 백업 인스턴스가 준비되어 있어야 합니다.

최근 활동이 없는 사용자 비활성화하기

관리자는 최근 활동이 없는 사용자를 비활성화할 수 있습니다.

caution
명령어를 실행하는 것은 검증되지 않거나 적절한 조건에서 실행되지 않으면 손상을 초래할 수 있습니다. 항상 먼저 테스트 환경에서 명령어를 실행하고 복원할 백업 인스턴스가 준비되어 있어야 합니다.
days_inactive = 90
inactive_users = User.active.where("last_activity_on <= ?", days_inactive.days.ago)

inactive_users.each do |user|
    puts "user '#{user.username}': #{user.last_activity_on}"
    user.deactivate!
end

최근 활동이 없는 사용자 차단하기

관리자는 최근 활동이 없는 사용자를 차단할 수 있습니다.

caution
명령어를 실행하는 것은 검증되지 않거나 적절한 조건에서 실행되지 않으면 손상을 초래할 수 있습니다. 항상 먼저 테스트 환경에서 명령어를 실행하고 복원할 백업 인스턴스가 준비되어 있어야 합니다.
days_inactive = 90
inactive_users = User.active.where("last_activity_on <= ?", days_inactive.days.ago)

inactive_users.each do |user|
    puts "user '#{user.username}': #{user.last_activity_on}"
    user.block!
end

사용자가 프로젝트나 그룹을 보유하지 않은 경우 차단하거나 삭제하기

관리자는 프로젝트나 그룹을 보유하지 않은 사용자를 차단하거나 삭제할 수 있습니다.

caution
데이터를 변경하는 명령은 올바르게 실행되지 않거나 적절한 조건 하에서 실행되지 않을 경우에 손상을 초래할 수 있습니다. 항상 먼저 테스트 환경에서 명령을 실행하고 복원할 수 있는 백업 인스턴스를 준비해 두세요.
users = User.where('id NOT IN (select distinct(user_id) from project_authorizations)')

# 제거된 사용자 수는?
users.count

# 해당 수가 정상적으로 보인다면:

# 사용자를 차단할 수 있습니다:
users.each { |user|  user.blocked? ? nil  : user.block! }

# 또는 사용자를 삭제할 수 있습니다:
  # 감사 목적으로 'current user'(본인 사용자)가 필요합니다
current_user = User.find_by(username: '<your username>')

users.each do |user|
  DeleteUserWorker.perform_async(current_user.id, user.id)
end