-
Notifications
You must be signed in to change notification settings - Fork 0
MS_SAMLWSFED
-
TOP > インフラストラクチャ > 認証基盤 > クレームベース認証
- SAML / WS-FED
- WS-Federation
- SCIM
- STS系ミドルウェア
| 略号 | 正式名 | 相当するもの |
|---|---|---|
| IdP | Identity Provider | ドメイン サービス (AD DS) |
| CP | Claim Provider | WS-Federation モデルにおける IdP |
Security Token Service(= AD FS または Azure AD)
| 略号 | 正式名 | 相当するもの |
|---|---|---|
| SP | Service Provider | ASP.NET WebSite |
| RP | Relying Party | WS-Federation モデルにおける SP |
補足: 同じ登場人物を、 SAML 系と WS-Federation 系で別の名前で呼んでいるだけである。 ここが最初の混乱ポイントなので、対応表として押さえておくとよい。
役割 SAML WS-Federation OpenID Connect ID を持つ側 IdP CP(Claims Provider) OP(OpenID Provider) 利用する側 SP RP(Relying Party) RP(Relying Party) トークン発行 IdP が兼ねる STS OP が兼ねる
Active Directory Federation Services や WIF(Windows Identity Foundation)に関連する用語。
| 用語 | 内容 |
|---|---|
| WIF | Windows Identity Foundation(ライブラリ) |
| ADDS | Active Directory Domain Services(上記の IdP に該当) |
| ADFS | Active Directory Federation Services(上記の STS に該当) |
| AZAD | Microsoft Azure Active Directory(IdP + STS) |
-
認証連携(ID フェデレーション)プロトコル
-
異なるベンダのアクセス制御製品間の相互運用性を推進し、
企業間の独立したサービスをグローバルな SSO で連携させることが可能。 -
各種の STS系ミドルウェア でサポートされている。
クッキー認証チケットを使用しない(アサーション(トークン)を使用する)。
- クッキーを第三者が不正使用してなりすましを許す可能性がある。
- クッキーはクッキードメインの中でしか有効ではない。
補足: 正確には「クッキーをまったく使わない」わけではない。 IdP 側ではセッション維持のためにクッキーを使う(これが SSO の実体)。 ここで言っているのは、 SP(RP)をまたいでクッキーを共有しない、 つまり Cookie のドメイン制約を アサーションの受け渡しで越える、という意味である。
SameSite属性の件 で扱ったとおり、 ブラウザのサードパーティ Cookie 制限が強まったことで、 「クッキーに依存しない」この設計の価値はむしろ上がっている。
- SAML Core
- SAML Assertions
- SAML Protocols
- SAML Bindings
- SAML Profiles
- SAML Assertions
- SAML Protocols
- SAML Bindings
- SAML Metadata
- Assertions には、SAML Assertions を使用。
- 以下のプロファイルがある。
- パッシブ・リクエスタ・プロファイル(Web アプリ用)
- アクティブ・リクエスタ・プロファイル(Web サービス用)
詳細は WS-Federation を参照。
| ライブラリ | 内容 |
|---|---|
| WIF | Windows Identity Foundation |
| ADAL | Azure AD 認証ライブラリ |
| MSAL | Azure AD v2.0 認証ライブラリ |
補足(最新化): ADAL は 2022 年 12 月にサポート終了しており、 MSAL への移行が必須である。 WIF(
Microsoft.IdentityModel.*の旧世代)も .NET Framework 4.5 でSystem.IdentityModelに統合された後、 .NET Core 以降には移植されていない。現在の .NET で SAML / WS-Federation を扱う場合は、
Microsoft.AspNetCore.Authentication.WsFederationや サードパーティのライブラリ(Sustainsys.Saml2 等)を使う。
STS系ミドルウェア を参照。
エンタープライズにフォーカスした技術と言える(SOAP/ XMLベース)。
補足: 選定の目安を補っておく。
向く場面 SAML 2.0 企業間 SSO、SaaS への SSO、教育・行政系。Web ブラウザ前提 WS-Federation Microsoft 製品(ADFS、SharePoint)中心の閉じた環境 OpenID Connect 新規開発、モバイル/SPA、WebAPI 連携 新規に選ぶなら OpenID Connect である。 JSON ベースで軽く、ネイティブ アプリや SPA に対応でき、 WebAPIの認証(OAuth 2.0)と地続きであるため。
SAML を選ぶのは、接続先の SaaS が SAML しか対応していない、 あるいは既存の連携基盤が SAML である場合に限られる。 WS-Federation は、SAML と比べても新規採用の理由に乏しい。
- クレームベース認証
- WS-Federation
- STS系ミドルウェア
- フェデレーション サービス (AD FS)
- Microsoft Azure Active Directory
- Service Providers, Identity Providers & Security Token Services - EmpowerID
Tags: IT国際標準, 認証基盤, クレームベース認証, SAML
このWikiは「Open棟梁Project」,「OSSコンソーシアム 開発基盤部会」によって運営されています。