3.2. Apache HTTPD モジュール mod_auth_mellon
mod_auth_mellon モジュールは、SAML の Apache HTTPD プラグインです。言語/環境が Apache HTTPD をプロキシーとして使用することをサポートしている場合は、mod_auth_mellon を使用して SAML で Web アプリケーションを保護できます。このモジュールの詳細は、GitHub リポジトリー mod_auth_mellon を参照してください。
mod_auth_mellon を設定するには、以下が必要になります。
- アイデンティティープロバイダー (IdP) エンティティー記述子 XML ファイル。Red Hat Single Sign-On または他の SAML IdP への接続を記述します。
- セキュリティー保護するアプリケーションの SAML 接続および設定を記述する SP エンティティー記述子 XML ファイル。
- 秘密鍵 PEM ファイル。これは、アプリケーションがドキュメントの署名に使用するプライベートキーを定義する PEM 形式のテキストファイルです。
- アプリケーションの証明書を定義するテキストファイルである証明書 PEM ファイル。
- mod_auth_mellon 固有の Apache HTTPD モジュール設定。
3.2.1. Red Hat Single Sign-On での mod_auth_mellon の設定 リンクのコピーリンクがクリップボードにコピーされました!
以下の 2 つのホストがあります。
- Red Hat Single Sign-On が実行されているホスト。Red Hat Single Sign-On は SAML アイデンティティープロバイダー (IdP) であるため、$idp_host と呼ばれます。
- Web アプリケーションが実行されているホスト。これは $sp_host と呼ばれます。SAML では、IdP を使用するアプリケーションはサービスプロバイダー (SP) と呼ばれます。
以下のすべての手順は、root 権限で $sp_host で実行する必要があります。
3.2.1.1. パッケージのインストール リンクのコピーリンクがクリップボードにコピーされました!
必要なパッケージをインストールするには、以下が必要です。
- Apache Web Server (httpd)
- Apache の Mellon SAML SP アドオンモジュール
- X509 証明書を作成するツール
必要なパッケージをインストールするには、以下のコマンドを実行します。
yum install httpd mod_auth_mellon mod_ssl openssl
yum install httpd mod_auth_mellon mod_ssl openssl
3.2.1.2. Apache SAML の設定ディレクトリーの作成 リンクのコピーリンクがクリップボードにコピーされました!
Apache の SAML の使用に関連する設定ファイルを 1 つの場所で維持することを推奨します。
Apache 設定の root /etc/httpd の下に、saml2 という名前の新規ディレクトリーを作成します。
mkdir /etc/httpd/saml2
mkdir /etc/httpd/saml2
3.2.1.3. Mellon サービスプロバイダーの設定 リンクのコピーリンクがクリップボードにコピーされました!
Apache アドオンモジュールの設定ファイルは /etc/httpd/conf.d ディレクトリーにあり、ファイル名の拡張子は .conf になります。/etc/httpd/conf.d/mellon.conf ファイルを作成し、Mellon の設定ディレクティブをこれに配置する必要があります。
Mellon の設定ディレクティブは、大まかに 2 つのクラスの情報に分類できます。
- SAML 認証を保護する URL
- 保護された URL が参照された場合に使用される SAML パラメーター。
Apache 設定ディレクティブは通常、場所と呼ばれる URL 領域内の階層ツリー構造に従います。Mellon が保護するには、URL の場所を 1 つ以上指定する必要があります。各場所に適用される設定パラメーターを追加する方法に柔軟性があります。必要なパラメーターをすべてロケーションブロックに追加するか、Mellon パラメーターを特定の保護された場所が継承する URL の場所階層にある共通の場所に追加するかのいずれかを実行できます (またはこの 2 つのなんらかの組み合わせを実行)。どの場所が SAML アクションをトリガーしても、SP は同じように動作するのが一般的であるため、ここで使用する設定例では、一般的な Mellon 設定ディレクティブを階層の root に配置してから、Mellon によって保護される特定の場所を最小限のディレクティブで定義できます。このストラテジーでは、保護されている場所ごとに同じパラメーターが重複しないようにします。
この例には保護された場所が 1 つ (https://$sp_host/private) しかありません。
Mellon サービスプロバイダーを設定するには、以下の手順を実行します。
手順
- 以下の内容で /etc/httpd/conf.d/mellon.conf ファイルを作成します。
上記のコードで参照されるファイルの一部は、後の手順で作成されます。