중간 사용자 (관리)

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

이 문서는 관리 문서입니다. 그룹 수준에서 사용자를 관리하는 정보는 그룹 수준 문서를 참조하세요.

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

승인 대기 중인 사용자

승인 대기 중 상태의 사용자는 관리자의 조치가 필요합니다. 사용자가 가입 신청을 한 후에 관리자가 다음 중 하나를 활성화했기 때문에 사용자는 승인 대기 중 상태에 있을 수 있습니다.

이러한 설정이 활성화되어 있는 동안 사용자가 계정을 등록하면:

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

승인 대기 중인 사용자:

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

이러한 사용자의 가입을 허용하려면 관리자가 가입 신청을 승인해야 합니다.

승인 대기 중인 사용자 보기

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

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

사용자 가입 신청 승인 또는 거부

승인 대기 중인 사용자의 가입 신청을 관리자 영역에서 승인하거나 거부할 수 있습니다.

사용자 가입 신청을 승인 또는 거부하려면:

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

사용자를 승인하면:

  • 사용자 계정이 활성화됩니다.
  • 사용자의 상태가 활성으로 변경됩니다.
  • 구독 seat을 소비합니다.

사용자를 거부하면:

  • 사용자가 로그인하거나 인스턴스 정보에 액세스하는 것을 방지합니다.
  • 사용자가 삭제됩니다.

사용자 차단 및 차단 해제

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

차단된 사용자:

  • 로그인할 수 없으며 어떠한 저장소에도 액세스할 수 없습니다. 차단된 사용자의 데이터는 그 저장소에 유지됩니다.
  • 슬래시 명령을 사용할 수 없습니다. 자세한 내용은 슬래시 명령을 참조하세요.
  • Seat을 차지하지 않습니다.

사용자 차단

필수 조건:

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

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

사용자를 차단하려면:

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

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

기타 사용자로부터 악용 신고를 하려면 악용 신고를 참조하세요. 관리 영역에서 악용 신고에 대한 자세한 정보는 악용 신고 해결를 참조하세요.

사용자 차단 해제

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

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

사용자의 상태가 활성으로 설정되며 seat을 소비합니다.

차단이 해제 옵션이 LDAP 사용자에게 제공되지 않을 수 있습니다. 차단 해제 옵션을 활성화하려면 LDAP 신원을 먼저 삭제해야 합니다:

  1. 왼쪽 사이드바에서 맨 아래에서 관리 영역을 선택합니다.
  2. 개요 > 사용자를 선택합니다.
  3. 차단된 탭을 선택합니다.
  4. 사용자를 선택합니다.
  5. 아이덴티티 탭을 선택합니다.
  6. LDAP 공급자를 찾은 다음 삭제를 선택합니다.

사용자 활성화 및 비활성화

GitLab 관리자는 사용자를 비활성화하거나 활성화할 수 있습니다. 최근 활동이 없는 사용자이고 인스턴스의 자리를 차지하지 않길 원한다면 사용자를 비활성화해야 합니다.

비활성화된 사용자:

  • GitLab에 로그인할 수 있습니다.
    • 사용자가 로그인하면 자동으로 활성화됩니다.
  • 저장소 또는 API에 액세스할 수 없습니다.
  • 슬래시 명령을 사용할 수 없습니다. 자세한 내용은 슬래시 명령을 참조하세요.
  • 자리를 차지하지 않습니다. 자세한 내용은 과금 대상 사용자를 참조하세요.

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

사용자 비활성화

  • GitLab 12.4에서 도입되었습니다. 소개됨.

전제 조건:

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

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

  1. 왼쪽 사이드바에서 맨 아래에서 관리 영역을 선택합니다.
  2. 개요 > 사용자를 선택합니다.
  3. 비활성화하려는 사용자를 선택하고, 수직 탐점 ()을 선택한 후 비활성화를 선택합니다.
  4. 다이얼로그 상에서 비활성화를 선택합니다.

사용자는 계정이 비활성화되었다는 이메일 통지를 받습니다. 이 이메일 이후로 추가 통지를받지 않습니다. 자세한 내용은 사용자 비활성화 이메일을 참조하세요.

GitLab API를 사용하여 사용자를 비활성화하려면 사용자 비활성화를 참조하세요. 영구 사용자 제한에 대한 정보는 차단 및 차단 해제 사용자를 참조하세요.

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

관리자는 다음 중 하나에 해당하는 사용자의 자동 비활성화를 활성화할 수 있습니다.

  • 일주일 이상 전에 생성되었고 로그인하지 않은 사용자
  • 지정된 기간 동안 활동이 없는 사용자(기본 및 최소 기간은 90일)

다음 단계를 수행하여 이 기능을 활성화합니다:

  1. 왼쪽 사이드바에서 맨 아래에서 관리 영역을 선택합니다.
  2. 설정 > 일반을 선택합니다.
  3. 계정 및 제한 섹션을 확장합니다.
  4. 비활성 사용자 아래에서 비활동 기간 후 사용자 비활성화를 확인합니다.
  5. 비활성화되기 전 활동하지 않은 일수에 비활성화되기 전의 일 수를 입력합니다. 최소값은 90일입니다.
  6. 변경 사항 저장을 선택합니다.

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

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

