InfoGrab Docs

사용자 관리 Rake 작업

요약

GitLab은 사용자 관리를 위한 Rake 작업을 제공합니다. 사용자를 모든 프로젝트에 개발자로 추가하려면 다음을 실행하세요: 모든 사용자를 모든 프로젝트에 추가하려면 다음을 실행하세요: 관리자는 관리자 권한으로 추가되고, 다른 모든 사용자는 개발자 권한으로 추가됩니다.

GitLab은 사용자 관리를 위한 Rake 작업을 제공합니다. 관리자는 관리 영역을 통해 사용자를 관리할 수도 있습니다.

사용자를 모든 프로젝트에 개발자로 추가#

사용자를 모든 프로젝트에 개발자로 추가하려면 다음을 실행하세요:

# omnibus-gitlab
sudo gitlab-rake gitlab:import:user_to_projects[username@domain.tld]

# installation from source
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

# installation from source
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]

# installation from source
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

# installation from source
bundle exec rake gitlab:import:all_users_to_all_groups RAILS_ENV=production

관리자는 소유자 권한으로 추가되어 그룹에 추가 사용자를 추가할 수 있습니다.

특정 그룹의 모든 사용자를 project_limit:0can_create_group: false로 업데이트#

특정 그룹의 모든 사용자를 project_limit: 0can_create_group: false로 업데이트하려면 다음을 실행하세요:

# omnibus-gitlab
sudo gitlab-rake gitlab:user_management:disable_project_and_group_creation\[:group_id\]

# installation from source
bundle exec rake gitlab:user_management:disable_project_and_group_creation\[:group_id\] RAILS_ENV=production

이 명령은 지정된 그룹, 해당 하위 그룹 및 이 그룹 네임스페이스의 프로젝트에 있는 모든 사용자를 지정된 제한으로 업데이트합니다.

청구 가능 사용자 수 제어#

새 사용자가 관리자에 의해 승인될 때까지 차단된 상태로 유지하려면 이 설정을 활성화하세요. 기본값은 false입니다:

block_auto_created_users: false

모든 사용자에 대한 2단계 인증 비활성화#

이 작업은 2단계 인증(2FA)을 활성화한 모든 사용자에 대해 2FA를 비활성화합니다. 예를 들어 GitLab config/secrets.yml 파일이 손실되어 사용자가 로그인할 수 없는 경우에 유용합니다.

모든 사용자에 대해 2단계 인증을 비활성화하려면 다음을 실행하세요:

# omnibus-gitlab
sudo gitlab-rake gitlab:two_factor:disable_for_all_users

# installation from source
bundle exec rake gitlab:two_factor:disable_for_all_users RAILS_ENV=production

2단계 인증 암호화 키 교체#

GitLab은 2단계 인증(2FA)에 필요한 시크릿 데이터를 암호화된 데이터베이스 열에 저장합니다. 이 데이터의 암호화 키는 otp_key_base라고 하며, config/secrets.yml에 저장됩니다.

해당 파일이 유출되었지만 개별 2FA 시크릿은 유출되지 않은 경우, 새 암호화 키로 해당 시크릿을 재암호화할 수 있습니다. 이를 통해 모든 사용자가 2FA 세부 정보를 변경하도록 강제하지 않고 유출된 키를 변경할 수 있습니다.

2단계 인증 암호화 키를 교체하려면:

  1. config/secrets.yml 파일에서 이전 키를 찾되, 운영 섹션에서 작업하고 있는지 반드시 확인하세요. 필요한 줄은 다음과 같습니다:

    production:
      otp_key_base: fffffffffffffffffffffffffffffffffffffffffffffff
    
  2. 새 시크릿을 생성하세요:

    # omnibus-gitlab
    sudo gitlab-rake secret
    
    # installation from source
    bundle exec rake secret RAILS_ENV=production
    
  3. 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>
    
    # installation from source
    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에 기록됩니다. 오류 발생 시 롤백을 위해 이를 사용할 수 있습니다.

  4. config/secrets.yml에서 otp_key_base<new key>로 설정하고 재시작하세요. 다시 한 번, 운영 섹션에서 작업하고 있는지 확인하세요.

    # omnibus-gitlab
    sudo gitlab-ctl start
    
    # installation from source
    sudo /etc/init.d/gitlab start
    

