====== Pandora FMS での SAML シングルサインオン ======
{{indexmenu_n>12}}
[[ja:documentation:start|Pandora FMS ドキュメント一覧に戻る]]
===== Pandora FMS での SAML シングルサインオン =====
SAML は、XML をベースにした、認証のためのオープンな標準規格です。Pandora FMS は、内部の SAML IdP(ID プロバイダ) と共に、SP (サービスプロバイダ) として動作します。
管理者は常にローカルのデータベースで認証されます。
==== Pandora FMS の設定 ====
**管理(Management)** → **セットアップ(Setup)** → **セットアップ(Setup)** → **認証(Authentication)** へ行き、**認証方法(Authentication method)** で SAML を選択します。
{{ :wiki:pfms-management-setup-setup-authentication.png |saml5.jpg}}
==== サービスプロバイダ設定 ====
サービスプロバイダの設定をするには、最初に [[https://simplesamlphp.org/|SimpleSamlphp]] をダウンロードし、/opt/simplesamlphp/ にインストールします。
/simplesaml の認証管理のために、//endpoint// を設定します。
ln -s /opt/simplesamlphp/www /var/www/html/simplesaml
**authsources /opt/simplesamlphp/config/authsources.php** に SP を追加します。
'test-sp' => [
'saml:SP',
'entityID' => 'http://app.example.com',
'idp' => 'http://172.16.0.3:8080/simplesaml/saml2/idp/metadata.php',
],
IdP メタデータを登録します。
$metadata['http://172.16.0.3:8080/simplesaml/saml2/idp/metadata.php'] = array(
'name' => array(
'en' => 'Test IdP',
),
'description' => 'Test IdP',
'SingleSignOnService' => 'http://172.16.0.3:8080/simplesaml/saml2/idp/SSOService.php',
'SingleLogoutService' => 'http://172.16.0.3:8080/simplesaml/saml2/idp/SingleLogoutService.php',
'certFingerprint' => '119b9e027959cdb7c662cfd075d9e2ef384e445f',
);
certFingerprint の代わりに、直接認証を使用した認証の検証を使用することをお勧めします。
///opt/simplesamlphp/lib/_autoload.php// ファイルが存在することを確認します。
simplesamlphp をインストールしたら、saml でのログインが正しく動作するかを確認します。それには、以下にアクセスし認証元を選択します。
http:///simplesaml/module.php/core/authenticate.php
{{ wiki:saml1.JPG }}
次のようなログイン画面が表示されるので、saml ユーザとパスワードを入力します。
{{ wiki:saml2.JPG }}
正しくログインできると、すべてのユーザ属性を含む概要画面が表示されます。
こちらのガイドも参考にしてください。[[https://simplesamlphp.org/docs/stable/simplesamlphp-sp|SimpleSAMLphp Service Provider QuickStart]].
==== IDプロバイダの設定 ====
SAML ユーザが Pandora FMS で正しく生成されるためには、SAML 設定に表示される次の識別属性をすべてのユーザに定義する必要があります。
{{ wiki:saml3.JPG }}
* **ローカル認証へのフォールバック(Failback to local authentication)**: 無効にすると、saml に存在しないユーザはログインできなくなります(管理者ユーザを除く)。saml に対する認証が失敗した際、このオプションが無効になっているとサーバのデータベース上のアカウントはチェックされません。
* **リモートユーザの自動作成(Automatically create remote users)**: saml を使用した初回ログイン時に、ユーザを自動的に作成します。無効にする場合は、事前に手動でユーザを作成しておく必要があります。
* **SimpleSAML パス(SimpleSAML path)**: **simplesamlphp** がインストールされているディレクトリのパスです。
* **SAML ソース(SAML Source)**: クエリが送られる SAML ソースの名前です。名前は以下で選択したソースにマッチする必要があります。
http:///simplesaml/module.php/core/authenticate.php
* **SAML ユーザ ID 属性(SAML user id attribute)**: ユーザ名として利用される SAML フィールドです。(例: **uid**)
* **SAML メール属性(SAML mail attribute)**: ユーザのメールとして使われる SAML フィールドです。(例: **email**)
* **SAML グループ名属性(SAML group name attribute)**: ユーザグループとして使われる SAML フィールドです。(例: **group1PersionAffiliation**)
* **単一属性/複数属性(Simple attribute / Multivalue attribute)**: ユーザグループのプロファイルとして使われる SAML フィールドです。(例: **nowiki>urn:profile_example:Operator Read**)
**単一属性**の利用を選択した場合は、**プロファイル属性(Profile attribute)** および **タグ属性(Tag attribute)**が表示されます。そこで、Pandora FMS のプロファイルおよびタグにマッチする SAML 属性を選択します。
**複数属性**を選択したときは、以下のフォーマットで属性を指定します。
PREFIX:role:rolename
PREFIX:tag:tagname
属性を SAML で作成し、Pandora FMS の設定を行うと、次のパラメータが表示されます。
{{ wiki:saml4.JPG }}
* **SAML プロファイルおよびタグ属性**: 複数属性の名前。
* **SAML プロファイルおよびタグプレフィックス(SAML profile and tags prefix)**: 値の属性の役割およびタグキーの前につくプレフィックス。urn:artica:role: および urn:artica:tag: の場合、urn:artica プレフィックスを設定する必要があります。
==== ログイン ====
Pandora FMS コンソールへ行き、//ログイン// ボタンをクリックします。ID プロバイダへリダイレクトされます。
{{ wiki:Saml idp.png?800 }}
ログインに成功すると、Pandora FMS コンソールにリダイレクトされ戻ってきます。