LDAP Rakeタスク
以下はLDAP関連のRakeタスクです。
チェック
LDAP check Rakeタスクは、bind_dn
とpassword
の認証情報をテストし(設定されている場合)、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に対して更新したい場合に便利です。
オムニバス・インストール
sudo gitlab-rake gitlab:ldap:group_sync
ソースインストール
bundle exec rake gitlab:ldap:group_sync
プロバイダ名の変更
gitlab.yml
またはgitlab.rb
で LDAP サーバ ID を変更した場合、すべてのユーザ ID を更新する必要があります。そうしないと、ユーザはサインインできません。新旧のプロバイダを入力すると、このタスクによってデータベース内の一致する ID がすべて更新されます。
old_provider
とnew_provider
は、接頭辞ldap
と設定ファイルの LDAPサーバーIDから派生します。 例えば、gitlab.yml
やgitlab.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
)から始めることを考えます。main
をmycompany
に変更すると、new_provider
はldapmycompany
になります。 すべてのユーザー 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_provider
とnew_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