ブログ

2022/10/19
【プリザンター】 第166回)ADシングルサインオン設定時の注意点

ActiveDirectory連携

こんにちは、CCS田中です。

プリザンターを使われている方で、Microsoft の ActiveDirectory(以下ADと略す)連携を行っている方もいるかと思います。
単にADと連携するだけであれば、Authentication.json を設定することでAD情報が同期されるため、マニュアルの方法に従って設定すれば問題なくできると思います。
この場合は、プリザンターにアクセスしたときには、プリザンターのログイン画面が表示されます。今回はこのログイン画面を表示せずに、ADにログインしていれば自動的にプリザンターにログインできるようにシングルサインオン(以下SSO)となる設定について説明していきます。

SSOの方法についてもマニュアルに記載があるのですが、私が実際に設定してみたところ、マニュアルの記載にない内容で重要なところを補足していきます。
また、注意事項もあるためそれについても説明したいと思います。

設定方法と注意事項

プリザンターとADを同期する設定については、プリザンターのオンラインマニュアルにある「プリザンターにActive Directoryのユーザ情報を同期する」を参照して設定することで、同期は完了します。特にこの点での注意点はありませんので、割愛します。

次に、SSOに設定する場合は、「Windows認証によりプリザンターにシングルサインオンできるように設定する」を参照して設定することでよいのですが、マニュアルには記載は無いのですが、設定が必要な個所がありましたので説明します。

一度もADと同期をしていない状況で、上記のWindows認証でのシングルサインオンの設定をされている場合は問題ありませんが、SSOの設定をする前にAD同期を実施していた場合に、ログインIDのユーザの認識が再同期後に変わります。

具体的には以下のような感じになります。

<ユーザIDが Tanaka の場合>
 ・初期のAD同期時のログインID:Tanaka
 ・SSO設定後のログインID:DomainName\Tanaka

上記の2つは、別のユーザとして作成されます。最初に作成されていた Tanaka はそのままで、AD同期により DomainName\Tanaka が新たに追加されます。つまりSSO設定の前に一定の期間運用していた場合は、以前使用していたTanakaというログインIDでログインされずに DomainName\Tanaka としてログインされますので、権限の設定等は今までと異なってしまいます。
この問題を避けるために、SSOに変更する前にプリザンターで登録されているログインIDをクエリを使用して以下のように一括置換する必要があります。

update users set LoginId = 'DomainName\' + LoginId

※DomainNameは実際のドメイン名に合わせてください。(NetBIOS名でOKです)

もう1点注意点があります。これによってログインIDが変更になりますので、Security.jsonに設定されているPrivilegedUsersについても変更が必要です。
(エスケープ処理も忘れずに!)

変更前 "PrivilegedUsers": ["UserA"],
変更後 "PrivilegedUsers": ["DomainName\\UserA"],

ここでさらに注意点があり、ログインIDの大文字小文字の設定は、ADに設定されているものと同じにする必要があります。違っている場合にSSOはできますが、特権ユーザでユーザの切替ができなくなります。(Tanaka として登録されている場合に tanaka(Tを小文字にした場合)は、問題が発生します)



まとめ

いかがでしたか?

今回の説明は、自社で設定したところがうまく動作せず躓いた箇所を紹介しました。
「経験者は語る」的なものですので、ブログを閲覧している皆さんが同じような現象になった場合の参考になればと思います。

弊社ではスタイル・スクリプトサンプル集、プリザンター逆引き辞典のほかにも、運用ノウハウ集の販売もございます。また、導入の支援や、スクリプト開発なども支援いたします。

ご相談の内容によっては有料となる場合がございますが、まずは気軽にご相談ください。
☆☆☆
ブログ内容への質問や追加説明をご希望の方は【 問い合わせフォーム 】からお気軽にお問い合わせください
☆☆☆

PAGE TOP