문제가 있는 경우 (예: old_key에 잘못된 값을 사용한 경우), config/secrets.yml의 백업을 복원하고 변경 사항을 롤백할 수 있습니다:

# 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

# installation from source
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에 사용자 일괄 할당#

사용자 이름이 담긴 CSV 파일을 사용하여 GitLab Duo에 사용자를 일괄 할당할 수 있습니다. CSV 파일에는 username이라는 헤더가 있어야 하며, 이후 각 행에 사용자 이름이 있어야 합니다.

username
user1
user2
user3
user4

GitLab Duo Pro#

히스토리

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'\]
# or
bundle exec rake "duo_pro:bulk_user_assignment[path/to/your/file.csv]"

GitLab Duo Pro 및 Enterprise#

히스토리

GitLab Self-Managed#

이 Rake 작업은 구매된 애드온에 따라 CSV 파일의 사용자 목록에 인스턴스 수준에서 GitLab Duo Pro 또는 Enterprise 시트를 일괄 할당합니다.

GitLab Self-Managed 인스턴스에 대한 사용자 일괄 할당을 수행하려면:

bundle exec rake gitlab_subscriptions:duo:bulk_user_assignment DUO_BULK_USER_FILE_PATH=path/to/your/file.csv

파일 경로에 대괄호를 사용하려면 이스케이프하거나 큰따옴표를 사용할 수 있습니다:

bundle exec rake gitlab_subscriptions:duo:bulk_user_assignment\['path/to/your/file.csv'\]
# or
bundle exec rake "gitlab_subscriptions:duo:bulk_user_assignment[path/to/your/file.csv]"

GitLab.com#

GitLab.com 관리자는 이 Rake 작업을 사용하여 해당 그룹에서 구매된 애드온에 따라 GitLab.com 그룹에 대해 GitLab Duo Pro 또는 Enterprise 시트를 일괄 할당할 수도 있습니다.

GitLab.com 그룹에 대한 사용자 일괄 할당을 수행하려면:

bundle exec rake gitlab_subscriptions:duo:bulk_user_assignment DUO_BULK_USER_FILE_PATH=path/to/your/file.csv NAMESPACE_ID=<namespace_id>

파일 경로에 대괄호를 사용하려면 이스케이프하거나 큰따옴표를 사용할 수 있습니다:

bundle exec rake gitlab_subscriptions:duo:bulk_user_assignment\['path/to/your/file.csv','<namespace_id>'\]
# or
bundle exec rake "gitlab_subscriptions:duo:bulk_user_assignment[path/to/your/file.csv,<namespace_id>]"

문제 해결#

사용자 일괄 할당 시 오류#

사용자 일괄 할당을 위한 Rake 작업을 사용할 때 다음과 같은 오류가 발생할 수 있습니다:

  • User is not found: 지정된 사용자를 찾을 수 없습니다. 제공된 사용자 이름이 기존 사용자와 일치하는지 확인하세요.
  • ERROR_NO_SEATS_AVAILABLE: 사용자 할당을 위한 시트가 더 이상 없습니다. 현재 시트 할당을 확인하려면 할당된 GitLab Duo 사용자 보기를 참조하세요.
  • ERROR_INVALID_USER_MEMBERSHIP: 사용자가 비활성화되어 있거나, 봇이거나, 고스트이기 때문에 할당 대상이 아닙니다. 사용자가 활성 상태이며 GitLab.com의 경우 제공된 네임스페이스의 멤버인지 확인하세요.

관련 주제#

사용자 관리 Rake 작업

