チュートリアル: Microsoft Entra SSO と FortiGate SSL VPN の統合

このチュートリアルでは、FortiGate SSL VPN を Microsoft Entra ID と統合する方法について説明します。 FortiGate SSL VPN と Microsoft Entra ID を統合すると、次のことができます。

  • Microsoft Entra ID を使用して、FortiGate SSL VPN にアクセスできるユーザーを制御する。
  • ユーザーが自分の Microsoft Entra アカウントを使って FortiGate SSL VPN に自動的にサインインできるようにする。
  • 1 つの中央サイト (Azure Portal) でアカウントを管理できます。

前提条件

開始するには、次が必要です。

  • Microsoft Entra サブスクリプション。 サブスクリプションがない場合は、無料アカウントを取得できます。
  • シングル サインオン (SSO) が有効な FortiGate SSL VPN。

チュートリアルの説明

このチュートリアルでは、テスト環境で Microsoft Entra SSO を構成してテストします。

FortiGate SSL VPN では、SP Initiated SSO がサポートされます。

Microsoft Entra ID への FortiGate SSL VPN の統合を構成するには、ギャラリーからマネージド SaaS アプリの一覧に FortiGate SSL VPN を追加する必要があります。

  1. クラウド アプリケーション管理者以上として Microsoft Entra 管理センターにサインインします。
  2. [ID]>[アプリケーション]>[エンタープライズ アプリケーション]>[新しいアプリケーション] に移動します。
  3. [ギャラリーから追加する] セクションで、検索ボックスに「FortiGate SSL VPN」と入力します。
  4. 結果のパネルで [FortiGate SSL VPN] を選択し、アプリを追加します。 お使いのテナントにアプリが追加されるのを数秒待機します。

または、Enterprise App Configuration ウィザードを使用することもできます。 このウィザードでは、SSO の構成に加えて、テナントへのアプリケーションの追加、アプリへのユーザーとグループの追加、ロールの割り当てを行うことができます。 Microsoft 365 ウィザードの詳細をご覧ください。

FortiGate SSL VPN 用の Microsoft Entra SSO の構成とテスト

B.Simon というテスト ユーザーを使用して、FortiGate SSL VPN に対する Microsoft Entra SSO を構成してテストします。 SSO を機能させるには、Microsoft Entra ユーザーと FortiGate SSL VPN の関連 SAML SSO ユーザー グループとの間にリンク関係を確立する必要があります。

FortiGate SSL VPN で Microsoft Entra SSO を構成してテストするには、これらの大まかな手順に従います。

  1. Microsoft Entra SSO を構成して、この機能をユーザーに対して有効にします。
    1. Microsoft Entra テスト ユーザーを作成する - Microsoft Entra シングル サインオンをテストします。
    2. テスト ユーザーにアクセス権を付与して、そのユーザーに対して Microsoft Entra シングル サインオンを有効にします。
  2. アプリケーション側で FortiGate SSL VPN SSO を構成 します。
    1. Microsoft Entra のユーザーに対応するユーザーとして、FortiGate SAML SSO ユーザー グループを作成します。
  3. SSO をテスト して、構成が正しく機能することを確認します。

Microsoft Entra SSO の構成

Azure portal で、次の手順に従って Microsoft Entra SSO を有効にします。

  1. クラウド アプリケーション管理者以上として Microsoft Entra 管理センターにサインインします。

  2. [ID][アプリケーション][エンタープライズ アプリケーション][FortiGate SSL VPN] アプリケーション統合ページの順に移動し、[管理] セクションで [シングル サインオン] を選択します。

  3. [シングル サインオン方式の選択] ページで、 [SAML] を選択します。

  4. [SAML でシングル サインオンをセットアップします] ページで、[基本的な SAML 構成][編集] ボタンを選択して設定を編集します。

    Screenshot of showing Basic SAML configuration page.

  5. [SAML によるシングル サインオンのセットアップ] ページで、次の値を入力します。

    a. [識別子] ボックスに、https://<FortiGate IP or FQDN address>:<Custom SSL VPN port>/remote/saml/metadata というパターンで URL を入力します。

    b. [応答 URL] ボックスに、https://<FortiGate IP or FQDN address>:<Custom SSL VPN port>/remote/saml/login というパターンで URL を入力します。

    c. [サイン オン URL] ボックスに、https://<FortiGate IP or FQDN address>:<Custom SSL VPN port>/remote/saml/login というパターンの URL を入力します。

    d. [ログアウト URL] ボックスに、https://<FortiGate IP or FQDN address>:<Custom SSL VPN port><FQDN>/remote/saml/logout というパターンで URL を入力します。

    注意

    これらの値は、ただのパターンです。 実際のサインオン URL識別子応答 URL、および FortiGate で構成されているログアウト URL を使用する必要があります。

  6. FortiGate SSL VPN アプリケーションでは、特定の形式の SAML アサーションを使用するため、カスタム属性マッピングを構成に追加する必要があります。 次のスクリーンショットには、既定の属性一覧が示されています。

    Screenshot of showing Attributes and Claims section.

  7. 次の表に、FortiGate SSL VPN に必要な要求を示します。 これらの要求の名前は、このチュートリアルの FortiGate コマンドライン構成の実行に関するセクションで使用されている名前と一致する必要があります。 名前は大文字と小文字が区別されます。

    名前 ソース属性
    username user.userprincipalname
    group user.groups

    これらの追加の要求を作成するには、次の操作を実行します。

    a. [ユーザー属性と要求] の横にある [編集] を選択します。

    b. [新しい要求の追加] を選択します。

    c. [名前] で、ユーザー名を入力します。

    d. [ソース属性] で、user.userprincipalnameを選択します。

    e. [保存] を選択します。

    Note

    [ユーザー属性と要求] では、指定できるグループ要求は 1 つだけです。 グループ要求を追加するには、要求に既に存在する既存のグループ要求 user.groups [SecurityGroup] を削除して新しい要求を追加するか、既存のものを [すべてのグループ] に編集します。

    f. [グループ要求を追加する] を選択します。

    g. [すべてのグループ] を選択します。

    h. [詳細オプション] で、[グループ要求の名前をカスタマイズする] チェック ボックスをオンにします。

    i. [名前] で、グループを入力します。

    j. [保存] を選択します。

  8. [SAML でシングル サインオンをセットアップします] ページの [SAML 署名証明書] セクションで、[証明書 (Base64)] の横にある [ダウンロード] リンクを選択し、証明書をダウンロードして、お使いのコンピューターに保存します。

    Screenshot that shows the certificate download link.

  9. [FortiGate SSL VPN のセットアップ] セクションで、要件に基づいて適切な 1 つまたは複数の URL をコピーします。

    Screenshot that shows the configuration URLs.

