- 모든 프로젝트에 사용자를 개발자로 추가
- 모든 사용자를 모든 프로젝트에 추가
- 모든 그룹에 사용자를 개발자로 추가
- 모든 사용자를 모든 그룹에 추가
- 특정 그룹의 모든 사용자를
project_limit: 0
및can_create_group: false
로 업데이트 - 청구 가능한 사용자 수 제어
- 모든 사용자의 이중 인증 비활성화
- 이중 인증 암호화 키 회전
- GitLab Duo Pro에 대한 대량 사용자 할당
- 관련 주제
사용자 관리 Rake 작업
GitLab은 사용자를 관리하기 위한 Rake 작업을 제공합니다. 관리자는 또한 관리자 영역을 사용할 수 있습니다.
모든 프로젝트에 사용자를 개발자로 추가
모든 프로젝트에 사용자를 개발자로 추가하려면 다음을 실행하세요:
# omnibus-gitlab
sudo gitlab-rake gitlab:import:user_to_projects[username@domain.tld]
# 소스에서 설치하는 경우
bundle exec rake gitlab:import:user_to_projects[username@domain.tld] RAILS_ENV=production
모든 사용자를 모든 프로젝트에 추가
모든 사용자를 모든 프로젝트에 추가하려면 다음을 실행하세요:
# omnibus-gitlab
sudo gitlab-rake gitlab:import:all_users_to_all_projects
# 소스에서 설치하는 경우
bundle exec rake gitlab:import:all_users_to_all_projects RAILS_ENV=production
관리자는 유지자로 추가됩니다.
모든 그룹에 사용자를 개발자로 추가
모든 그룹에 사용자를 개발자로 추가하려면 다음을 실행하세요:
# omnibus-gitlab
sudo gitlab-rake gitlab:import:user_to_groups[username@domain.tld]
# 소스에서 설치하는 경우
bundle exec rake gitlab:import:user_to_groups[username@domain.tld] RAILS_ENV=production
모든 사용자를 모든 그룹에 추가
모든 사용자를 모든 그룹에 추가하려면 다음을 실행하세요:
# omnibus-gitlab
sudo gitlab-rake gitlab:import:all_users_to_all_groups
# 소스에서 설치하는 경우
bundle exec rake gitlab:import:all_users_to_all_groups RAILS_ENV=production
관리자는 소유자로 추가되어 해당 그룹에 사용자를 추가할 수 있습니다.
특정 그룹의 모든 사용자를 project_limit: 0
및 can_create_group: false
로 업데이트
특정 그룹의 모든 사용자를 project_limit: 0
및 can_create_group: false
로 업데이트하려면 다음을 실행하세요:
# omnibus-gitlab
sudo gitlab-rake gitlab:user_management:disable_project_and_group_creation\[:group_id\]
# 소스에서 설치하는 경우
bundle exec rake gitlab:user_management:disable_project_and_group_creation\[:group_id\] RAILS_ENV=production
해당 그룹, 해당 그룹의 하위 그룹, 그리고 해당 그룹 네임스페이스의 프로젝트에 대한 모든 사용자가 업데이트됩니다.
청구 가능한 사용자 수 제어
이 설정을 활성화하여 관리자의 승인을 받기 전에 새 사용자를 차단합니다.
기본값: false
block_auto_created_users: false
모든 사용자의 이중 인증 비활성화
이 작업은 활성화된 모든 사용자의 이중 인증(2FA)을 비활성화합니다. 예를 들어 GitLab config/secrets.yml
파일이 손실된 경우 또는 사용자가 로그인할 수 없는 경우에 유용합니다.
모든 사용자의 이중 인증을 비활성화하려면 다음을 실행하세요:
# omnibus-gitlab
sudo gitlab-rake gitlab:two_factor:disable_for_all_users
# 소스에서 설치하는 경우
bundle exec rake gitlab:two_factor:disable_for_all_users RAILS_ENV=production
이중 인증 암호화 키 회전
GitLab은 이중 인증(2FA)을 위해 필요한 비밀 데이터를 암호화된 데이터베이스 열에 저장합니다. 이 데이터의 암호화 키는 otp_key_base
로 알려져 있으며 config/secrets.yml
에 저장됩니다.
해당 파일이 유출되었지만 개별 2FA 비밀이 유출된 것은 아닌 경우, 해당 비밀을 새로운 암호화 키로 다시 암호화할 수 있습니다. 이를 통해 유출된 키를 변경하고 모든 사용자가 2FA 세부 정보를 변경하지 않아도 되도록 할 수 있습니다.
2FA 암호화 키를 회전하려면:
-
config/secrets.yml
파일에서 이전 키를 검색하되 반드시 운영(production) 섹션에서 작업하는지 확인하세요. 찾고자 하는 줄은 다음과 같습니다:production: otp_key_base: fffffffffffffffffffffffffffffffffffffffffffffff
-
새로운 시크릿을 생성합니다:
# omnibus-gitlab sudo gitlab-rake secret # 소스에서 설치하는 경우 bundle exec rake secret RAILS_ENV=production
-
GitLab 서버를 중지하고 기존 시크릿 파일을 백업하고 데이터베이스를 업데이트합니다:
# omnibus-gitlab sudo gitlab-ctl stop sudo cp config/secrets.yml config/secrets.yml.bak sudo gitlab-rake gitlab:two_factor:rotate_key:apply filename=backup.csv old_key=<old key> new_key=<new key> # 소스에서 설치하는 경우 sudo /etc/init.d/gitlab stop cp config/secrets.yml config/secrets.yml.bak bundle exec rake gitlab:two_factor:rotate_key:apply filename=backup.csv old_key=<old key> new_key=<new key> RAILS_ENV=production
<old key>
값은config/secrets.yml
에서 읽을 수 있습니다(<new key>
는 이전에 생성된 것). 2FA 시크릿 사용자의 암호화된 값은 지정된filename
에 작성됩니다. 오류 발생 시 롤백에 사용할 수 있습니다. -
config/secrets.yml
을 변경하여otp_key_base
를<new key>
로 설정하고 다시 시작하세요. 다시 한 번 운영(production) 섹션에서 작업하는지 확인하세요.# omnibus-gitlab sudo gitlab-ctl start # 소스에서 설치하는 경우 sudo /etc/init.d/gitlab start
문제가 발생하는 경우(old_key
에 잘못된 값 사용 등), 시크릿 파일의 백업을 복원하고 변경 사항을 롤백할 수 있습니다:
# omnibus-gitlab
sudo gitlab-ctl stop
sudo gitlab-rake gitlab:two_factor:rotate_key:rollback filename=backup.csv
sudo cp config/secrets.yml.bak config/secrets.yml
sudo gitlab-ctl start
# 소스에서 설치하는 경우
sudo /etc/init.d/gitlab start
bundle exec rake gitlab:two_factor:rotate_key:rollback filename=backup.csv RAILS_ENV=production
cp config/secrets.yml.bak config/secrets.yml
sudo /etc/init.d/gitlab start
GitLab Duo Pro에 대한 대량 사용자 할당
- GitLab 16.9에서 도입되었습니다.
대량 사용자 할당을 위한 Rake 작업은 GitLab 16.9 이상에서 사용할 수 있습니다. GitLab 16.8의 경우 bulk_user_assignment.rb
스크립트를 사용하세요.
GitLab Duo Pro에 대한 대량 사용자 할당을 수행하려면 다음 Rake 작업을 사용할 수 있습니다:
bundle exec rake duo_pro:bulk_user_assignment DUO_PRO_BULK_USER_FILE_PATH=path/to/your/file.csv
파일 경로에 대괄호를 사용하려면 이스케이프하거나 큰따옴표를 사용할 수 있습니다:
bundle exec rake duo_pro:bulk_user_assignment\['path/to/your/file.csv'\]
# 또는
bundle exec rake "duo_pro:bulk_user_assignment['path/to/your/file.csv']"
CSV 파일은 다음 형식을 가져야 합니다:
username
user1
user2
user3
user4
etc..
파일에 username
이라는 헤더가 포함되어야 하며, 각 행은 사용자 할당을 위한 사용자 이름을 나타내어야 합니다.
해당 작업에서는 다음과 같은 오류 메시지가 발생할 수 있습니다:
-
User is not found
: 지정된 사용자를 찾을 수 없습니다. -
ERROR_NO_SEATS_AVAILABLE
: 사용자 할당을 위한 더 이상의 좌석이 없습니다. -
ERROR_INVALID_USER_MEMBERSHIP
: 해당 사용자는 비활성화되었거나 봇 또는 ghost로 인해 할당이 불가능합니다.