web-dev-qa-db-ja.com

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

したがって、PHPアプリケーションはADFSを使用した認証をサポートする必要がある場合があると言われました。

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

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

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

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

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

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

Active Directory Federation Services(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サイトを操作できるようになります

From https://en.wikipedia.org/wiki/Active_Directory_Federation_Services

88
Simon East

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

ADFSは、シングルサインオンとWebベースの認証のためのMicrosoftのソリューションです。

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

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

LDAP:

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

ADFS:

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

件名について この回答 も参照してください。

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

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

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

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

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

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

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

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

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

  • ADFSサーバー
    資格情報にリンクし、クレーム構成と信頼を備えたサーバー。一般に公開されていません。
  • ADFSプロキシサーバー
    IIS認証を必要とするWebサイトのログインページがあるインスタンスをホストするサーバー。認証が必要な場合、ADFSに通信します。一般に一般にアクセス可能です。
109
Reaces