Microsoft Entra テスト ユーザーを作成する

このセクションでは、B.Simon というテスト ユーザーを作成します。

  1. Microsoft Entra 管理センターユーザー管理者以上でサインインしてください。
  2. [ID]>[ユーザー]>[すべてのユーザー] の順に移動します。
  3. 画面の上部で [新しいユーザー]>[新しいユーザーの作成] を選択します。
  4. [ユーザー] プロパティで、以下の手順を実行します。
    1. "表示名" フィールドに「B.Simon」と入力します。
    2. [ユーザー プリンシパル名] フィールドに「username@companydomain.extension」と入力します。 たとえば、「 B.Simon@contoso.com 」のように入力します。
    3. [パスワードを表示] チェック ボックスをオンにし、 [パスワード] ボックスに表示された値を書き留めます。
    4. [Review + create](レビュー + 作成) を選択します。
  5. [作成] を選択します。

テスト ユーザーへのアクセス権の付与

このセクションでは、FortiGate SSL VPN へのアクセスを B.Simon に許可することで、このユーザーがシングル サインオンを使用できるようにします。

  1. ID>アプリケーション>エンタープライズ アプリケーション を参照します。
  2. アプリケーションの一覧で [FortiGate SSL VPN] を選択します。
  3. アプリの概要ページの [管理] セクションで、 [ユーザーとグループ] を選択します。
  4. [ユーザーの追加] を選択し、 [割り当ての追加] ダイアログで [ユーザーとグループ] を選択します。
  5. [ユーザーとグループ] ダイアログ ボックスで、ユーザーの一覧で [B.Simon] を選択し、画面の下部にある [選択] ボタンをクリックします。
  6. SAML アサーション内にロール値が必要な場合、 [ロールの選択] ダイアログ ボックスで、一覧からユーザーに適したロールを選択します。 画面の下部にある [選択] ボタンをクリックします。
  7. [割り当ての追加] ダイアログ ボックスで [割り当て] を選びます。

テスト ユーザー用のセキュリティ グループを作成する

このセクションでは、テスト ユーザー用に Microsoft Entra ID にセキュリティ グループを作成します。 FortiGate では、このセキュリティ グループを使用して、VPN 経由のネットワーク アクセスをユーザーに許可します。

  1. Microsoft Entra 管理センターで、[ID]>[グループ]>[新しいグループ] に移動します。
  2. [新しいグループ] のプロパティで、これらの手順を完了します。
    1. [グループの種類] リストで [セキュリティ] を選択します。
    2. [グループ名] ボックスに、「FortiGateAccess」と入力します。
    3. [グループの説明] ボックスに、FortiGate VPN アクセスを許可するグループを入力します。
    4. [Microsoft Entra roles can be assigned to the group (Preview)](Microsoft Entra ロールをグループに割り当てることができる (プレビュー)) 設定には [いいえ] を選択します。
    5. [メンバーシップの種類] ボックスで、 [割り当て済み] を選択します。
    6. [メンバー] には [メンバーが選択されていません] を選択します。
    7. [ユーザーとグループ] ダイアログ ボックスの [ユーザー] の一覧から [B.Simon] を選択し、画面の下部にある [選択] ボタンをクリックします。
    8. [作成] を選択します
  3. Microsoft Entra ID の [グループ] セクションに戻った後、FortiGate Access グループを見つけ、オブジェクト ID を書き留めておきます。この情報は後で必要になります。

