LDAP Rakeタスク

以下はLDAP関連のRakeタスクです。

チェック

LDAP check Rakeタスクは、bind_dnpassword の認証情報をテストし(設定されている場合)、LDAPユーザーのサンプルをリストアップします。このタスクは、gitlab:check タスクの一部として実行されますが、以下のコマンドを使用して独立して実行することもできます。

オムニバス・インストール

sudo gitlab-rake gitlab:ldap:check

ソースインストール

sudo -u git -H bundle exec rake gitlab:ldap:check RAILS_ENV=production

デフォルトでは、タスクは100人のLDAPユーザーのサンプルを返します。 チェックタスクに数値を渡すことでこの制限を変更できます:

rake gitlab:ldap:check[50]

グループ同期の実行

GitLab Starter12.2 で導入されました

次のタスクはグループ同期を即座に実行します。 これは、次にスケジュールされたグループ同期が実行されるのを待たずに、設定されたすべてのグループメンバーシップをLDAPに対して更新したい場合に便利です。

注:グループ同期の頻度を変更したい場合は、cronスケジュールを調整してください。

オムニバス・インストール

sudo gitlab-rake gitlab:ldap:group_sync

ソースインストール

bundle exec rake gitlab:ldap:group_sync

プロバイダ名の変更

gitlab.yml またはgitlab.rb で LDAP サーバ ID を変更した場合、すべてのユーザ ID を更新する必要があります。そうしないと、ユーザはサインインできません。新旧のプロバイダを入力すると、このタスクによってデータベース内の一致する ID がすべて更新されます。

old_providernew_provider は、接頭辞ldap と設定ファイルの LDAPサーバーIDから派生します。 例えば、gitlab.ymlgitlab.rb では、次のようなLDAP設定を見ることができます:

main:
  label: 'LDAP'
  host: '_your_ldap_server'
  port: 389
  uid: 'sAMAccountName'
  ...

main は LDAP サーバー ID です。合わせて、一意のプロバイダーはldapmainです。

警告: 間違った新規プロバイダを入力した場合、ユーザーはサインインできません。 この場合、間違ったプロバイダをold_provider として、正しいプロバイダをnew_providerとして、タスクを再度実行してください。

オムニバス・インストール

sudo gitlab-rake gitlab:ldap:rename_provider[old_provider,new_provider]

ソースインストール

bundle exec rake gitlab:ldap:rename_provider[old_provider,new_provider] RAILS_ENV=production

デフォルトのサーバー IDmain (完全プロバイダーldapmain)から始めることを考えます。mainmycompanyに変更すると、new_providerldapmycompanyになります。 すべてのユーザー ID の名前を変更するには、以下のコマンドを実行します:

sudo gitlab-rake gitlab:ldap:rename_provider[ldapmain,ldapmycompany]

出力例:

100 users with provider 'ldapmain' will be updated to 'ldapmycompany'.
If the new provider is incorrect, users will be unable to sign in.
Do you want to continue (yes/no)? yes

User identities were successfully updated

その他のオプション

old_providernew_provider を指定しない場合は、入力が求められます:

オムニバス・インストール

sudo gitlab-rake gitlab:ldap:rename_provider

ソースインストール

bundle exec rake gitlab:ldap:rename_provider RAILS_ENV=production

出力例:

What is the old provider? Ex. 'ldapmain': ldapmain
What is the new provider? Ex. 'ldapcustom': ldapmycompany

このタスクはforce 環境変数も受け付け、確認ダイアログをスキップします:

sudo gitlab-rake gitlab:ldap:rename_provider[old_provider,new_provider] force=yes