중간 사용자 (관리)
이 문서는 관리 문서입니다. 그룹 수준에서 사용자를 조절하는 정보는 그룹 수준 문서를 참조하십시오.
GitLab 관리자는 사용자를 승인, 차단, 금지 또는 비활성화함으로써 사용자 액세스를 관리할 수 있습니다.
승인 대기 중인 사용자
승인 대기 중 상태의 사용자는 관리자의 조치를 필요로 합니다. 사용자 등록은 다음 옵션 중 하나 이상을 관리자가 활성화했기 때문에 승인 대기 중인 상태에 있을 수 있습니다:
이 설정이 활성화된 상태에서 사용자가 계정을 등록하면:
- 사용자는 승인 대기 중 상태가 됩니다.
- 사용자는 관리자에 의해 계정이 승인 대기 중이라는 메시지를 볼 수 있습니다.
승인 대기 중인 사용자:
- 차단된 사용자와 기능적으로 동일합니다.
- 로그인할 수 없습니다.
- Git 리포지터리나 GitLab API에 액세스할 수 없습니다.
- GitLab의 알림을 받을 수 없습니다.
- 자리를 차지하지 않습니다.
관리자는 사용자 등록을 승인하여 사용자가 로그인할 수 있도록 허용해야 합니다.
승인 대기 중인 사용자 등록 확인
승인 대기 중인 사용자 등록을 확인하려면:
- 왼쪽 사이드바에서 아래쪽에서 관리자 영역을 선택합니다.
- 개요 > 사용자를 선택합니다.
- 승인 대기 중 탭을 선택합니다.
사용자 등록 승인 또는 거부
승인 대기 중인 사용자 등록은 관리자 영역에서 승인하거나 거부할 수 있습니다.
사용자 등록을 승인하거나 거부하려면:
- 왼쪽 사이드바에서 아래쪽에서 관리자 영역을 선택합니다.
- 개요 > 사용자를 선택합니다.
- 승인 대기 중 탭을 선택합니다.
- 승인하거나 거부할 사용자 등록을 선택하고 수직 엘리프시스 ()를 선택한 후 승인 또는 거부를 선택합니다.
사용자를 승인함으로써:
- 사용자의 계정이 활성화됩니다.
- 사용자의 상태가 활성으로 변경됩니다.
- 구독 자리를 차지합니다.
사용자를 거부함으로써:
- 사용자가 로그인하거나 인스턴스 정보에 액세스하는 것을 방지합니다.
- 사용자가 삭제됩니다.
사용자 차단 및 차단 해제
GitLab 관리자는 사용자를 차단하거나 차단 해제할 수 있습니다. 사용자의 데이터는 유지하면서 인스턴스에 액세스하지 못하도록 하려면 사용자를 차단해야 합니다.
차단된 사용자:
- 로그인하거나 어떠한 리포지터리에도 액세스할 수 없습니다. 차단된 사용자의 데이터는 해당 리포지터리에 그대로 남아 있습니다.
- 슬래시 명령을 사용할 수 없습니다. 자세한 내용은 슬래시 명령을 참조하십시오.
- 자리를 차지하지 않습니다.
사용자 차단
전제 조건:
- 인스턴스의 관리자여야 합니다.
사용자의 인스턴스 액세스를 차단할 수 있습니다.
사용자를 차단하려면:
- 왼쪽 사이드바에서 아래쪽에서 관리자 영역을 선택합니다.
- 개요 > 사용자를 선택합니다.
- 차단하려는 사용자를 선택한 후 수직 엘리프시스 ()를 선택한 후 차단을 선택합니다.
사용자는 계정이 차단되었다는 이메일 통지를 받습니다. 이 이메일 이후로 더 이상 알림을 받지 않습니다.
다른 사용자로부터 학대를 신고하려면 학대 신고를 참조하십시오. 관리자 영역에서 학대 신고에 대한 자세한 내용은 학대 신고 처리를 참조하십시오.
사용자 차단 해제
차단된 사용자는 관리자 영역에서 차단 해제할 수 있습니다. 이를 위해:
- 왼쪽 사이드바에서 아래쪽에서 관리자 영역을 선택합니다.
- 개요 > 사용자를 선택합니다.
- 차단됨 탭을 선택합니다.
- 차단 해제하려는 사용자를 선택한 후 수직 엘리프시스 ()를 선택한 후 차단 해제를 선택합니다.
사용자의 상태가 활성으로 설정되고 자리를 차지합니다.
차단된 사용자를 GitLab API를 사용하여 차단 해제할 수도 있습니다.
LDAP 사용자의 경우 차단 해제 옵션이 사용할 수 없을 수 있습니다. 차단 해제 옵션을 활성화하려면 먼저 LDAP 신원을 삭제해야 합니다:
- 왼쪽 사이드바에서 아래쪽에서 관리자 영역을 선택합니다.
- 개요 > 사용자를 선택합니다.
- 차단됨 탭을 선택합니다.
- 사용자를 선택합니다.
- 신원 탭을 선택합니다.
- LDAP 제공자를 찾은 후 삭제를 선택합니다.
사용자 활성화 및 비활성화
GitLab 관리자는 사용자를 비활성화하고 활성화할 수 있습니다. 최근 활동이 없는 사용자이고 해당 인스턴스의 좌석을 점유하지 않길 원하지 않는 경우 사용자를 비활성화해야 합니다.
비활성화된 사용자는 다음과 같습니다:
- GitLab에 로그인할 수 있습니다.
- 비활성화된 사용자가 로그인하면 자동으로 활성화됩니다.
- 리포지터리나 API에 접근할 수 없습니다.
- 슬래시 명령을 사용할 수 없습니다. 자세한 정보는 슬래시 명령을 참조하십시오.
- 좌석을 차지하지 않습니다. 자세한 정보는 청구 가능한 사용자를 참조하십시오.
사용자를 비활성화하면 사용자의 프로젝트, 그룹 및 이력은 유지됩니다.
사용자 비활성화
- GitLab 12.4에서 도입됨.
전제 조건:
- 사용자의 활동이 지난 90일 동안 없었어야 합니다.
사용자를 비활성화하려면:
- 왼쪽 측면 표시줄에서 아래쪽에 위치한 관리 영역을 선택합니다.
- 개요 > 사용자를 선택합니다.
- 비활성화하려는 사용자를 선택하고, 수직 점들 ()을 선택한 후 비활성화를 선택합니다.
- 대화상자에서 비활성화를 선택합니다.
사용자는 계정이 비활성화되었다는 이메일 통지를 받습니다. 이 이메일 이후로는 더 이상 알림을 받지 않습니다. 자세한 정보는 사용자 비활성화 이메일을 참조하십시오.
GitLab API를 사용하여 사용자를 비활성화하려면 사용자 비활성화를 참조하십시오. 영구 사용자 제한에 대한 정보는 사용자 차단 및 차단 해제를 참조하십시오.
자동으로 휴면 사용자 비활성화
관리자는 다음 중 하나에 해당하는 사용자의 자동 비활성화를 활성화할 수 있습니다:
- 일주일 이상 전에 생성되었고 로그인하지 않은 사용자입니다.
- 특정 기간 동안(기본 값 및 최솟값은 90일) 활동이 없는 사용자입니다.
다음을 수행하려면:
- 왼쪽 측면 표시줄에서 아래쪽에 위치한 관리 영역을 선택합니다.
- 설정 > 일반을 선택합니다.
- 계정 및 제한 섹션을 펼칩니다.
- 휴면 사용자 아래에서 비활동 기간 후 휴면 사용자 비활성화를 선택합니다.
- 비활성화되기 전의 비활동 기간(일)에 비활성화되기 전의 날 수를 입력합니다. 최솟값은 90일입니다.
- 변경 사항 저장을 선택합니다.
이 기능을 활성화하면 GitLab은 매일 한 번 작업을 실행하여 휴면 사용자를 비활성화합니다.
하루에 최대 100,000명의 사용자를 비활성화할 수 있습니다.
자동으로 확인되지 않은 사용자 삭제
전제 조건:
- 관리자여야 함.
이메일 주소를 확인하지 않은 사용자이고 지정된 날 수보다 오래 전에 GitLab에 가입한 사용자를 자동으로 삭제할 수 있습니다.
이러한 설정은 Settings 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_setting
이 soft
또는 hard
로 설정되어 있는 경우에만 실행됩니다.
하루에 최대 240,000명의 사용자를 삭제할 수 있습니다.
사용자 활성화
- GitLab 12.4에서 도입됨.
비활성화된 사용자는 관리 영역에서 활성화할 수 있습니다.
다음을 수행하려면:
- 왼쪽 측면 표시줄에서 아래쪽에 위치한 관리 영역을 선택합니다.
- 개요 > 사용자를 선택합니다.
- 비활성화됨 탭을 선택합니다.
- 활성화하려는 사용자를 선택하고, 수직 점들 ()을 선택한 후 활성화를 선택합니다.
사용자의 상태가 활성으로 설정되며, 해당 사용자는 좌석을 사용합니다.
사용자 차단 및 차단 해제
- 소개된 GitLab 14.2에서
ban_user_feature_flag
라는 플래그로 함께 도입되었습니다. 기본적으로 비활성화됩니다.- 사용자 차단 및 차단 해제는 GitLab 14.8에서 일반적으로 이용 가능합니다. 피처 플래그
ban_user_feature_flag
가 제거되었습니다.- 차단된 사용자의 Merge Request 숨기기가 GitLab 15.8에서 도입되었습니다. 기본적으로 비활성화됩니다.
- 차단된 사용자의 코멘트 숨기기가 GitLab 15.11에서 도입되었습니다. 기본적으로 비활성화됩니다.
- 차단된 사용자의 프로젝트 숨기기가 GitLab 16.2에서 도입되었습니다. 기본적으로 비활성화됩니다.
GitLab 관리자는 사용자를 차단하거나 차단 해제할 수 있습니다. 사용자의 활동을 차단하고 숨기고 싶을 때 사용자를 차단해야 합니다.
차단된 사용자는:
- 인스턴스에서 차단됩니다. 차단된 사용자의 프로젝트, 이슈, Merge Request 및 코멘트가 숨겨집니다.
- 사용자 라이선스를 차지하지 않습니다.
사용자 차단하기
관리자는 사용자를 차단하고 그들의 기여를 숨기기 위해 사용자를 차단할 수 있습니다.
사용자는 관리 영역을 통해 차단할 수 있습니다. 다음과 같이 수행하십시오:
- 왼쪽 사이드바에서 아래쪽에 위치한 관리 영역을 선택합니다.
- 개요 > 사용자를 선택합니다.
- 차단하려는 사용자를 선택한 후, 수직으로 나타나는 덜킹 버튼 ()을 선택하고 사용자 차단을 선택합니다.
사용자 차단 해제하기
차단된 사용자는 관리 영역을 통해 차단 해제할 수 있습니다. 다음과 같이 수행하십시오:
- 왼쪽 사이드바에서 아래쪽에 위치한 관리 영역을 선택합니다.
- 개요 > 사용자를 선택합니다.
- 차단됨 탭을 선택합니다.
- 차단 해제하려는 사용자를 선택한 후, 수직으로 나타나는 덜킹 버튼 ()을 선택하고 사용자 차단 해제를 선택합니다.
사용자의 상태가 활성화되고 사용자는 사용자 라이선스를 사용합니다.
사용자 삭제
관리 영역을 사용하여 사용자를 삭제합니다.
- 왼쪽 사이드바에서 아래쪽에 위치한 관리 영역을 선택합니다.
- 개요 > 사용자를 선택합니다.
- 삭제하려는 사용자를 선택한 후, 수직으로 나타나는 덜킹 버튼 ()을 선택하고 사용자 삭제를 선택합니다.
- 사용자 이름을 입력합니다.
- 사용자 삭제를 선택합니다.
삭제된 사용자가 유일한 그룹 소유자이거나 삭제된 사용자의 기여인 Merge Request, 이슈, 그룹 등을 삭제할 수도 있습니다.
- 왼쪽 사이드바에서 아래쪽에 위치한 관리 영역을 선택합니다.
- 개요 > 사용자를 선택합니다.
- 삭제하려는 사용자를 선택한 후, 수직으로 나타나는 덜킹 버튼 ()을 선택하고 사용자 및 기여 삭제를 선택합니다.
- 사용자 이름을 입력합니다.
- 사용자 및 기여 삭제를 선택합니다.
사용자 신뢰 및 믿음 해제
- GitLab 16.5에서 도입되었습니다.
관리 영역에서 사용자를 신뢰하거나 믿음 해제할 수 있습니다.
기본적으로 사용자는 신뢰되지 않으며 스팸으로 간주되는 이슈, 코멘트 및 스니펫을 만들 수 없습니다. 사용자를 신뢰하면 차단되지 않고 이슈, 코멘트 및 스니펫을 만들 수 있습니다.
전제 조건:
- 귀하는 관리자여야 합니다.
- 왼쪽 사이드바에서 아래쪽에 위치한 관리 영역을 선택합니다.
- 개요 > 사용자를 선택합니다.
- 사용자를 선택합니다.
- 사용자 관리 드롭다운 디렉터리에서 사용자 신뢰를 선택합니다.
- 확인 대화상자에서 사용자 신뢰를 선택합니다.
사용자가 신뢰됩니다.
- 왼쪽 사이드바에서 아래쪽에 위치한 관리 영역을 선택합니다.
- 개요 > 사용자를 선택합니다.
- 신뢰됨 탭을 선택합니다.
- 사용자를 선택합니다.
- 사용자 관리 드롭다운 디렉터리에서 사용자 믿음 해제를 선택합니다.
- 확인 대화상자에서 사용자 믿음 해제를 선택합니다.
사용자가 믿음이 해제됩니다.
문제 해결
사용자를 관리할 때 특정 조건에 따라 그들에게 대량 조치를 취해야 할 수 있습니다. 다음 rails 콘솔 스크립트는 그러한 예시를 보여줍니다. rails 콘솔 세션을 시작하고 다음과 유사한 스크립트를 사용할 수 있습니다.
최근 활동이 없는 사용자 비활성화
관리자는 최근 활동이 없는 사용자를 비활성화할 수 있습니다.
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 = User.find_by(username: '<your username>')
users.each do |user|
DeleteUserWorker.perform_async(current_user.id, user.id)
end