Tier: Premium, Ultimate
Offering: GitLab.com, GitLab Self-Managed
원문 보기
요약

GitLab은 사용자 관리를 위한 Rake 작업을 제공합니다. 사용자를 모든 프로젝트에 개발자로 추가하려면 다음을 실행하세요: 모든 사용자를 모든 프로젝트에 추가하려면 다음을 실행하세요: 관리자는 관리자 권한으로 추가되고, 다른 모든 사용자는 개발자 권한으로 추가됩니다.

GitLab은 사용자 관리를 위한 Rake 작업을 제공합니다. 관리자는 관리 영역을 통해 사용자를 관리할 수도 있습니다.

사용자를 모든 프로젝트에 개발자로 추가#

사용자를 모든 프로젝트에 개발자로 추가하려면 다음을 실행하세요:

# omnibus-gitlab
sudo gitlab-rake gitlab:import:user_to_projects[username@domain.tld]

# installation from source
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

# installation from source
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]

# installation from source
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

# installation from source
bundle exec rake gitlab:import:all_users_to_all_groups RAILS_ENV=production

관리자는 소유자 권한으로 추가되어 그룹에 추가 사용자를 추가할 수 있습니다.

특정 그룹의 모든 사용자를 project_limit:0can_create_group: false로 업데이트#

특정 그룹의 모든 사용자를 project_limit: 0can_create_group: false로 업데이트하려면 다음을 실행하세요:

# omnibus-gitlab
sudo gitlab-rake gitlab:user_management:disable_project_and_group_creation\[:group_id\]

# installation from source
bundle exec rake gitlab:user_management:disable_project_and_group_creation\[:group_id\] RAILS_ENV=production

이 명령은 지정된 그룹, 해당 하위 그룹 및 이 그룹 네임스페이스의 프로젝트에 있는 모든 사용자를 지정된 제한으로 업데이트합니다.

청구 가능 사용자 수 제어#

새 사용자가 관리자에 의해 승인될 때까지 차단된 상태로 유지하려면 이 설정을 활성화하세요. 기본값은 false입니다:

block_auto_created_users: false

모든 사용자에 대한 2단계 인증 비활성화#

이 작업은 2단계 인증(2FA)을 활성화한 모든 사용자에 대해 2FA를 비활성화합니다. 예를 들어 GitLab config/secrets.yml 파일이 손실되어 사용자가 로그인할 수 없는 경우에 유용합니다.

모든 사용자에 대해 2단계 인증을 비활성화하려면 다음을 실행하세요:

# omnibus-gitlab
sudo gitlab-rake gitlab:two_factor:disable_for_all_users

# installation from source
bundle exec rake gitlab:two_factor:disable_for_all_users RAILS_ENV=production

2단계 인증 암호화 키 교체#

GitLab은 2단계 인증(2FA)에 필요한 시크릿 데이터를 암호화된 데이터베이스 열에 저장합니다. 이 데이터의 암호화 키는 otp_key_base라고 하며, config/secrets.yml에 저장됩니다.

해당 파일이 유출되었지만 개별 2FA 시크릿은 유출되지 않은 경우, 새 암호화 키로 해당 시크릿을 재암호화할 수 있습니다. 이를 통해 모든 사용자가 2FA 세부 정보를 변경하도록 강제하지 않고 유출된 키를 변경할 수 있습니다.

2단계 인증 암호화 키를 교체하려면:

  1. config/secrets.yml 파일에서 이전 키를 찾되, 운영 섹션에서 작업하고 있는지 반드시 확인하세요. 필요한 줄은 다음과 같습니다:

    production:
      otp_key_base: fffffffffffffffffffffffffffffffffffffffffffffff
    
  2. 새 시크릿을 생성하세요:

    # omnibus-gitlab
    sudo gitlab-rake secret
    
    # installation from source
    bundle exec rake secret RAILS_ENV=production
    
  3. 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>
    
    # installation from source
    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에 기록됩니다. 오류 발생 시 롤백을 위해 이를 사용할 수 있습니다.

  4. config/secrets.yml에서 otp_key_base<new key>로 설정하고 재시작하세요. 다시 한 번, 운영 섹션에서 작업하고 있는지 확인하세요.

    # omnibus-gitlab
    sudo gitlab-ctl start
    
    # installation from source
    sudo /etc/init.d/gitlab start
    