FortiGate SSL VPN の SSO の構成

Base64 SAML 証明書を FortiGate アプライアンスにアップロードする

自分のテナントで FortiGate アプリの SAML 構成を完了した後に、Base64 でエンコードされた SAML 証明書をダウンロードしました。 この証明書を FortiGate アプライアンスにアップロードする必要があります。

  1. FortiGate アプライアンスの管理ポータルにサインインします。
  2. 左側のペインで、 [System](システム) を選択します。
  3. [System](システム)[Certificates](証明書) を選択します。
  4. [Import](インポート)>[Remote Certificate](リモート証明書) の順に選択します。
  5. Azure テナントの FortiGate アプリのデプロイからダウンロードした証明書に移動して選択し、 [OK] を選択します。

証明書がアップロードされたら、 [System](システム)>[Certificates](証明書)>[Remote Certificate](リモート証明書) の名前をメモします。 既定では、REMOTE_Cert_N (N は整数値です) という名前です。

FortiGate のコマンドライン構成を実行する

FortiOS 7.0 以降では GUI から SSO を構成できますが、CLI 構成はすべてのバージョンに適用されるため、ここに示します。

これらの手順を完了するには、以前にメモした値が必要になります。

FortiGate SAML の CLI 設定 同等の Azure 構成
SP エンティティ ID (entity-id) 識別子 (エンティティ ID)
SP シングル サインオン URL (single-sign-on-url) 応答 URL (Assertion Consumer Service URL)
SP シングル ログアウト URL (single-logout-url) ログアウト URL
IdP エンティティ ID (idp-entity-id) Microsoft Entra 識別子
IdP シングル サインオン URL (idp-single-sign-on-url) Azure ログイン URL
IdP シングル ログアウト URL (idp-single-logout-url) Azure ログアウト URL
IdP 証明書 (idp-cert) Base64 SAML 証明書名 (REMOTE_Cert_N)
ユーザー名属性 (user-name) username
グループ名属性 (group-name) group

注意

基本的な SAML 構成のサインオン URL は、FortiGate 構成では使用されません。 これは、SP によって開始されるシングル サインオンをトリガーして、ユーザーを SSL VPN ポータル ページにリダイレクトするために使用されます。

  1. FortiGate アプライアンスへの SSH セッションを確立し、FortiGate 管理者アカウントでサインインします。

  2. 以下のコマンドを実行し、<values> を前に収集した情報に置き換えます。

    config user saml
      edit azure
        set cert <FortiGate VPN Server Certificate Name>
        set entity-id < Identifier (Entity ID)Entity ID>
        set single-sign-on-url < Reply URL Reply URL>
        set single-logout-url <Logout URL>
        set idp-entity-id <Azure AD Identifier>
        set idp-single-sign-on-url <Azure Login URL>
        set idp-single-logout-url <Azure Logout URL>
        set idp-cert <Base64 SAML Certificate Name>
        set user-name username
        set group-name group
      next
    end
    

グループ照合のために FortiGate を構成する

このセクションでは、テスト ユーザーを含むセキュリティ グループのオブジェクト ID を認識するように、FortiGate を構成します。 この構成により、FortiGate ではグループ メンバーシップに基づいてアクセスを判断できるようになります。

これらの手順を完了するには、このチュートリアルの前の方で作成した FortiGateAccess セキュリティ グループのオブジェクト ID が必要となります。

  1. FortiGate アプライアンスへの SSH セッションを確立し、FortiGate 管理者アカウントでサインインします。

  2. これらのコマンドを実行します。

    config user group
      edit FortiGateAccess
        set member azure
        config match
          edit 1
            set server-name azure
            set group-name <Object Id>
          next
        end
      next
    end
    

FortiGate VPN ポータルとファイアウォール ポリシーの作成

このセクションでは、FortiGate VPN ポータルと、このチュートリアルの前の方で作成した FortiGateAccess セキュリティ グループへのアクセス権を付与するファイアウォール ポリシーを構成します。

手順については、「SAML IdP として機能する Microsoft Entra ID を使用した SSL VPN の SAML SSO ログインの構成」を参照してください。

SSO のテスト

このセクションでは、次のオプションを使用して Microsoft Entra のシングル サインオン構成をテストします。

  • Azure SSO 構成の手順 5)、*"アプリによるシングル サインオンのテスト" で、[テスト] ボタンをクリックします。 これにより、ログイン フローを開始できる FortiGate VPN のサインオン URL にリダイレクトされます。

  • FortiGate VPN のサインオン URL に直接移動し、そこからログイン フローを開始します。

  • Microsoft マイ アプリを使用することができます。 マイ アプリで [FortiGate VPN] タイルをクリックすると、FortiGate VPN のサインオン URL にリダイレクトされます。 マイ アプリの詳細については、マイ アプリの概要に関するページを参照してください。

次のステップ

FortiGate VPN を構成したら、組織の機密データを流出と侵入からリアルタイムで保護するセッション制御を適用することができます。 セッション制御は、条件付きアクセスを拡張したものです。 Microsoft Defender for Cloud Apps でセッション制御を強制する方法をご覧ください。