- ユーザーを開発者として全プロジェクトに追加
- すべてのユーザをすべてのプロジェクトに追加します。
- ユーザを開発者として全グループに追加
- すべてのユーザをすべてのグループに追加します。
- 指定されたグループのすべてのユーザーを
project_limit:0
に更新してcan_create_group: false
- 請求可能ユーザー数の制御
- すべてのユーザーに対して二要素認証を無効にします。
- 二要素認証の暗号化キーをローテーションします。
- 関連するトピック
ユーザー管理 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: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\]
# 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
すべてのユーザーに対して二要素認証を無効にします。
このタスクは、二要素認証 (2FA) を有効にしているすべてのユーザーに対して二要素認証を無効にします。GitLabconfig/secrets.yml
ファイルが紛失してユーザーがサインインできない場合などに便利です。
すべてのユーザーに対して二要素認証を無効にするには、次のように実行します:
# 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
二要素認証の暗号化キーをローテーションします。
GitLab は二要素認証 (2FA) に必要なシークレットデータを暗号化されたデータベースのカラムに保存します。このデータの暗号化キーはotp_key_base
と呼ばれ、config/secrets.yml
に格納されています。
このファイルが流出しても、個々の2FAのシークレットが流出していない場合、新しい暗号化キーでこれらのシークレットを再暗号化することが可能です。これによって、全ユーザに 2FA 詳細を変更させることなく、漏洩した鍵を変更することができます。
2要素認証の暗号化キーをローテーションするには
-
config/secrets.yml
ファイルで古い鍵を探しますが、プロダクションセクションで作業していることを確認してください。興味のある行は次のようになります:production: otp_key_base: fffffffffffffffffffffffffffffffffffffffffffffff
-
新しいシークレットを生成します:
# omnibus-gitlab sudo gitlab-rake secret # installation from source 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> # 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
に書き込まれます。エラー発生時のロールバックに使用できます。 -
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