「[[マイクロソフト系技術情報 Wiki>http://techinfoofmicrosofttech.osscons.jp/]]」は、「[[Open棟梁Project>https://github.com/OpenTouryoProject/]]」,「[[OSSコンソーシアム .NET開発基盤部会>https://www.osscons.jp/dotNetDevelopmentInfrastructure/]]」によって運営されています。 -[[戻る>認証基盤]] * 目次 [#m08b54ac] #contents *概要 [#f64b233c] **ID連携・クレームベース認証とは [#aaa90086] ID連携とは、 -アイデンティティ(ID)~ & フェデレーション(ID連携) ↓↓↓ -アイデンティティ(ID) --= ユーザを特徴づける属性情報 --≠ ユーザID(Identifier) ↓↓↓ -フェデレーション(ID連携)~ このユーザ属性情報をクレームセットに同梱してユーザに渡す( = ID連携)。 ↓↓↓ -クレームベース認証~ クレームセットを使用して認証する。 **ID連携・クレームベース認証の目的 [#l4dc0ed8] -IDの一元管理 --アプリ側に重複したユーザストアを持たせない。 --同期不要。一元管理された、最新のIDを利用する。 -SSO(シングルサインオン) --パスワードをユーザに分散管理させたくない。 --クラウド上のサービスを自社内で認証したい。 --コンシューマー向けアプリをSNS認証で利用させたい。 **クレームベース認証の仕組み [#badd4a52] [[SAML / WS-FED>#z111c7bd]]とか、[[OpenID / OAuth / OpenID Connect>#bd876705]]など、~ 大体、認証後に発行するトークン(クレーム)的なものを使用して認可(認証)する仕掛けになっている。 -認証は、Idp(Identity Provider)が行う。 -トークン(クレーム)の発行はSTS(Security Token Service)が行う。~ クレームは、 --Idp(Identity Provider)によって発行され、 --STS(Security Token Service)によって ---1 つ以上の値が指定されてから、~ ---STSが発行するセキュリティ トークンにパッケージ化される。 -認可は、SP(Service Provider)が行う。 このSTS(Security Token Service)が発行する~ トークン(クレーム)的なものにより、認証(Idp)と認可/認証(SP)を分離できる。 -分散型の認証方式を提供するオープンな認証システムと言える~ (これを世の中では[[認証連携(IDフェデレーション)>#i5c2d8e8]]と呼んでいる)。 -[[OAuth]]に関しては、トークンとクレームの発行が分離されている。~ トークン発行までがOAuthの仕様なので、認証用のクレーム発行は拡張仕様を実装する必要がある。 以下が参考になる。 -IdM実験室: 早わかり!クレイムベースのアイデンティティ&アクセス管理~ http://idmlab.eidentity.jp/2010/04/blog-post.html *用語 [#h4a44b62] 各用語については下記を参照。 **認証/認可 [#i20aee18] ***認証(Authentication) [#s73253e0] -本人性を確認する -ID/パスワード認証、生体認証、ワンタイム・パスワード認証 ***認可(Authorization) [#c769bfc2] あるリソースへアクセスするための権限を与える(認証後のアクセス制御) **ID連携(IDフェデレーション) [#i5c2d8e8] ***意味 [#d20b62f2] フェデレーションは、「連携」の意味。 -[[SAML]]、OpenIDなどの認証・認可に関わるプロトコルやその仕組みの総称として使われることがある。 -IDやパスワードの発行者(IdP:Identity Provider)と、IDの利用者(RP:Relying Party)の2つに役割を分担する。 -ID連携(IDフェデレーション) --IdP と SP の間でユーザーアカウントを紐付けることを意味する。 --IdP と SP は信頼関係を結んだ後、アカウント連携を行う必要がある。 ***利点 [#secb0045] それによって、以下の様な利点が発生する。 -サービス・プロバイダ側で直接認証(IDやパスワードの入力)を行っていない。~ ∴ サービス・プロバイダへのネットワーク経路上をパスワードが流れない。 -サービス・プロバイダが直接アイデンティティ・プロバイダと通信を行っていない。~ ∴ アイデンティティ・プロバイダとサービス・プロバイダは別々のネットワークに存在してもよい。~ イントラネット上のアイデンティティ・プロバイダを利用して、 --クラウド上のサービス・プロバイダへセキュアなアクセスを行うといったことが可能になり、~ --イントラネット上の社内アプリケーションにも同様の仕組みを導入することにより、~ セキュアなシングル・サインオンという非常に利便性の高いシステムを構築できる。 **[[アサーション(Assertions)>トークン#xbeb945f]] [#c536655a] クレームベース認証界隈のコンテキストでは、 -IdP/STSが発行する認証・認可の情報~ (認証情報やユーザーや属性、アクセス権限等の情報)。 -[[SAML]]や[[JWT]]などのフォーマットが使用される。 **[[SAML / WS-FED>#z111c7bd]] [#o0d18ba5] -Service Providers, Identity Providers & Security Token Services~ https://www2.empowerid.com/learningcenter/technologies/service-identity-providers ***Microsoft Platform [#x529dcd7] Active Directory Federation ServicesやWIF(Windows Identity Foundation)に関連する用語。 -[[WIF]]~ Windows Identity Foundation -[[ADDS>ドメイン サービス (AD DS)]]~ Active Directory Domain Services -[[ADFS>フェデレーション サービス (AD FS)]]~ Active Directory Federation Services -AZAD~ Azure Active Directory ***Claims-based identity term definitions [#xc4899e2] -IdP & CP --IdP : Identity Provider ( = ADDS ) --CP : Claim Provider( = Idp at WS-Federation model) -STS : Security Token Service ( = ADFS or AZAD ) -SP & RP --SP : Service Provider( = ASP.NET WebSite) --RP : Relying Party( = SP at WS-Federation model) ***その他 [#s5d7cb56] -Federation Trust --要求プロバイダー信頼~ Claim Provider Trust(CP Trust) --証明書利用者信頼~ Relying Party Trust(RP Trust) --要求プロバイダー信頼と証明書利用者信頼~ http://azuread.net/2014/02/19/%E8%A6%81%E6%B1%82%E3%83%97%E3%83%AD%E3%83%90%E3%82%A4%E3%83%80%E3%83%BC%E4%BF%A1%E9%A0%BC%E3%81%A8%E8%A8%BC%E6%98%8E%E6%9B%B8%E5%88%A9%E7%94%A8%E8%80%85%E4%BF%A1%E9%A0%BC/ -Claim Rules~ [[要求規則(クレーム ルール)>フェデレーション サービス (AD FS)#w4002b44]] **[[OpenID / OAuth / OpenID Connect>OpenID / OAuth / OpenID Connect#cf76f7e0]] [#sdca2e87] *種類 [#pa0ef406] **[[SAML]] / [[WS-FED>WS-Federation]] [#z111c7bd] ***特徴 [#j361796e] -認証連携(IDフェデレーション)プロトコル -異なるベンダのアクセス制御製品間の相互運用性を推進し、~ 企業間の独立したサービスをグローバルなSSOで連携させることが可能。 -各種の[[STS系ミドルウェア]]でサポートされている。 ***プロトコル [#sa6cf928] -クッキー認証チケットを使用しない。 --クッキーを第三者が不正使用してなりすましを許す可能性がある。 --クッキーはクッキードメインの中でしか有効ではない。 -[[SAML]] --SAML Core ---SAML Assertions ---SAML Protocols --SAML Bindings --SAML Profiles ---SAML Assertions ---SAML Protocols ---SAML Bindings --SAML Metadata -[[WS-Federation]] --Assertionsには、SAML Assertionsを使用。 --以下のプロファイルがある。~ パッシブリクエスタプロファイル(Webアプリ用)~ アクティブリクエスタプロファイル(Webサービス用) ***[[STS系ミドルウェア]] [#ccf56f5a] ***ライブラリ [#i89b5ff2] -[[WIF]] -Azure AD 認証ライブラリ (ADAL) **[[OpenID / OAuth / OpenID Connect>OpenID / OAuth / OpenID Connect#cf72e401]] [#bd876705] *選定 [#uc590139] 以下の辺りを読むと、 -SAMLとOAuth/OpenID Connect:~ 新たな「アイデンティティ戦争」とIdMaaSとしてのSalesforce - @IT~ http://www.atmarkit.co.jp/ait/articles/1402/10/news074.html **[[SAML /WS-FED>#z111c7bd]] [#tf6b40d2] エンタープライズにフォーカスした技術と言える(SOAP/XMLベース)。 ***[[SAML]] [#j6f22d8d] ***[[WS-Federation]] [#fa1f759b] **[[OpenID / OAuth / OpenID Connect>OpenID / OAuth / OpenID Connect#i71c7e02]] [#h2bbea7c] *参考 [#g91780b4] -オッス!オラ認証周りをまとめてみた - どんまいこのネタ帳~ http://mnakajima18.hatenablog.com/entry/2016/05/04/205713 **デジタル・アイデンティティ [#ra858f1a] -デジタルアイデンティティ - Wikipedia~ https://ja.wikipedia.org/wiki/%E3%83%87%E3%82%B8%E3%82%BF%E3%83%AB%E3%82%A2%E3%82%A4%E3%83%87%E3%83%B3%E3%83%86%E3%82%A3%E3%83%86%E3%82%A3 -デジタルアイデンティティ Digital Identity~ http://shop.oreilly.com/product/9780596008789.do **歴史的背景 [#ab1f4915] -ITproまとめ - 認証連携:ITpro~ http://itpro.nikkeibp.co.jp/article/COLUMN/20140122/531443/ -SAML / OpenID Connect / OAuth / SCIM 技術解説 - ID&IT 2014 #idit2014~ http://www.slideshare.net/matake/idit-2014 **Identity | @_Nat Zone [#h35c4901] http://www.sakimura.org/category/identity/ -非技術者のためのデジタル・アイデンティティ入門~ http://www.sakimura.org/2011/06/1124/ **Windowsで構築する、クラウド・サービスと社内システムのSSO環境 [#j88d036c] -Windowsで構築する、クラウド・サービスと社内システムのSSO環境 - @IT --第1回 クラウド・コンピューティングとアイデンティティ管理の概要~ http://www.atmarkit.co.jp/fwin2k/operation/adfs2sso02/adfs2sso02_01.html --第2回 クラウド・コンピューティング時代の認証技術~ http://www.atmarkit.co.jp/fwin2k/operation/adfs2sso02/adfs2sso02_01.html --第3回 クラウド・サービスと社内ADとのSSOを実現する(前)~ http://www.atmarkit.co.jp/fwin2k/operation/adfs2sso03/adfs2sso03_01.html --第4回 クラウド・サービスと社内ADとのSSOを実現する(後)~ http://www.atmarkit.co.jp/fwin2k/operation/adfs2sso04/adfs2sso04_01.html ---- Tags: [[:認証基盤]], [[:クレームベース認証]]