SAML SPをつくろう 【mod_auth_mellon編】
schedule 2018/12/28 refresh 2024/04/16
目的
mod_auth_mellonを使用してSAML Service Provider (SAML SP)を構築しSeciossLinkからSSOを実現する。
前提
CentOS 7.6 のインストールと初期設定が完了していること
SeciossLinkが利用可能であること(こちらから申し込みできます。)
検証用のSeciossLinkテナントは example.com とします。
構築手順
1.環境設定
CentOSにmod_auth_mellonと必要なモジュールをインストールします。
# yum install mod_auth_mellon # yum install mod_ssl # yum install mod_php |
※ mod_php は テストページ用にインストールします。
2.SAML SP設定ファイルの作成
SAMLメタデータ用のディレクトリとメタデータを作成します。
SAML SPエンティティIDを https://centos76.int.secioss.work/samlsp
エンドポイントを https://centos76.int.secioss.work/mellon とします。
|
コマンドを実行すると、SAMLで使う証明書やメタデータのファイル名とエンドポイントのURLが出力されます。
これらの値は httpd の設定ファイルやSeciossLinkの設定時に使うのでメモしておきます。
|
SAML IDPメタデータをダウンロードします。
(クエリーストリングのtenantにはテナントIDを設定してください。)
|
3.Apache httpdの設定
作成した メタデータなどを httpd の設定ファイルに設定します。
メタデータと証明書のファイル名は「2.」で出力した値を使用します。
|
|
※ /app はテストページのパスです。
httpd を起動します。
|
必要でしたらファイアーウォールで通信を許可してください。
|
4.SeciossLinkの設定
SeciossLinkの管理画面にログインし、SAML SPの新規登録を行います。
項目名 |
設定値 |
サービスID | mellon ※任意の値 |
サービス名 | mellon ※任意の値 |
エンティティID | https://centos76.int.secioss.work/samlsp ※SAML SPメタデータ設定時に使用した値を設定します |
Assertion Consumer Service | https://centos76.int.secioss.work/mellon/postResponse ※SAML SPエンドポイントのURLを設定します |
ログアウトURL | https://centos76.int.secioss.work/mellon/logout ※SAML SPエンドポイントのURLを設定します |
アクセス先URL | https://centos76.int.secioss.work/app/ ※テストページのURLを設定します |
IDの属性 | urn:oasis:names:tc:SAML:2.0:nameid-format:persistent |
登録したSAML SPをユーザーに割り当てます。
5.動作確認
テスト用ページの作成します。
|
|
mod_auth_mellonで認証後、ユーザIDはApache環境変数の MELLON_NAME_ID に設定されているので、それを表示しています。
ブラウザでアクセスURLにアクセスすると、SeciossLinkのログイン画面にリダイレクトされ、
ログインすると以下のような画面が表示されます。
https://centos76.int.secioss.work/app/
このようにmod_auth_mellonを使うと簡単にSAML対応のWebサイトを簡単に構築できます。
それではまた。