Code

BookStackの初期セットアップ③(LDAP認証 ADグループ連携)

スポンサーラベル
Code

BookStackは、オープンソースのドキュメント管理ツールとして、多くの企業や組織で採用されています。

前回はLDAP認証を利用したADとの連携について説明しました。
 https://syachiku.net/bookstack-setup02/

今回はさらにAD連携を便利にするためにADグループと連携する方法について説明します。
通常はLDAP連携した場合、初回ログオンしないとユーザがBookStack上に作成されないため、事前に役割を設定することができません

ADグループ連携を行うことで、事前に設定した役割に応じて自動的にユーザーに権限を付与することができます。 例えば、経理グループに所属している人は経理の本棚だけ管理でき、総務グループに所属している人は総務の本棚だけを編集する、などの制御ができたりします。

1. 前提条件

前回のまでのLDAP認証の設定完了している必要があります。
今回は例として事前にAD上のユーザとして以下を用意します。

  1. KeiriUser01 … ADグループ「KeiriDiv」に所属
  2. SoumuUser01 … ADグループ「SoumuDiv」に所属
  3. SystemUser01 … ADグループ「SystemDiv」に所属

実際の画面はこんな感じです。
※注意:日本語のグループ名だとうまくLDAP連携できなかったので英語名のグループです。

2. 手順

2.1. PHP-LDAPをインストール

BookStackのLDAPをするためにphp-ldapをインストールします。

# sudo dnf install -y php-ldap

インストールされていることを確認します。

# rpm -qa | grep php-ldap
php-ldap-8.1.31-1.el9.remi.x86_64

2.2. BookStackの設定ファイルを編集

BookStackのLDAPログオン設定は、.envファイルで行います。このファイルは、BookStackのインストールディレクトリにあります。

cd /var/www/bookstack
sudo vi .env

設定ファイルに以下の情報を追記または修正します。

LDAP_USER_TO_GROUPS=true
LDAP_GROUP_ATTRIBUTE="memberOf"
LDAP_REMOVE_FROM_GROUPS=false

2.3. 設定を反映

設定変更後、BookStackのキャッシュをクリアします。

php artisan cache:clear

2.4. BookStack側での役割の設定

2.4.1. 役割の作成

adminユーザでログオンして以下の役割を作成します。

2.4.2. 本棚とブックに役割を設定

本棚に役割を設定し、ブックにも反映させます。
本棚共通は全ユーザから見えるようにRead権限だけを設定します。

総務部の場合の設定です。

共通の設定です。だれでもアクセスはできますが、編集はシステム部だけができます。

2.5. 動作確認

  1. BookStackにアクセスし、ログオン画面を表示します。
  2. 例としてSoumuUser01でログオンを行います。
  3. 総務本棚と共通本棚が表示されることを確認します。それ以外は見えないことを確認します。
  4. 総務本棚にあるブックなどを編集できることを確認します。

3. まとめ

LDAP認証 ADグループ連携を設定することで、ユーザ単位での管理ではなくADグループ単位でアクセス権を設定することができるため、運用効率を高めることができます。
本記事の手順を参考に、ぜひLDAP ADグループ連携の導入を進めてみてください

今回は以上となります。

コメント

タイトルとURLをコピーしました