この記事は ニフティグループ 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 アプリケーションの追加」を選択します。
先ほどmod_auth_mellonで作成したSPメタデータをアップロードします。
「属性マッピング」で、画像のように ${user:subject}
を入力して、形式は transient
を選択します。
(mod_auth_mellonのデフォルトのNameIDFormatがtransientのようで、別の形式を選択すると上手くいきませんでした。)
「割り当て済みユーザー」で、先ほど作成したテストユーザをアプリケーションに割り当てます。
SP側
mod_auth_mellon を使ってみた にある手順どおりに、
AWS SSOでダウンロードしたIdPメタデータをEC2インスタンス内に配置してApacheを再起動しました。
動作確認
SP Initiated
Webサイトの対象パスにアクセスすると、AWS SSOのログイン画面にリダイレクトされます。
作成済のテスト用のユーザでログインすると、再度Webサイトにリダイレクトされて閲覧することができました。
IdP Initiated
AWS SSOのユーザポータルにアクセスして作成済のテスト用のユーザでログインすると、
AWS SSOに設定したカスタム SAML 2.0 アプリケーションが表示されます。
アプリケーションのアイコンをクリックすると、Webサイトに遷移して閲覧することができました。
おわりに
mod_auth_mellonを使うとかなりお手軽にSAML認証を設定することができました。
また、AWSを利用している場合はAWS SSOも使いやすいと思います。
さて、明日の担当は同僚の @kiwi26 さんです。よろしくお願いします!