ADFS(Active Directory Federation Services)とは何ですか?


77

そのため、PHPアプリケーションはADFSを使用した認証をサポートする必要があるかもしれないと言われました。

  1. マイクロソフト以外の人にとって、ADFSとは何ですか?

  2. LDAPのようなものとどう違うのですか?

  3. どのように機能しますか?ADFSサーバーへの一般的な要求には、どのような情報が含まれますか?認証と承認の両方のために設計されていますか?

  4. ADFSサーバーは通常、インターネットからアクセスできますか(一方、企業のADドメインコントローラーにはアクセスできません)。

Technetのドキュメントをいくつか読んでみましたが、Microsoftの言葉でいっぱいで、あまり役に立ちません。

Wikipediaの方が優れています(以下を参照)が、ServerFaultコミュニティの一部はギャップを埋めることができます。

Active Directoryフェデレーションサービス(ADFS)は、Microsoftが開発したソフトウェアコンポーネントで、Windows Serverオペレーティングシステムにインストールして、組織の境界を越えて配置されたシステムおよびアプリケーションへのシングルサインオンアクセスをユーザーに提供できます。クレームベースのアクセス制御承認モデルを使用して、アプリケーションのセキュリティを維持し、フェデレーションIDを実装します。

クレームベース認証は、信頼されたトークンに含まれるIDに関するクレームセットに基づいてユーザーを認証するプロセスです。

ADFSでは、2つのセキュリティレルム間の信頼を確立することにより、2つの組織間でIDフェデレーションが確立されます。片側(アカウント側)のフェデレーションサーバーは、Active Directoryドメインサービスの標準的な方法でユーザーを認証し、ユーザーに関する一連の要求(そのIDを含む)を含むトークンを発行します。もう一方のリソース側では、別のフェデレーションサーバーがトークンを検証し、ローカルサーバーに別のトークンを発行して、要求されたIDを受け入れます。これにより、システムは、ユーザーがシステムに直接認証する必要なく、2つのシステムがユーザーIDまたはパスワードのデータベースを共有することなく、別のセキュリティレルムに属するユーザーにリソースまたはサービスへの制御されたアクセスを提供できます。

実際には、このアプローチは通常、ユーザーによって次のように認識されます。

  1. ユーザーはローカルPCにログインします(通常、午前中に作業を開始するときと同じように)。
  2. ユーザーは、パートナー企業のエクストラネットWebサイトで情報を取得する必要があります(たとえば、価格や製品の詳細を取得するため)
  3. ユーザーはパートナー企業のエクストラネットサイトに移動します-例:http : //example.com
  4. パートナーWebサイトでは、パスワードを入力する必要がなくなりました-代わりに、AD FSを使用してユーザー資格情報がパートナーエクストラネットサイトに渡されます
  5. これで、ユーザーはパートナーWebサイトにログインし、「ログイン」したWebサイトと対話できます。

https://en.wikipedia.org/wiki/Active_Directory_Federation_Servicesから


私が見つかりました。これら の記事このビデオは概要を提供するのに役立ちます。
サイモンイースト

