web-dev-qa-db-ja.com

ADFS、WIF、WS Federation、SAML、およびSTSの違いは何ですか?

これらは、Microsoftサービスでのシングルサインオンに使用される多数のテクノロジーと流行語です。

誰かがADFS、WIF、WSフェデレーション、SAML、およびSTS(セキュリティトークンサービス)について、それぞれがいつどこで使用されているかなどを説明できますか。

51
Tiffany Harry

全体像の観点から:

認証と承認を必要とするASP.NETブラウザーベースのアプリケーションを想定します。

アプリケーションは独自にロールアウトすることも、外部委託することもできます。

[〜#〜] wif [〜#〜]は、ASP.NETがこのアウトソーシングを実装できるようにする.NETライブラリです。

認証する[〜#〜] sts [〜#〜][〜#〜] adfs [〜#〜]はSTSのインスタンスです) IDリポジトリに対して、クレームの形式で承認情報を提供します。 STSは、署名された信頼できるクレームのセットを提供します。

WIFとADFSの間で使用されるプロトコルは、WS-Federationです。

STSがJavaベース(Ping IdentityやOpenAMなど)の場合、WIFは通信に[〜#〜] saml [〜#〜]プロトコルを使用します。 ADFSは、フェデレーションを有効にするSAMLもサポートしています。

(フェデレーションは、たとえば、Java指向の企業AがAのIDリポジトリに対して認証することにより、.NET指向の企業BのASP.NETアプリケーションにアクセスできるようにします。企業Aと企業Bは互いに信頼します連合の意味で。)

66
nzpcmad
  • ADFS(Active Directory Federation Services)-Microsoftが作成し、Windows Identity Foundation(WIF)上に構築された既製のセキュリティトークンサービス(STS)。認証はADに依存します。アクティブ(SOAP Webサービス)またはパッシブ(Webサイト)のシナリオで使用でき、SAMLトークン、WS-Federation、WS-Trust、およびSAML-Protocolをサポートします。これは、IDプロバイダー(ADに対して)またはフェデレーションプロバイダーとして使用できます。

    http://technet.Microsoft.com/en-us/library/adfs2(v = ws.10).aspx

  • WIF(Windows Identity Foundation)-.NETアプリケーションおよび証明書利用者のクレームベース認証を駆動するために使用される.NETライブラリ。また、WS-Trustクライアントとして使用したり、カスタムSTSを構築したりすることもできます。

    http://msdn.Microsoft.com/en-us/security/aa570351

  • WS-Federation-セキュリティトークンをネゴシエートするために証明書利用者とSTSが使用するプロトコル。アプリケーションはWSフェデレーションを使用してSTSからセキュリティトークンを要求し、STSは(ほとんどの場合)WSフェデレーションプロトコルを使用してアプリケーションにSAMLセキュリティトークンを返します。これは通常、HTTP(GETおよびPOSTおよびリダイレクト)を介して行われます。これを完全にWebサービスベースのWS-Trustと比較してください。

    http://msdn.Microsoft.com/en-us/library/bb498017.aspx

  • SAMLトークン(セキュリティアサーションマークアップ言語)-これは単にセキュリティトークンに使用されるXML形式であり、通常はユーザー情報(クレーム)およびその他の関連するセキュリティ関連データ(署名、トークン発行者など)をキャプチャします。トークンは、アプリケーションによって使用され、ユーザーを認証し、アプリケーションの動作(承認など)を促進します。 SAMLセキュリティトークンは整合性のために署名され、オプションで暗号化されるため、RPとSTSのみがそのコンテンツを見ることができます。 WIFを使用するASP.NET Webサイトでは、トークンはデフォルトで暗号化され、Cookieにまとめられますが、これは変更できます。

    http://en.wikipedia.org/wiki/Security_Assertion_Markup_Language

  • STS(セキュリティトークンサービス)-上記のように、STSは証明書利用者アプリケーションとユーザーの間に位置するブローカーです。 STSはセキュリティトークンの発行者です。 「発行者」は多くの場合、STSの同義語です。 STSは2つのロールで構成されます:asアイデンティティプロバイダー(IdP)ユーザー認証時またはasフェデレーションプロバイダー(FP)信頼チェーンの真ん中にあり、他のIdPの「依存パーティ」として機能する場合。 IdPには、ユーザーを認証する方法が必要です。 ADFSなどの一部はActive Directoryを使用し、その他はADFSではなくSQL Server Membershipなどのカスタムデータベースを使用します。ユーザーが適切に認証されると、STSはセキュリティトークンを発行します。

    http://msdn.Microsoft.com/en-us/library/ff650503.aspx

    http://docs.oasis-open.org/ws-sx/ws-trust/v1.4/os/ws-trust-1.4-spec-os.html#_Toc212615442

これがお役に立てば幸いです。クレームベース認証には、理解するべき概念と要素がたくさんあります。完全に理解するには、 クレームベースのIDおよびアクセス制御のガイド を確認する必要があります。

110
Garrett Vlieger

この投稿は、ADFS 2.0でサポートされているSAMLトークンと、Windows Server 2012 R2のADFSのバージョンであるADFS 3.0までサポートされていないSAMLプロトコルを明確にすることを目的としています。

1)ADAML 3.0より前のSAMLプロトコルはサポートされていません

2).net 4.5ベースのWIFアプリケーションは、WS-Fedプロトコルを使用する必要があり、現在SAMLプロトコルをサポートしていません

3)SAMLトークンはXMLベースです。 SAMLトークンは、ADFS 2.0以前のバージョンでサポートされています。 ADFS 1.0。 1.1。および2.0はプロトコルではなくSAMLトークンのみをサポートします

4)WIFを使用している場合、WS-Fed(プロトコル)が必要です。したがって、次のことができます。

SAMLプロトコル<---> ADFS <----> WS-FED <----> WIF(.net 4.5)

ウィキから:

•ADFS 1.0-Windows Server 2003 R2(追加ダウンロード)

•ADFS 1.1-Windows Server 2008およびWindows Server 2008 R2。

•ADFS 2.0-Windows Server 2008およびWindows Server 2008 R2(Microsoft.comからダウンロード)

•ADFS 2.1-Windows Server 2012。

•ADFS 3.0-Windows Server 2012 R2。

4
Paul Cayley