ADFS を IDP として使用して ASP.NET Core SAML SSO を構成するためのガイド
概要
ASP.NET Core SAML シングル サインオン (SSO) ミドルウェア を有効にする能力を与えます SAML シングル サインオン ASP.NET Coreアプリケーションにシングルサインオンを使用すると、1つのパスワードだけでアクセスできます。 ASP.NET コアアプリケーション およびサービス。当社のミドルウェアは、すべての SAML準拠のIDプロバイダーここでは、シングルサインオン(SSO)を設定するための手順を段階的に説明します。 ASP.NETコア の三脚と ADFS 考えると ADFS IdP として。
プラットフォームのサポート: ASP.NET Core SAMLミドルウェアは、ASP.NET Core 2.0以降をサポートしています。Windows、Linux、macOSを含むすべてのASP.NET Coreプラットフォームをサポートします。
構成手順
ADFS を ID プロバイダーとして使用する ASP.NET Core SAML SSO のステップ バイ ステップ ガイド。
1. .NET SAMLプラグインダッシュボードにアクセスする
- 統合後、ブラウザを開き、以下の URL でコネクタ ダッシュボードを参照します。
http(s)<your-dotnet-application-base-url>?ssoaction=config
- 登録ページまたはログイン ページがポップアップ表示されたら、アプリケーションに miniOrange SAML SSO ミドルウェアが正常に追加されています。
- をクリックしてアカウントに登録またはログインします。 会員登録する ボタンをクリックしてミドルウェアを設定します。
- 登録が完了すると、登録したメールアドレスに試用ライセンス キーが送信されます。
- ミドルウェアをアクティブ化するには、次のいずれかを実行します。
- 入力する ライセンスキー 指定された入力フィールドに電子メールで受信されます。
- ダウンロードしたライセンスファイルをアップロードするには、 詳細
OR
- 次に、「上記の条件を読み、ミドルウェアを有効化します」のボックスにチェックを入れ、 ライセンス認証
2. .NET アプリケーション メタデータを ADFS ID プロバイダーに提供する
以下に、SAML SP メタデータを取得して ID プロバイダー側で構成する方法が 2 つあります。
A] SAMLメタデータURLまたはメタデータファイルを使用する
- プラグイン設定メニュー、 探す サービスプロバイダーの設定。 その下に、メタデータ URL と SAML メタデータをダウンロードするオプションがあります。
- メタデータ URL をコピーするか、メタデータ ファイルをダウンロードして、ID プロバイダー側で同じものを構成します。
- 以下のスクリーンショットを参照してください。
B] メタデータを手動でアップロードする
- ノーザンダイバー社の サービスプロバイダーの設定 セクションでは、サービスプロバイダのメタデータを手動でコピーすることができます。 SP エンティティ ID、ACS URL、シングル ログアウト URL そして、それを構成のためにアイデンティティプロバイダーと共有します。
- 以下のスクリーンショットを参照してください。
- まず、 ADFS 管理 ADFS サーバー上のアプリケーション。
- ADFS管理で、選択します 依拠当事者の信頼 をクリックします。入力したコードが正しければ、MFAの設定は正常に完了します 依拠当事者の信頼を追加する.
- 選択する クレーム対応 証明書利用者信頼ウィザードから、 をクリックします。 お気軽にご連絡ください
データソースを選択
- [データ ソースの選択] で、証明書利用者信頼を追加するデータ ソースを選択します。
- メタデータURL
- メタデータ XML ファイル
- 手動設定
表示名を指定
- Enter 表示名 とクリック 次へ.
証明書の構成 (プレミアム機能)
- から証明書をダウンロードします。 サービスプロバイダーの「メタデータ」タブ.
- 証明書をアップロードして、 次へ.
URLを構成する
- 選択する SAML 2.0 WebSSO プロトコルのサポートを有効にする オプションと入力 ACSのURL プラグインから サービスプロバイダーのメタデータ タブ。
- ソフトウェアの制限をクリック 次へ.
識別子の構成
- 証明書利用者信頼識別子、追加 SP-EntityID / 発行者 プラグインから サービスプロバイダーのメタデータ タブには何も表示されないことに注意してください。
アクセス制御ポリシーの選択
- 選択する 全員許可 アクセス制御ポリシーとして選択し、 次へ.
信頼を追加する準備ができました
- In 信頼を追加する準備ができました をクリックしてください 次へ その後 閉じる.
請求発行ポリシーの編集
- のリストで 依拠当事者の信頼、作成したアプリケーションを選択し、 をクリックします。 請求発行ポリシーの編集.
- 「発行変換ルール」タブで、 をクリックします。 ルールを追加する
ルールタイプを選択
- 選択する LDAP属性をクレームとして送信する をクリックします。入力したコードが正しければ、MFAの設定は正常に完了します 次へ.
クレームルールの構成
- 加える クレームルール名 選択 属性ストア 必要に応じてドロップダウンから選択します。
- LDAP 属性の発信クレーム タイプへのマッピング, [LDAP 属性] を選択します。 メールアドレス 発信要求タイプとして 名前ID.
- 属性を設定したら、 仕上げ.
- ADFS を IDP として構成した後、次のものが必要になります。 フェデレーションメタデータ サービスプロバイダーを設定します。
-
ADFS フェデレーション メタデータを取得するには、次の URL を使用できます。
https://< ADFS_Server_Name >/federationmetadata/2007-06/federationmetadata.xml - ADFS シングル サインオン (SSO) ログインを実現するために、ADFS を SAML IdP (アイデンティティ プロバイダー) として正常に構成しました。
Windows SSO (オプション)
Windows SSO を設定するには、以下の手順に従ってください。
-
Windows 認証用に ADFS を構成する手順
-
ADFS サーバーで管理者特権のコマンド プロンプトを開き、次のコマンドを実行します。
setspn -a HTTP/##ADFS サーバー FQDN## ##ドメイン サービス アカウント##
- FQDN は完全修飾ドメイン名です (例: adfs4.example.com)
- ドメイン サービス アカウントは、AD のアカウントのユーザー名です。
- 例: setspn -a HTTP/adfs.example.com ユーザー名/ドメイン。
-
ADFS サーバーで管理者特権のコマンド プロンプトを開き、次のコマンドを実行します。
- AD FS 管理コンソールを開き、次をクリックします。 サービス そして、 認証方法 セクション。 右側で、 をクリックします プライマリ認証方法の編集。 イントラネット ゾーンの Windows 認証を確認します。
- Internet Explorer を開きます。 「インターネット オプション」の「セキュリティ」タブに移動します。
- AD FS の FQDN をローカル イントラネットのサイトのリストに追加し、ブラウザーを再起動します。
- セキュリティ ゾーンのカスタム レベルを選択します。 オプションのリストで、「イントラネット ゾーンのみで自動ログオンする」を選択します。
- PowerShell を開き、次の XNUMX つのコマンドを実行して、Chrome ブラウザーで Windows 認証を有効にします。
Set-AdfsProperties -WIASupportedUserAgents ((Get-ADFSProperties | Select -ExpandProperty WIASupportedUserAgents) + "Chrome")
Get-AdfsProperties | Select -ExpandProperty WIASupportedUserAgents;
- Windows 認証用に ADFS が正常に構成されました。
3. .NET アプリケーションで ADFS ID プロバイダー メタデータを構成する
- 以下を行うには、 新しい IDP を追加 新しい ID プロバイダーを構成するためのボタン。
- 下 プラグインの設定 タブ、選択 ADFS 表示されるリストから ID プロバイダーとして選択します。
ミドルウェアで SAML ID プロバイダーのメタデータを構成するには、以下に説明する 2 つの方法があります。
A] [IDP メタデータのアップロード] ボタンを使用してメタデータをアップロードします。
- ID プロバイダーからメタデータ URL またはメタデータ ファイル (.xml 形式のみ) が提供されている場合は、 IDPメタデータのアップロード オプションを選択します。
- メタデータ URL をコピーするか、メタデータ ファイルをダウンロードして、ID プロバイダー側で同じものを構成します。
- 以下のスクリーンショットを参照してください。
- 使用可能なメタデータ形式に応じて、オプションのいずれかを選択できます。
B] ID プロバイダーのメタデータを手動で構成します。
- を構成した後 ID プロバイダー、それはあなたに提供します IDPエンティティID、IDPシングルサインオンURL の三脚と SAML X509証明書 それぞれフィールド。
- 詳しくはこちら Save IDP の詳細を保存します。
4. SAML SSO のテスト
- メタデータの詳細をアップロードした後、 ID プロバイダーの設定 セクション。 アクションの選択 ドロップダウンをクリックして テスト構成.
- 以下のスクリーンショットは、成功した結果を示しています。 クリック SSO統合 SSO 統合をさらに続行します。
- ミドルウェア側でエラーが発生した場合は、以下のようなウィンドウが表示されます。
- エラーのトラブルシューティングを行うには、次の手順に従います。
- 解決します タブで、プラグイン ログを受信するためのトグルを有効にします。
- 有効にすると、次の場所に移動してプラグイン ログを取得できるようになります。 プラグインの設定 タブをクリックしてクリックします テスト構成.
- ダウンロード ログファイル 解決します タブをクリックして、何が問題だったかを確認してください。
- あなたは共有することができます ログファイル 私たちと一緒に aspnetsupport@xecurify.com 私たちのチームが問題を解決するためにご連絡いたします。
5. 属性マッピング
- 構成をテストした後、アプリケーション属性をアイデンティティ プロバイダー (IdP) 属性にマップします。
- miniOrange ASP.NET SAML SSOミドルウェアの左側のメニューから、 属性/役割のマッピング 画像に示すようにタブをクリックします。
- IdPから追加の属性を渡したい場合は、属性名と対応する属性値を入力します。 カスタム属性マッピング.
- 注意: マップされたすべての属性はセッションに保存されるため、アプリケーションでアクセスできるようになります。
- 属性がマッピングされたら、 属性マッピングの保存 変更を適用します。
6. 統合コード
- この手順により、アプリケーション内の SSO ユーザー情報をユーザー クレームの形式で取得できます。
- 見ることもできます セットアップツアー SSO 統合が asp.net ミドルウェア アプリケーションでどのように機能するかを理解します。
- ユーザー属性にアクセスしたい場所に、そのコード スニペットをコピーして貼り付けるだけです。
- 注意: トライアル版ミドルウェアでは、認証されたユーザー情報はデフォルトの.NET Cookie認証を使用してユーザークレームに保存されます。プレミアムプラグインでは、ヘッダーベース、セッションベース、JWTベースの認証を使用したユーザークレームの設定がサポートされています。
- 以下から統合コードをコピーすることもできます。
string name="";
string claimtype="";
string claimvalue="";
if(User.Identity.IsAuthenticated)
{
foreach(var claim in User.claims)
{
claimtype = claim.Type;
claimvalue = claim.Value;
}
//retrive custom attributes(for eg. Retrieve Mapped 'mobileNumber' attribute of your IDP)
var identity = (ClaimsIdentity)User.Identity;
IEnumerable claims = identity.claims;
string mobileNumber = identity.FindFirst("mobileNumber")?.Value;
}
7. ログイン設定
- ホバーオン アクションの選択 をクリックします。入力したコードが正しければ、MFAの設定は正常に完了します SSO リンクをコピーします。
- SSO を実行するアプリケーション内のリンクとして次の URL を使用します。
https://<asp.net-middleware-base-url>/?ssoaction=login
- たとえば、次のように使用できます。
<a href="https://<asp.net-middleware-base-url>/?ssoaction=login">Log
in</a>
8. ログアウト設定
- SLO を実行するアプリケーションへのリンクとして次の URL を使用します。
https://<asp.net-middleware-base-url>/?ssoaction=logout
- たとえば、次のように使用できます。
<a href="https://<asp.net-middleware-base-url>/?ssoaction=logout">Log
out</a>
関連記事
ご返答ありがとうございます。 すぐにご連絡させていただきます。
何か問題が発生しました。 もう一度質問を送信してください
