📚

【第6回】Azureで社内システム再現(オンプレ編)|ADFS & ShibbolethでSSOを実装④

に公開

概要

「Azureで社内システム再現(オンプレ編)」では、
Azure の IaaS サービスを使って簡単な社内システムを再現します。

機能としては、社員番号を入力して検索ボタンを押すと、
対応する名前を表示するだけのシンプルなものです。

※詳しい全体構成については、【第0回】Azureで社内システム再現(オンプレ編)|構成図と動作の流れで紹介しています。


システム構成(今回の対象範囲)

ADFS_dousa_testsp (1).png

今回は、外部公開されているテスト用 SP サイトと ADFS(IdP)の間に
SAML ベースの信頼関係を構築します。

このテスト SP サイトでは、ログイン後の画面にユーザー情報が表示されるため、
ADFS 側の要求規則(Claim ルール)が正しく動作しているかを確認しやすいのが特長です。

本記事では、以下の作業を実施します。

  • テスト SP サイトが提供するメタデータをダウンロード
  • ADFS に SP メタデータをインポート(証明書利用者信頼の追加)
  • 要求規則を作成し、Active Directory の属性を SP に渡す
  • IdPメタデータを SP サイトにアップロード

テスト SP サイトの紹介

今回使用するのは、以下の外部公開されたテスト用 SAML SP サイトです。

🔗 https://sptest.iamshowcase.com/

スクリーンショット 2025-04-14 11.57.30.png

このサイトは、SAML 認証の動作確認を目的としたサービスプロバイダ(SP)です。
IdP(ADFSなど)と連携することで、SAML アサーションの内容を画面上に表示してくれるため、
要求規則(Claim ルール)の動作確認に適しています。

ログインが成功すると、ユーザー名やアサーションの属性値がそのままブラウザに表示されます。
そのため、ADFS から送信される属性情報(SAM-Account-Name など)が正しく受け渡されているかどうかを
視覚的に確認することができます。


1. テストSPサイトのメタデータをダウンロード

テストSPサイト(https://sptest.iamshowcase.com/)から、ADFS 連携用のメタデータを取得します。


IDP initiated SSO を選択

画面上部のメニュー「Instructions」から「IDP initiated SSO」を選択します。

スクリーンショット 2025-04-08 15.32.38.png

IDP initiated SSO と SP initiated SSO の違い**

  • IDP initiated SSO:IdP(今回は ADFS)から認証処理を開始する構成
  • SP initiated SSO:SP 側のサービスからアクセスが始まり、そこから IdP にリダイレクトされる構成

メタデータのダウンロード

表示されたページ内の「DOWNLOAD METADATA」ボタンをクリックします。

スクリーンショット 2025-04-08 19.49.19.png

クリックすると、テストSPが提供するメタデータ(XML形式)がブラウザ上に表示されます。


メタデータファイルを保存

ブラウザ上に表示された XML ファイルを右クリックし、「名前を付けて保存」を選択します。

今回は、testsp_metadata.xml というファイル名で保存しました。
スクリーンショット 2025-04-08 19.49.56.png


2. ADFS にメタデータをインポート(証明書利用者信頼の追加)

ダウンロードしたテストSPのメタデータを ADFS にインポートし、
証明書利用者信頼(Relying Party Trust)として登録します。


メタデータファイルの指定

ウィザードを起動し、「証明書利用者についてのデータをファイルからインポートする」を選択します。
保存しておいたメタデータファイル(例:testsp_metadata.xml)を指定します。

スクリーンショット 2025-04-08 15.55.48.png


表示名の設定

証明書利用者の表示名を設定します。
ここでは Test-SP としました。

スクリーンショット 2025-04-08 15.56.02.png


登録完了の確認

設定が完了すると、ADFS の「証明書利用者信頼」に Test-SP が追加されていることが確認できます。

スクリーンショット 2025-04-08 15.56.17.png


3. クレームルール(要求規則)の設定

テスト SP サイトでは、IdP から送信された属性情報(クレーム)をログイン後の画面で確認できるようになっています。
そのため、今回は学習目的として、Active Directory の属性を 1 つ SP に渡すルールを作成します。


クレームルールの作成

以下の画面では、Active Directory の sAMAccountName 属性を「名前 ID」として送信するルールを構成しています。

  • 規則テンプレート:LDAP 属性を要求として送信
  • 属性ストア:Active Directory
  • LDAP 属性:SAM-Account-Name
  • 出力方向の要求の種類:名前 ID

スクリーンショット 2025-04-08 16.01.20.png

この設定により、ユーザーが SSO でログインした際、
sAMAccountName(例:user01)が「名前 ID」として SP に送信され、ログイン後画面に表示されます。


4. ADFS メタデータを SP サイトにアップロード(SP Initiated SSO の構成)

SP Initiated SSO(SP起点のシングルサインオン)を構成するために、テスト用 SP サイトに ADFS のメタデータをアップロードします。これにより、テストサイトからの認証リクエストに ADFS が応答できるようになります。


SP Initiated SSO の設定ページを開く

テスト SP サイト(https://sptest.iamshowcase.com)にアクセスし、メニューから
Instructions > SP initiated SSO を選択します。

スクリーンショット 2025-04-08 15.32.38.png


ADFS のメタデータをアップロード

次に、ADFS からダウンロードしたメタデータファイル(FederationMetadata.xml)をアップロードします。

CHOOSE FILE ボタンを押してファイルを選択し、SUBMIT FILE をクリックします。

スクリーンショット 2025-04-08 15.33.08.png


テスト SP の専用アクセス URL を取得

アップロードが成功すると、SP Initiated SSO に使用する 専用URL が生成されます。
この URL にアクセスすることで、SAML 認証フローが開始されます。

https://sptest.iamshowcase.com/ixs?idp=xxxxxxxxxxxxxxxxxxxxxxxxxxxx

スクリーンショット 2025-04-08 15.51.22.png


Discussion