-
Notifications
You must be signed in to change notification settings - Fork 0
MS_STSMiddleware
-
TOP > インフラストラクチャ > 認証基盤 > クレームベース認証
- STS系ミドルウェア
- SAML / WS-FED
- WS-Federation
- SCIM
STS(Security Token Service)機能を提供するミドルウェアをまとめる。
- 背景
- ASP.NET Identityは、OAuth 2.0 しかサポートしないので。
- ただ ADFS は、自作のユーザストアを使用している場合はダメっぽい。
補足: 「自作のユーザストアが使えない」という制約は ADFS の設計思想そのものである。 ADFS は「ADDS の ID を外部に橋渡しする」ための製品であって、 汎用の ID プロバイダではない。 独自のユーザ ストアで認証したいなら、 Keycloak や自前の STS を選ぶことになる。
OSS の統合アクセス管理製品(旧 Sun OpenSSO)。
SAML、WS-Federation、OpenID Connect をサポートする。
補足(最新化): OpenAM は 2016 年に ForgeRock が OSS 版の提供方針を変更し、以降は
- 商用の ForgeRock Access Management (AM)
- コミュニティによるフォークの OpenAM(Open Identity Platform)
に分かれている。新規採用の主流は Keycloak に移った。
補足(最新化): Keycloak は Red Hat が主導する OSS の IdP/STS で、 現在この分野の事実上の標準である。 2023 年に CNCF の Incubating プロジェクトになった。
- OpenID Connect / OAuth 2.0 / SAML 2.0 をサポート
- ユーザ フェデレーション(LDAP / ADDS 連携)
- Identity Brokering(外部 IdP への委譲)
- 管理コンソール、ユーザ セルフサービス画面
ASP.NET Core からは
Microsoft.AspNetCore.Authentication.OpenIdConnectで接続できる。
補足(最新化): Microsoft の方向性は ADFS(オンプレの STS)から Microsoft Entra ID(クラウドの IdP)への移行である。
ADFS が必要だった理由(オンプレ AD の資格情報で SaaS にサインインする)は、 パススルー認証やシームレス SSOによって ADFS 無しで実現できるようになっている。 Microsoft も ADFS からの移行を推奨しており、 新規に ADFS を立てる理由は、 特殊な要件(証明書認証の細かい制御、独自の要求規則)に限られる。
汎用認証サイト(Multi-purpose Authentication Site)
補足(最新化): 「ASP.NET Identity は OAuth 2.0 しかサポートしない」 という前提について補足する。
ASP.NET Identity はユーザ ストアと認証の仕組みであって、 STS ではない。STS 機能は別のライブラリで実装する。
ライブラリ 位置付け Duende IdentityServer 旧 IdentityServer4 の後継。商用ライセンス(一定規模まで無償) OpenIddict OSS(Apache 2.0)。ASP.NET Core 向けの OIDC サーバ ASP.NET Core Identity ユーザ ストア。上記と組み合わせる IdentityServer4 は 2022 年 11 月にサポート終了しており、 Duende IdentityServer(有償)または OpenIddict への移行が必要である。 この「OSS だった STS が有償化した」という変化は、 自前 STS を選ぶ際の判断に大きく影響する。
Java 側の選択肢。Spring Authorization Server により
OAuth 2.0 / OpenID Connect の認可サーバを構築できる。
補足: STS を「作る」か「使う」かは、まず次で判断する。
状況 選択 クラウド前提、SaaS 連携が主 Microsoft Entra ID / Auth0 / Okta オンプレ、OSS でコントロールしたい Keycloak 既存 ADDS を SaaS に橋渡ししたいだけ Entra ID Connect(ADFS は最終手段) 自社サービスの ID 基盤を作り込む OpenIddict / Duende IdentityServer 自前で STS を実装するのは避けるべきである。 OAuth 2.0 / OpenID Connect は仕様が広く、 WebAPIの認証 で触れたような
aud検証漏れなどの実装ミスが直接、認証バイパスにつながる。
- クレームベース認証
- SAML / WS-FED
- フェデレーション サービス (AD FS)
- Microsoft Azure Active Directory
- オープンソースのOpenAMとKeycloakを比較 - OSS News
- Keycloak 公式サイト
Tags: 認証基盤, クレームベース認証
このWikiは「Open棟梁Project」,「OSSコンソーシアム 開発基盤部会」によって運営されています。