この例では、ユーザーは Microsoft Azure Active Directory (AD) を通じて管理されます。 FortiGate は、送信トラフィックの SSO ファイアウォール認証用に構成されており、認証は SAML ID プロバイダー (IdP) として Azure AD によって実行されます。
SAML インタラクションは次のように発生します。
-
ユーザーはインターネットへの Web トラフィックを開始します。
-
FortiGate は、ローカルのキャプティブ ポータル ポート (デフォルトは 1003) にリダイレクトし、ユーザーを SAMLIdP にリダイレクトします。
-
ユーザーは、SAML 認証要求のために Microsoft ログイン ページに接続します。
-
SAMLIdP は、ユーザーとグループを含む SAML アサーションを送信します。
-
ブラウザは SAMLassertion を SAMLSP に転送します。
-
ユーザーとグループが FortiGate によって許可されている場合、ユーザーはインターネットにアクセスできます。
この環境例では、ファイアウォールというセキュリティ グループに属するユーザーが Azure AD に追加されます。
-
ユーザー名: ジョン・ローカス
-
ユーザー ログイン: jlocus@azure.kldocs.com
-
グループ: ファイアウォール (ID 62b699ce-4f80-48c0-846e-c1dfde2dc667)
目標は、ファイアウォール グループのユーザーがファイアウォール認証を通過した後にインターネットにアクセスできるようにすることです。
Azure AD の構成
次の Azure AD 構成は、FortiGate をエンタープライズ非ギャラリー アプリケーションとして追加する方法を示しています。このアプリケーションは、Azure AD IdP への SAML SSO 接続を提供します。一部の手順は FortiGate 上で同時に実行されます。
![]() | この例は、Azure AD の無料層ディレクトリを使用して構成されています。この層の Azure でのユーザー管理には、他の層では制限されていない制限がある場合があります。に相談してください。Microsoft Azure AD詳細については、ドキュメントを参照してください。 |
Azure AD を構成するには、次の 3 つの手順があります。
-
新しいエンタープライズ アプリケーションを作成する。
-
アプリケーションとFortiGateでSAML SSO設定を構成する。
-
Azure AD ユーザーとグループをアプリケーションに割り当てる。
新しいエンタープライズ アプリケーションを作成するには、次の手順を実行します。
-
Azure ポータルにログインします。
-
Azure ポータルのメニューで、 をクリックします。Azure Active Directory。
-
左側のメニューに移動します「管理」>「エンタープライズアプリケーション」。
-
クリック新しいアプリ。
See Alsoプライベート エンドポイントとは何ですか? - Azure プライベート リンクマネージド インスタンス - 作成または更新 - REST API (Azure SQL Database) -
クリック独自のアプリケーションを作成する。
-
アプリケーションの名前を入力します (SAML-FW-認証) を選択してくださいギャラリーにない他のアプリケーション (ギャラリー以外) を統合します。。
-
クリック作成。
アプリケーションとFortiGateでSAML SSO設定を構成するには:
![]() | この手順では、Azure と FortiGate GUI の間を行ったり来たりする必要があります。手順全体の間、FortiGate GUI を開いたままにしておきます。 |
-
でエンタープライズアプリケーションの概要ページ、に移動します「管理」>「シングルサインオン」そして選択しますSAMLシングルサインオン方式として。
-
の基本的な SAML 構成Azure のセクションでは、Azure が参照する SAML SP エンティティとリンクについて説明します。 FortiGate でこれらの設定を構成するには、新しい SAML サーバー オブジェクトを作成し、SP アドレスを定義します。 SP (IP または FQDN) アドレスは、ファイアウォールに対して認証しているユーザーがアクセスできる必要があります。使用されるポートは、FortiGate ファイアウォール認証キャプティブ ポータルで使用されるポートと一致する必要があります。デフォルトでは、これは HTTPS のポート 1003 です。キャプティブ ポータルを個別に構成する必要はありません。
-
に行くユーザーと認証 > シングル サインオンそしてクリックしてください新しく作る。
-
入力します名前SAML オブジェクトの場合、Azure-AD-SAML。
-
を入力SPアドレス、10.1.0.1:1003。 3 つの SPURL は自動的に設定されます。
-
-
アズールでは、SAML を使用したシングル サインオンのセットアップページで、次の URL を FortiGate から基本的な SAML 構成セクション:
フォーティゲートから
アズールフィールドへ
SPエンティティID(http://10.1.0.1:1003/remote/saml/metadata/)
識別子(エンティティID)、 に設定デフォルト
SPシングルサインオンURL(https://10.1.0.1:1003/remote/saml/login/)
返信URLとサインオン URL
SPシングルログアウトURL(https://10.1.0.1:1003/remote/saml/logout/)
ログアウトURL
-
クリック保存。
-
下SAML署名証明書セクションで、Base64 証明書をダウンロードします。
-
FortiGate 上の Azure から証明書を IdP 証明書としてインポートします。
-
に行くシステム > 証明書そしてクリックしてください[作成/インポート] > [リモート証明書]。
-
Azure から証明書をアップロードし、クリックします。OK。新しい証明書がリモート証明書名前の付いたセクションREMOTE_証明書_(N)。
-
必要に応じて、CLI で証明書の名前を変更して、よりわかりやすい名前を付けます。
config vpn 証明書リモート REMOTE_Cert_3 を AZURE_AD_SAML_FWend に名前変更します
-
-
の中に<アプリケーション名をセットアップします> セクションで、URL を Azure から FortiGate にコピーします。IdPの詳細セクション:
-
FortiGate で、 をクリックします。次。
-
ためにIdP タイプ、 選択するカスタムAzure から対応するフィールドに次の内容をコピーします。
アズールから
FortiGateフィールドへ
Azure AD 識別子
IdPエンティティID
ログインURL
IdPシングルサインオンURL
ログアウトURL
IdPシングルログアウトURL
-
ためにIdP証明書で、前にインポートしたリモート証明書を選択します。
-
-
Azure で、ユーザーの属性とクレームセクション。属性は SAML アサーションで返され、FortiGate がユーザーとグループを検証するために使用します。グループ一致の構成はオプションです。
-
クリック新しいクレームを追加する、 それに名前を付けますユーザー名を設定し、ソース属性にユーザー.表示名。ソース属性には、関連するユーザー名フィールドのいずれかを指定できます。 FortiGate に返されたユーザー名の値は、ユーザーを識別するためにログとモニターで使用されます。
-
クリック保存。
-
クリックグループの主張を追加するそしてその中でグループの主張ペイン、選択すべてのグループ。
-
の高度なオプション、 選択するグループクレームの名前をカスタマイズする。名前を設定しますグループ。
-
クリック保存。のユーザーの属性とクレームセクションにアップデート設定が表示されます。
-
-
FortiGate で、追加の SAML 属性Azure で作成されたユーザー名とグループが含まれるセクション:
-
ためにユーザーを識別するために使用される属性、 入力ユーザー名。
-
ためにグループを識別するために使用される属性、 入力グループ。
-
クリック送信。
-
Azure AD ユーザーとグループをアプリケーションに割り当てるには:
-
Azure では、次の場所に移動します。「管理」>「ユーザーとグループ」そしてクリックしてくださいユーザー/グループの追加。
-
クリックユーザーユーザーまたはグループを選択します (ジョン・ローカスこの例では が選択されています)。
-
クリック割当をクリックして割り当てを追加します。
FortiGate の構成
ユーザー グループ、ユーザー認証設定、およびファイアウォール ポリシーを FortiGate で構成する必要があります。
ユーザーグループの設定
という名前のユーザーグループAzure-FW-認証メンバーと一緒に作っていきますAzure-AD-SAML。
グループマッチングの設定はオプションであり、オブジェクトIDAzure からのが必要です設定の一致
設定。 Azure のデフォルト ディレクトリで、次の場所に移動します。「管理」>「グループ」そして、オブジェクトIDのためにファイアウォールグループ。
ユーザーグループを設定するには:
構成ユーザー グループ編集 "Azure-FW-Auth" セット メンバー "Azure-AD-SAML" 構成一致編集 1 セット サーバー名 "Azure-AD-SAML" セット グループ名 "62b699ce-4f80-48c0-846e-c1dfde2dc667"次の終わり 次の終わり
ユーザー認証の設定をする
ユーザーがトラフィックを開始すると、FortiGate はユーザーを SAML IdP ポータルにリダイレクトする前に、ファイアウォール認証キャプティブ ポータルにリダイレクトします。 SAML IdP が SAML アサーションで応答すると、ユーザーは再びファイアウォール認証キャプティブ ポータルにリダイレクトされます。ファイアウォール ポータルの証明書がユーザーによって信頼されていない場合、ユーザーは証明書の警告を受け取ります。証明書の警告を回避するには、ユーザーが信頼するカスタム証明書を使用してください。
カスタム証明書を構成するには:
-
に行くユーザーと認証 > 認証設定。
-
ために証明書、カスタム証明書を選択します。カスタム証明書の SAN フィールドには、SP URL からの FQDN または IP が含まれている必要があります。
あるいは、CA 証明書を割り当てると、FortiGate がポータル ページの証明書を自動的に生成して署名できるようになります。これにより、割り当てられたサーバー証明書が上書きされます。この例では、組み込みの Fortinet_CA_SSL が使用されます。
CA 証明書を割り当てるには:
-
ユーザー設定を編集します。
構成ユーザー設定 set auth-ca-cert "Fortinet_CA_SSL"end
-
に行くシステム > 証明書そして証明書をダウンロードします。
-
証明書をクライアントの証明書ストアにインストールします。
ファイアウォールポリシーの構成
ファイアウォール ポリシーは、ユーザー認証を適用しながら、FortiGate の背後にいるユーザーが認証なしで Microsoft ログイン ポータルにアクセスできるように構成する必要があります。
ファイアウォール ポリシーを構成するには、次の手順を実行します。
-
Microsoft Azure インターネット サービスへのトラフィックを許可するポリシーを構成します。
-
に行くポリシーとオブジェクト > ファイアウォール ポリシーそしてクリックしてください新しく作る。
-
次のように入力します:
名前
LAN-to-AuthPortal
受信インターフェース
ポート3
発信インターフェース
下敷き
ソース
全て
行き先
マイクロソフトとアズール(下インターネットサービス)
スケジュール
いつも
サービス
全て
アクション
受け入れる
NAT
有効にして選択しますNAT。
許可されたトラフィックをログに記録する
有効にして選択しますすべてのセッション。
-
必要に応じて他の設定を構成します。
-
クリックOK。
-
-
ユーザー認証を適用するポリシーを構成します。
-
クリック新しく作る次のように入力します。
名前
LAN認証ポリシー
受信インターフェース
ポート3
発信インターフェース
下敷き
ソース
全て、Azure-FW-認証
行き先
全て
スケジュール
いつも
サービス
全て
アクション
受け入れる
NAT
有効にして選択しますNAT。
許可されたトラフィックをログに記録する
有効にして選択しますすべてのセッション。
-
必要に応じて他の設定を構成します。
-
クリックOK。
-
クライアントから接続する
クライアントがブラウザからインターネットに接続すると、Microsoft ログイン ページにリダイレクトされ、Azure AD に対して認証されます。 FortiGate の認証ポータル証明書をクライアントにインストールする必要があります。
クライアントから接続するには:
-
クライアントでブラウザ (Firefox など) を開き、Web サイトにアクセスします。ユーザーは Microsoft ログイン ページにリダイレクトされます。
-
ユーザーの資格情報を入力します。
-
ログイン試行が成功すると、ユーザーはインターネットへのアクセスが許可されます。
ログと診断の表示
ユーザーのログインを確認するには、次のサイトにアクセスしてください。ダッシュボード > アセットとアイデンティティそして、ファイアウォールユーザーウィジェットを使用するか、CLI で次のように入力します。
# ファイアウォール認証リスト 10.1.0.100 を診断します。ジョン・ローカスsrc_mac: 02:09:0f:00:03:03 タイプ: fw、id: 0、期間: 152、アイドル: 7 有効期限: 292、許可アイドル: 300 サーバー:Azure-AD-SAMLパケット: 入力 2097 出力 932、バイト: 入力 2208241 出力 143741 group_id: 2 group_name:Azure-FW-認証----- 1 件がリストされ、0 件がフィルタリングされました -------
ユーザーのログイン ログを確認するには、次の場所に移動します。ログ&レポート>システムイベントそして、ユーザーイベントカードを選択するか、CLI で次のように入力します。
# ログ フィルタ カテゴリを実行します。event# ログ フィルタ フィールドのサブタイプを実行します。user# ログ フィルタを実行します。17 件のログが見つかりました。10 件のログが返されました。7: date=2021-09-30 time=09:49:25eventtime=1633020565577584390 tz="-0700" logid="0102043039" type="event" subtype="user" level="notice" vd="root" logdesc="認証ログオン"srcip=10.1.0.100 user="ジョン・ローカス" authserver="Azure-AD-SAML"action="auth-logon" status="logon" msg="ユーザー John Locus が認証ログオンに追加されました"8: date=2021-09-30 time=09:49:25eventtime=1633020565577075629 tz="-0700" logid= "0102043008" type="イベント" subtype="ユーザー" レベル="通知" vd="ルート"logdesc="認証成功" srcip=10.1.0.100 dstip=10.1.0.1ポリシー ID = 11 インターフェイス = "ポート 3"user="ジョン・ローカス" group="Azure-FW-Auth"authproto="HTTPS(10.1.0.100)" action="authentication" status="success"reason="N/A" msg="ユーザー John Locus は認証に成功しました"
Azure AD でのユーザー認証は成功したが、そのグループが FortiGate ユーザー グループで定義されたものと一致しない場合、ユーザーはファイアウォール認証に失敗しましたブラウザ内のメッセージ。ログも記録されます。
# ログフィルターカテゴリ実行event# ログフィルターフィールドサブタイプ実行user# ログ表示実行1: date=2021-09-30 time=10:39:35eventtime=1633023575381139214 tz="-0700" logid="0102043009" type="イベント" サブタイプ="ユーザー" レベル="通知" vd="ルート" logdesc="認証に失敗しました" srcip=10.1.0.100 dstip=10.1.0.1 ポリシーid=11 インターフェイス="ポート3"ユーザー="アダム・トンプソン"group="N/A" authproto="HTTPS(10.1.0.100)" action="認証" status="失敗"reason="認証応答に一致する SAML ユーザー名またはグループ名がありません"msg="ユーザー アダム・トンプソンは認証に失敗しました"
ユーザーが次のエラー メッセージを受け取った場合、これはユーザーがエンタープライズ アプリケーションに割り当てられていないことを意味します。SAML-FW-認証アズールで。
SAML 問題をトラブルシューティングするには:
# デバッグ アプリケーションを診断 samld -1# デバッグを有効に診断