こんにちは。
Nozomi Networks製品を担当している木村と申します。
今回はActive Directory フェデレーションサービス(ADFS)とGuardianを連携して、SSO環境を構築したいと思います。
本件、たまにお問い合わせいただく内容ですので、ご参考になれば幸いです。
ADFSはWindows Server 2022のものを使用しました。
ADFSのインストールについて分かりやすいサイトを見つけましたので、以下紹介させていただきます。
https://cloudinfrastructureservices.co.uk/how-to-install-adfs-on-windows-server-2022/
管理>設定のユーザーをクリックして、SAMLタブをクリックします。
Nozomi URL : https://<GuardianのIPアドレス> を入力します。
SAMLロール属性キー: http://schemas.microsoft.com/ws/2008/06/identity/claims/role を入力します。
メタデータXML: 以下のURLに接続し、ADFSからダウンロードしたファイルをアップロードします。
https://<ADFSのIPアドレス>/FederationMetadata/2007-06/FederationMetadata.xml
証明書利用者信頼の追加を行います。
要求に対応するにチェックを入れて開始をクリックします。
証明書利用者についてのデータをファイルからインポートするにチェックをいれます。
以下のURLに接続し、Guardianから取得したメタデータをアップロードします。
https://<GuardianのIP>/saml/metadata
表示された文字列をメモ帳にコピペするなどしてください。
表示名に適当な値を入力して次へをクリックします。
今回はデフォルトのまま次へをクリックします。
次へをクリックします。
閉じるをクリックします。
次に要求発行ポリシーを設定していきます。規則の追加をクリックして以下の規則を設定します。
グループメンバーシップを要求として送信を選択して次へをクリックします。
今回は、Domain Usersグループに所属するユーザーでログインした場合に、Guardian上でadminsグループの権限を与えるように設定します。
次にLDAP属性を要求として送信を選択して次へをクリックします。
次のように設定します。
最後に、カスタム規則を使用して要求を送信を選んで次へをクリックします。
次のように設定します。
カスタム規則:
c:[Type == "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier"]
=> issue(Type = "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier", Issuer = c.Issuer, OriginalIssuer = c.OriginalIssuer, Value = c.Value, ValueType = c.ValueType, Properties["http://schemas.xmlsoap.org/ws/2005/05/identity/claimproperties/format"] = "urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress");
次のように設定できたら設定完了です。OKをクリックします。
Guardianのログイン画面にはSingle Sign On ボタンが増えています。
Single Sign Onをクリックすると、ADFSの画面が開きます。
Domain Usersに所属するアカウントを入力してサインインをクリックします。
無事Guardianにログインできました。
うまく動作しない場合はWebブラウザのアドオンでSAMLをトレースするツールがあります。切り分けにお勧めです。
https://chrome.google.com/webstore/detail/saml-tracer/mpdajninpobndbfcldcmbpnnbhibjmch
GuardianとADFSを使ってSSO環境を構築することができました。
SAMLはクラウドサービスが流行りだしてから、よく使われるようになった印象です。
GuardianのログインもSAMLを使用して一元管理、SSO化してみてはいかがでしょうか。