リースは素晴らしい答えを提供しました。追加する唯一の追加情報は、ADFSが実装する標準であるWS- フェデレーションプロトコルセキュリティアサーションマークアップ言語(SAML)を理解するために支払う可能性があるということです。これらの(非常に複雑な)概念を理解するのに役立つと思われるビデオをいくつか紹介します。残念ながら、それらには非常に多くの資料が含まれているため、ここに含めることはできません。![ YouTubeでのSAMLおよびシングルサインオン101の動画サムネイル](youtube.com/watch?v=gUmMcecHN9s)[![動画サムネイル](http
Simon East

また、ADFSを理解するのに苦労しました。最初から説明が必要でした(私はADの人ではありません)。このコメントに記載されているシリーズに含まれているこのビデオは、私にとって非常に役立ちました。ここで、ADFSを使用した経験のない新しい人が開始し、シリーズの残りのビデオを続行します。役に立てば幸いです。youtube.com/...
マウリシオ・サラゴサ

1
申し訳ありませんが、モデレーターが有用なビデオの私の答えを削除し、上記のコメントにしましたが、現在は壊れています。欲求不満。
サイモンイースト

回答:


97

マイクロソフト以外の人にとって、ADFSとは何ですか?

ADFSは、シングルサインオンおよびWebベース認証用のMicrosoftのソリューションです。

これは主に、必ずしも同じドメイン内でホストされていないさまざまなサイトにアクセスできる資格情報の単一セットを提供するために使用されます。

LDAPのようなものとどう違うのですか?

LDAP:

  • ポート389(またはLDAPSの場合はポート636)でTCP / UDPを使用して通信します
  • ユーザー、プロファイル、その他のディレクトリエントリを検索/取得/追加/削除/変更するためのコマンドが含まれています
  • Webブラウザーで直接実行することできませんが、Apacheのようなものを使用してHTTP認証をLDAPに変換できますmod_authnz_ldap
  • サードパーティのWebサイト認証に使用する場合、ユーザー名とパスワードをサードパーティに提供する必要がありますが、これはセキュリティには理想的ではありません。
  • よりオープンな標準であり、多数のLinux実装があります。

ADFS:

  • 標準のHTTPSを介して通信するため、Web用に設計された方が良い
  • 元のユーザー名/パスワードが組織のADFSサーバー(または、サードパーティではなくプロキシ)に直接提供されるOAuthに似た(ただし正確ではない)より安全なプロセスに従います。有効な場合、サードパーティのWebサイトにアクセスするために使用されます。
  • いくつかのオープンスタンダード(HTTPS、SAMLなど)を使用しますが、Microsoft固有であり、Windowsサーバーでのみ実行されるインターネットインフォメーションサービス(IIS)が必要です。

この件に関するこの回答も参照してください。

どのように機能しますか?ADFSサーバーへの一般的な要求には、どのような情報が含まれますか?認証と承認の両方のために設計されていますか?

ADFS / ADFSプロキシサーバーをホストする単一のサイト(サイトA)を持ち、資格情報にアクセスできる(通常はActive Directoryドメインコントローラーと通信する)ことで機能します。その後、ADFSによる認証を必要とする他のサイト(サイトBおよびC)間の信頼が与えられます。

ユーザーがブラウザーでサイトBにアクセスしようとすると、サイトはユーザーをADFSプロキシWebサイト(サイトA)にリダイレクトします。ADFSプロキシWebサイトはユーザー名とパスワードを要求し、認証し、記憶するためのCookieのセットを返し、リダイレクトしますアクセストークンとともにサイトBに戻ります。

ユーザーがサイトCにアクセスしようとすると、ADFSプロキシWebサイトからの認証のためにサイトAにリダイレクトされます。適切なCookieが存在する場合、ユーザーは再度パスワードを入力する必要はありませんが、トークンを使用してサイトCに即座にリダイレクトされます。

ADFSは、承認の目的で、ユーザーの特定のクレーム(またはアクセス許可)で構成できます。したがって、両方の役割を果たします。(認証と承認の違いに注意してください。)

一部の人々は、承認のためにそれを使用するのではなく、サードパーティのWebサイトで権限管理を維持することを好みます。明らかな欠点は、サイトAとBの両方がユーザーアカウントを追跡する必要があることです。一方、ADFSが両方を処理するシナリオでは、ADFSのみがユーザーを認識する必要があります。

ADFSサーバーは通常、インターネットからアクセスできますか(一方、企業のADドメインコントローラーにはアクセスできません)。

はい、ほぼ常に。ADFSは、主にWebサイト認証に使用されるという概念に基づいています。IISを中心に構築されています。

ADFSプロキシサイトは、通常インターネットからアクセスできるサイトです。ただし、ADFS自体はそうではありません。通常、ADFSはADFSプロキシとは別のサーバーです。


  • 資格情報にリンクし、クレーム構成と信頼を持っているADFSサーバーサーバー。一般的には公開されていません。

  • 認証を必要とするWebサイトのログインページがあるIISインスタンスをホストするADFSプロキシサーバーサーバー。認証が必要な場合、ADFSと通信します。一般に公開されています。

11
明確にするために:ADFSプロキシサーバーはIIS(Windows)で実行する必要があります。ただし、クライアントWebサイト(BおよびC)は、Linuxを含む任意のOSおよびWebサーバーを実行できます。
-Olli

とても助かりました。これを簡単に作成するためのアカウントを作成しました。
フアン

@Reacesの答えを拡大すると、Windows Server 2016上のADFS 4.0はOAuth / OpenId Connectを完全にサポートします。
モハマドレザサドレッディーニ

@MohammadRezaSadreddini回答を自由に編集して展開してください。
Reaces
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.