ユーザータイプ(SNSユーザー、LDAPユーザー、SSOユーザー)
本ページに記載の機能はSHIRASAGI v1.19以降で利用できます。
ユーザータイプ
SHIRASAGIには3つのユーザータイプがあり、それぞれ以下のような機能があります。
- SNSユーザー
- ログイン時に入力されたパスワードと、SHIRASAGIのデータベースに格納されているパスワードと照合してログインすることを目的としたユーザータイプ。
- LDAPユーザー
- ログイン時に入力されたパスワードと、LDAP上のパスワードと照合してログインすることを目的としたユーザータイプ。別途LDAPサーバーの設定が必要。
- SHIRASAGI上からパスワードを変更すると、LDAP上のパスワードが変更されます。
- SSOユーザー
- 外部の認証サーバーにより認証されたユーザーでログインすることを目的としたユーザータイプ。
- SHIRASAGI上からパスワードを変更することはできません。また、現時点では Single Log Out(SLO)に未対応のため、ログアウトメニューが表示されません。
少し詳しく機能の違いを下表に示します。
ユーザータイプ | Formログイン*2 | SSOログイン*5 | ログアウト | パスワード変更 |
---|---|---|---|---|
SNSユーザー | 可能*3 | 可能 | 可能*6 | 可能 |
LDAPユーザー | 可能*4 | 可能 | 可能*6 | 可能*8 |
SSOユーザー*1 | 不可 | 可能 | 不可*7 | 不可*9 |
- *1: v1.19から利用可能なユーザータイプ
- *2: ユーザーIDとパスワードを用いたログインのことです。
- *3: シラサギDBに格納されているパスワードと照合
- *4: Net::LDAP#bindを用いたユーザー名とパスワードの認証のみサポート。LDAPサーバーでは様々な認証方式をサポートしているかもしれないが、シラサギで利用できるのはユーザー名とパスワードを用いた単純(simple)方式のみ。ユーザー名とパスワード以外の認証や、多要素認証をサポートしたい場合は、SAMLなどSSOの利用を検討されたし。
- *5: 外部の認証サーバーを用いた認証。認証方式は認証サーバーの仕様に則る。認証サーバーの仕様によっては多要素認証なども可能。
- *6: SSOでログインした場合、ログアウトできるのはシラサギのみで、認証サーバーからはログアウトしないし、シラサギからログアウトすると、シラサギのログイン画面へ戻る。認証サーバーのログイン画面に戻るようなことはない。
- *7: 現在、シラサギはSingle Log Out(SLO)に対応していないのでログインメニューが非表示になる。SLOに対応するにはカスタマイズ(ソースコードレベルでの変更)が必要。
- *8: LDAPサーバーのパスワードを変更する。Net::LDAP#password_modifyを用いてパスワード変更を実施するため、LDAPサーバーがRFC3062に定められた拡張仕様に準拠している必要がある。シラサギにパスワードポリシーが定められている場合、そのポリシーが適用される。LDAPサーバー側がActiveDirectoryなどのディレクトリサービスの場合、シラサギのパスワードポリシーに加え、ディレクトリサービスのパスワードポリシーも併せて適用される場合がある。
また、ユーザー詳細画面でパスワードを設定しようとすると、原則、エラーになる。ユーザーインポートでパスワードを設定しようとしても、原則、エラーになる。 - *9: ユーザー詳細画面でパスワードを設定しようとするとエラーになるし、ユーザーインポートでパスワードを設定しようとしてもエラーになる。ユーザーインポート時、パスワード欄は空欄にしてください。
LDAPパスワード変更の機能拡張
config/ldap.yml
の次の項目を設定することで、ユーザー詳細画面でLDAPユーザーのLDAP上のパスワードを変更することが可能になります。
項目 | 説明 |
---|---|
url | LDAPサーバーのURL。ldapsを使用可能です。 |
sync_password | enable にする |
admin_user | LDAPサーバーの管理権限のあるユーザーDN |
admin_password | admin_userのパスワード |
config/ldap.yml
が存在しない場合はconfig/defaults/ldap.yml
をコピーしてください。
LDAPSを使用する上での注意点
LDAPSが使用可能です。 LDAPSがいわゆるオレオレ証明の場合、LDAPSの中間証明書などをopensslの証明書ストアに適切にインストールし、証明書の検証が成功するようにサーバーを設定するようにしてください。
opensslの証明書ストアの場所や証明書ストアに証明書を登録する方法は、お使いのOSにより異なります。 参考までにRed Hat系OSの場合、
/usr/share/pki/ca-trust-source/anchors
ディレクトリの下に証明書ファイルを置き、コマンドupdate-ca-trust
を実行することで証明書ストアに証明書を登録することができます。