참고: GitLab 생성된 봇은 자동 비활성화 대상에서 제외됩니다.

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

세부정보: 계층: 프리미엄, 얼티메이트 제공: Self-managed

전제 조건:

  • 관리자이어야 합니다.

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

  • 이메일 주소를 확인하지 않은 경우
  • 지정된 일 수 이상 전에 GitLab에 가입한 경우

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

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

delete_unconfirmed_users 설정이 활성화되면 GitLab은 매시간 작업을 실행하여 확인되지 않은 사용자를 삭제합니다. 작업은 unconfirmed_users_delete_after_days일이 지난 사용자만 삭제합니다.

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

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

사용자 활성화

  • GitLab 12.4에서 도입되었습니다.

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

다음 단계를 수행하여 이 작업을 수행합니다:

  1. 왼쪽 사이드바에서 맨 아래에서 관리 영역을 선택합니다.
  2. 개요 > 사용자를 선택합니다.
  3. 비활성화된 탭을 선택합니다.
  4. 활성화하려는 사용자를 선택하고, 수직 탐점 ()을 선택한 후 활성화를 선택합니다.

사용자의 상태가 활성으로 설정되며 자리를 차지합니다.

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

사용자 차단 및 차단 해제

  • GitLab 14.2에 도입됨 기능 플래그ban_user_feature_flag로 기본적으로 비활성화됨.
  • GitLab 14.8에서 사용자 차단 및 차단 해제가 일반 사용 가능해짐. 기능 플래그 ban_user_feature_flag가 제거됨.
  • 차단된 사용자의 병합 요청 숨기기가 GitLab 15.8에 도입됨. 기본적으로 비활성화된 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. 사용자 삭제를 선택하세요.

참고: 그룹에 대한 상속 또는 직접적인 소유자가 있는 경우에만 사용자를 삭제할 수 있습니다. 해당 사용자가 유일한 그룹 소유자인 경우 사용자를 삭제할 수 없습니다.

삭제된 사용자 및 그들이 유일한 그룹 소유자인 병합 요청, 이슈, 그룹 등을 포함한 사용자의 기여를 삭제할 수도 있습니다.

  1. 왼쪽 사이드바에서 아래쪽으로 스크롤하여 관리 영역을 선택하세요.
  2. 개요 > 사용자를 선택하세요.
  3. 삭제할 사용자를 선택한 후, 수직 타원 ()을 선택한 다음 사용자 및 기여 삭제를 선택하세요.
  4. 사용자 이름을 입력하세요.
  5. 사용자 및 기여 삭제를 선택하세요.

참고: 15.1 이전에는 추가로 삭제된 사용자가 직접 멤버 중 유일한 소유자인 그룹이 삭제되었습니다.

신뢰를 철회하거나 신뢰하는 사용자

관리 영역에서 사용자를 신뢰하거나 신뢰를 철회할 수 있습니다.

기본적으로 사용자는 신뢰되지 않으며, 스팸으로 간주되는 이슈, 노트, 및 스니펫을 생성하지 못하게 차단됩니다. 사용자를 신뢰할 경우 차단되지 않고 이슈, 노트, 스니펫을 생성할 수 있습니다.

전제 조건:

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

사용자가 신뢰됩니다.

사용자 신뢰 철회하기
  1. 왼쪽 사이드바에서 아래쪽으로 스크롤하여 관리 영역을 선택하세요.
  2. 개요 > 사용자를 선택하세요.
  3. 신뢰됨 탭을 선택하세요.
  4. 사용자를 선택하세요.
  5. 사용자 관리 드롭다운 목록에서 사용자 신뢰 철회를 선택하세요.
  6. 확인 대화 상자에서 사용자 신뢰 철회를 선택하세요.

사용자가 믿을 수 없게 됩니다.

문제 해결

사용자를 관리할 때 일부 조건에 따라 그들에게 대량 조치를 취해야 할 수 있습니다. 다음의 레일스 콘솔 스크립트는 이에 대한 몇 가지 예시를 보여줍니다. 레일스 콘솔 세션을 시작하고 다음과 유사한 스크립트를 사용할 수 있습니다.

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

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

경고: 데이터를 변경하는 명령은 올바르게 실행되지 않거나 올바른 조건하에서 실행되지 않을 경우에는 손상을 일으킬 수 있습니다. 항상 먼저 테스트 환경에서 명령을 실행하고 복원할 준비가 된 백업 인스턴스가 있어야 합니다.

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

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

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

경고: 데이터를 변경하는 명령은 올바르게 실행되지 않거나 올바른 조건하에서 실행되지 않을 경우에는 손상을 일으킬 수 있습니다. 항상 먼저 테스트 환경에서 명령을 실행하고 복원할 준비가 된 백업 인스턴스가 있어야 합니다.

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

프로젝트나 그룹이 없는 사용자 차단 또는 삭제

관리자는 프로젝트나 그룹이 없는 사용자를 차단하거나 삭제할 수 있습니다.

경고: 데이터를 변경하는 명령은 올바르게 실행되지 않거나 올바른 조건하에서 실행되지 않을 경우에는 손상을 일으킬 수 있습니다. 항상 먼저 테스트 환경에서 명령을 실행하고 복원할 준비가 된 백업 인스턴스가 있어야 합니다.

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