====== Pandora FMS での SAML シングルサインオン ======
{{indexmenu_n>12}}
[[ja:documentation:start|Pandora FMS ドキュメント一覧に戻る]]
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
''/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** でのログインが正しく動作するかを確認します。これを行うには、次の IP アドレスにアクセスし、認証ソースを選択します。
http:///simplesaml/module.php/core/authenticate.php
{{ :wiki:saml1.jpg |saml1.jpg}}
次のような//ログイン//画面が表示されるので、**SAML** ユーザとパスワードを入力します。
{{ :wiki:saml_idp.png?nolink& |saml2.jpg}}
正しくログインできると、すべてのユーザ属性を含む概要画面が表示されます。
こちらのガイドも参考にしてください。[[https://simplesamlphp.org/docs/stable/simplesamlphp-sp|SimpleSAMLphp Service Provider QuickStart]].
===== IDプロバイダの設定 =====
SAML ユーザが Pandora FMS で正しく生成されるためには、SAML 設定に表示される次の識別属性をすべてのユーザに定義する必要があります。
* **ローカル認証へのフォールバック(Failback to local authentication)**: 無効にすると、saml に存在しないユーザはログインできなくなります(管理者ユーザを除く)。saml に対する認証が失敗した際、このオプションが無効になっているとサーバのデータベース上のアカウントはチェックされません。
* **リモートユーザの自動作成(Automatically create remote users)**: saml を使用した初回ログイン時に、ユーザを自動的に作成します。無効にする場合は、事前に手動でユーザを作成しておく必要があります。
* **SimpleSAML パス(SimpleSAML path)**: **simplesamlphp** がインストールされているディレクトリのパスです。
* **SAML ソース(SAML Source)**: クエリが送られる SAML ソースの名前です。名前は以下で選択したソースにマッチする必要があります。
http://< IP_ADDRESS >/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**)
* **プロファイル属性(Profile attribute)**: ユーザグループのプロファイルとして使用される SAML フィールドです。(例: **urn:profile_example:Operator Read**)
* **単一属性/複数属性(Simple attribute / Multivalue attribute)**: ユーザグループのプロファイルとして使われる SAML フィールドです。(例: **nowiki>urn:profile_example:Operator Read**)
**単一属性(Simple attribute)**の利用を選択した場合は、**プロファイル属性(Profile attribute)** および **タグ属性(Tag attribute)**が表示されます。そこで、Pandora FMS のプロファイルおよびタグにマッチする SAML 属性を選択します。
**複数属性(Multivalue attributes)**を選択したときは、以下のフォーマットで属性を指定します。
PREFIX:role:rolename
PREFIX:tag:tagname
属性を SAML で作成し、Pandora FMS の設定を行うと、次のパラメータが表示されます。
{{ wiki:saml4.JPG }}
* **SAML プロファイルおよびタグ属性**: 複数属性の名前。
* **SAML プロファイルおよびタグプレフィックス(SAML profile and tags prefix)**: 値の属性の役割およびタグキーの前につくプレフィックス。''urn:pfms:role:< rolename >'' および ''urn:pfms:tag:'' の場合、''urn:pfms'' プレフィックスを設定する必要があります。
===== ログイン =====
Pandora FMS コンソールへ行き、//ログイン// ボタンをクリックします。ID プロバイダへリダイレクトされます。
{{ wiki:Saml idp.png?800 }}
ログインに成功すると、Pandora FMS コンソールにリダイレクトされ戻ってきます。
[[ja:documentation:start|Pandora FMS ドキュメント一覧に戻る]]