문제가 있는 경우 (예: old_key에 잘못된 값을 사용한 경우), config/secrets.yml의 백업을 복원하고 변경 사항을 롤백할 수 있습니다:

# 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

# installation from source
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에 사용자 일괄 할당#

사용자 이름이 담긴 CSV 파일을 사용하여 GitLab Duo에 사용자를 일괄 할당할 수 있습니다. CSV 파일에는 username이라는 헤더가 있어야 하며, 이후 각 행에 사용자 이름이 있어야 합니다.

username
user1
user2
user3
user4

GitLab Duo Pro#

히스토리

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'\]
# or
bundle exec rake "duo_pro:bulk_user_assignment[path/to/your/file.csv]"

GitLab Duo Pro 및 Enterprise#

히스토리

GitLab Self-Managed#

이 Rake 작업은 구매된 애드온에 따라 CSV 파일의 사용자 목록에 인스턴스 수준에서 GitLab Duo Pro 또는 Enterprise 시트를 일괄 할당합니다.

GitLab Self-Managed 인스턴스에 대한 사용자 일괄 할당을 수행하려면:

bundle exec rake gitlab_subscriptions:duo:bulk_user_assignment DUO_BULK_USER_FILE_PATH=path/to/your/file.csv

파일 경로에 대괄호를 사용하려면 이스케이프하거나 큰따옴표를 사용할 수 있습니다:

bundle exec rake gitlab_subscriptions:duo:bulk_user_assignment\['path/to/your/file.csv'\]
# or
bundle exec rake "gitlab_subscriptions:duo:bulk_user_assignment[path/to/your/file.csv]"

GitLab.com#

GitLab.com 관리자는 이 Rake 작업을 사용하여 해당 그룹에서 구매된 애드온에 따라 GitLab.com 그룹에 대해 GitLab Duo Pro 또는 Enterprise 시트를 일괄 할당할 수도 있습니다.

GitLab.com 그룹에 대한 사용자 일괄 할당을 수행하려면:

bundle exec rake gitlab_subscriptions:duo:bulk_user_assignment DUO_BULK_USER_FILE_PATH=path/to/your/file.csv NAMESPACE_ID=<namespace_id>

파일 경로에 대괄호를 사용하려면 이스케이프하거나 큰따옴표를 사용할 수 있습니다:

bundle exec rake gitlab_subscriptions:duo:bulk_user_assignment\['path/to/your/file.csv','<namespace_id>'\]
# or
bundle exec rake "gitlab_subscriptions:duo:bulk_user_assignment[path/to/your/file.csv,<namespace_id>]"

문제 해결#

사용자 일괄 할당 시 오류#

사용자 일괄 할당을 위한 Rake 작업을 사용할 때 다음과 같은 오류가 발생할 수 있습니다:

  • User is not found: 지정된 사용자를 찾을 수 없습니다. 제공된 사용자 이름이 기존 사용자와 일치하는지 확인하세요.
  • ERROR_NO_SEATS_AVAILABLE: 사용자 할당을 위한 시트가 더 이상 없습니다. 현재 시트 할당을 확인하려면 할당된 GitLab Duo 사용자 보기를 참조하세요.
  • ERROR_INVALID_USER_MEMBERSHIP: 사용자가 비활성화되어 있거나, 봇이거나, 고스트이기 때문에 할당 대상이 아닙니다. 사용자가 활성 상태이며 GitLab.com의 경우 제공된 네임스페이스의 멤버인지 확인하세요.

관련 주제#