正式なドキュメントは英語版であり、この日本語訳はAI支援翻訳により作成された参考用のものです。日本語訳の一部の内容は人間によるレビューがまだ行われていないため、翻訳のタイミングにより英語版との間に差異が生じることがあります。最新かつ正確な情報については、英語版をご参照ください。

ユーザー管理Rakeタスク

  • プラン: Free、Premium、Ultimate
  • 提供形態: GitLab Self-Managed

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

すべてのユーザーに対して2要素認証を無効にする

このタスクは、有効になっているすべてのユーザーに対して2要素認証(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は、encryptedデータベースカラムに2要素認証(2FA)に必要なシークレットデータを保存します。このデータの暗号化キーはotp_key_baseと呼ばれ、config/secrets.ymlに保存されます。

そのファイルが漏洩した場合でも、個々の2FAシークレットが漏洩していない場合は、新しい暗号化キーを使用してそれらのシークレットを再encryptedにすることができます。これにより、すべてのユーザーに2FAの詳細の変更を強制することなく、漏洩したキーを変更できます。

2要素認証の暗号化キーをローテーションするには、次の手順を実行します:

  1. config/secrets.ymlファイルで古いキーを検索しますが、必ずproductionセクションを操作してください。対象の行は次のようになります:

    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シークレットのencrypted(暗号化された)値は、指定されたfilenameに書き込まれます。これは、エラーが発生した場合にロールバックするために使用できます。

  4. config/secrets.ymlを変更してotp_key_base<new key>に設定し、再起動します。繰り返しますが、productionセクションで操作していることを確認してください。

    # 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 GitLab Duoに一括で割り当てできます。CSVファイルには、usernameという名前のヘッダーがあり、その後に後続の各行にユーザー名が続く必要があります。

username
user1
user2
user3
user4

GitLab Duo Pro

  • プラン: Premium、Ultimate
  • 提供形態: GitLab Self-Managed

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

  • プラン: Premium、Ultimate
  • 提供形態: GitLab.com、GitLab Self-Managed

GitLab Self-Managed

このRakeタスクは、購入済みのアドオンに基づいて、インスタンスレベルでGitLab Duo ProまたはEnterpriseのシートをCSVファイルからユーザーのリストに一括で割り当てます。

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の場合は、指定されたネームスペースのメンバーであることを確認してください。