LoginSignup
9
3

More than 3 years have passed since last update.

mod_auth_mellonとAWS SSOでSAML認証

Posted at

この記事は ニフティグループ Advent Calendar 2020 の9日目の記事です。

昨日は @mh326 さんの「【VSCode】複数のコマンドを一つのキーで実行したい」でした。
便利な機能の紹介ありがとうございます。
エディタやIDEを自分好みにカスタマイズするのって楽しいですよね。

はじめに

今年に入ってからリモートワークをする機会が増えました。
これまで特定の場所からの利用が前提となっていたWebサイトやツールにSSOできたら楽だなーと思い、ApacheのSAMLモジュールであるmod_auth_mellonと、AWS SSOをIdPに利用してSAML認証をやってみました。

SP側

環境

ApacheをインストールしたAWS EC2インスタンス(Amazon Linux2)をELB配下に配置し、
SAML認証に対応させるWebサイトを用意しました。

mod_auth_mellon

mod_auth_mellon を使ってみた を参考にさせていただき、
上記のEC2インスタンスにmod_auth_mellonを導入して、SPメタデータを作成しました。

IdP側

環境

東京リージョンでAWS SSOを有効化し、テスト用のユーザを作成しました。

AWS SSO

ドキュメント を参考にして、カスタム SAML 2.0 アプリケーションを作成していきます。

「カスタム SAML 2.0 アプリケーションの追加」を選択します。
スクリーンショット 2020-12-08 21.58.59.png

設定画面で、IdPメタデータをダウンロードします。
スクリーンショット 2020-12-08 22.04.07.png

先ほどmod_auth_mellonで作成したSPメタデータをアップロードします。
スクリーンショット 2020-12-08 22.07.25.png

「属性マッピング」で、画像のように ${user:subject} を入力して、形式は transient を選択します。
(mod_auth_mellonのデフォルトのNameIDFormatがtransientのようで、別の形式を選択すると上手くいきませんでした。)
スクリーンショット 2020-12-08 22.09.24.png

「割り当て済みユーザー」で、先ほど作成したテストユーザをアプリケーションに割り当てます。
スクリーンショット 2020-12-08 22.13.43.png

SP側

mod_auth_mellon を使ってみた にある手順どおりに、
AWS SSOでダウンロードしたIdPメタデータをEC2インスタンス内に配置してApacheを再起動しました。

動作確認

SP Initiated

Webサイトの対象パスにアクセスすると、AWS SSOのログイン画面にリダイレクトされます。
スクリーンショット 2020-12-08 22.19.17.png

作成済のテスト用のユーザでログインすると、再度Webサイトにリダイレクトされて閲覧することができました。

IdP Initiated

AWS SSOのユーザポータルにアクセスして作成済のテスト用のユーザでログインすると、
AWS SSOに設定したカスタム SAML 2.0 アプリケーションが表示されます。
スクリーンショット 2020-12-08 22.22.53.png

アプリケーションのアイコンをクリックすると、Webサイトに遷移して閲覧することができました。

おわりに

mod_auth_mellonを使うとかなりお手軽にSAML認証を設定することができました。
また、AWSを利用している場合はAWS SSOも使いやすいと思います。

さて、明日の担当は同僚の @kiwi26 さんです。よろしくお願いします!

9
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
3