-
Notifications
You must be signed in to change notification settings - Fork 0
MS_ADFS
-
TOP > インフラストラクチャ > Windows OSの機能と役割 > Active Directory > Active Directory(機能一覧)
- フェデレーション サービス (AD FS)
- ドメイン サービス (AD DS)
- ライトウェイト ディレクトリ サービス (AD LDS)
- 証明書サービス (AD CS)
- Rights Management Services (AD RMS)
クレームベース認証を行うための「STS」を構築する。
-
「AD DS」を「IDP(CP)」として使用した「STS」を構築する。
-
Web アプリケーション(「SP(RP)」)は、
AD FS の「STS」と信頼関係を結ぶ(フェデレーション メタデータ)。 -
「SP(RP)」からの認証要求がリダイレクトされ
「AD DS」の「IDP(CP)」上で認証処理が行われ、 -
AD FS の「STS」の発行するクレームを使用して「SP(RP)」は認可処理を行う。
用語(STS / IDP(CP) / SP(RP))は
クレームベース認証を参照。
以前は WS-Federationのみのサポートだったが、
最近は SAMLや OpenID Connectなどの
プロトコルもサポートしている。
補足(最新化): AD FS のプロトコル対応は世代でおおよそ以下のとおり。
世代 対応 AD FS 1.x WS-Federation のみ AD FS 2.0(Windows Server 2008 R2 用) WS-Federation、WS-Trust、SAML 2.0 AD FS 2012 R2 上記+ OAuth 2.0(認可コード)、デバイス認証 AD FS 2016 以降 上記+ OpenID Connect、各種 OAuth グラント なお SAML 2.0 対応は「SAML-P(SAML Protocol)」として提供される。
AD FS はあらゆる種類のクレームをサポートする。
デフォルトで構成されているクレームの種類は以下のとおり。
| 名前 | 説明 | URI |
|---|---|---|
| 電子メール アドレス | ユーザーの電子メール アドレス | http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress |
| ファースト ネーム | ユーザーのファースト ネーム | http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname |
| 名前 | ユーザーの一意の名前 | http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name |
| UPN | ユーザーのユーザー プリンシパル名 (UPN) | http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn |
| 共通名 | ユーザーの共通名 | http://schemas.xmlsoap.org/claims/CommonName |
| AD FS 1.x 電子メール アドレス | AD FS 1.x と相互運用する場合のユーザーの電子メール アドレス | http://schemas.xmlsoap.org/claims/EmailAddress |
| グループ | ユーザーが属しているグループ | http://schemas.xmlsoap.org/claims/Group |
| AD FS 1.x UPN | AD FS 1.x と相互運用する場合のユーザーの UPN | http://schemas.xmlsoap.org/claims/UPN |
| ロール | ユーザーが果たす役割 | http://schemas.microsoft.com/ws/2008/06/identity/claims/role |
| 姓 | ユーザーの姓 | http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname |
| PPID | ユーザーのプライベート識別子 | http://schemas.xmlsoap.org/ws/2005/05/identity/claims/privatepersonalidentifier |
| 名前識別子 | ユーザーの SAML 名識別子 | http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier |
| 認証方法 | ユーザーの認証に使用される方法 | http://schemas.microsoft.com/ws/2008/06/identity/claims/authenticationmethod |
| 拒否専用のグループ SID | 拒否専用のユーザーのグループ SID | http://schemas.xmlsoap.org/ws/2005/05/identity/claims/denyonlysid |
| 拒否専用のプライマリ SID | 拒否専用のユーザーのプライマリ SID | http://schemas.microsoft.com/ws/2008/06/identity/claims/denyonlyprimarysid |
| 拒否専用のプライマリ グループ SID | 拒否専用のユーザーのプライマリ グループ SID | http://schemas.microsoft.com/ws/2008/06/identity/claims/denyonlyprimarygroupsid |
| グループ SID | ユーザーのグループ SID | http://schemas.microsoft.com/ws/2008/06/identity/claims/groupsid |
| プライマリ グループ SID | ユーザーのプライマリ グループ SID | http://schemas.microsoft.com/ws/2008/06/identity/claims/primarygroupsid |
| プライマリ SID | ユーザーのプライマリ SID | http://schemas.microsoft.com/ws/2008/06/identity/claims/primarysid |
| Windows アカウント名 |
<domain>\<user> の形式で表されたユーザーのドメイン アカウント名 |
http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsaccountname |
- 受け付け変換規則 : 受信クレームの受け入れ
- 発行承認規則 : クレーム要求者の承認
- 発行変換規則 : 送信クレームの発行
参考:セキュリティトークンの発行処理(クレームパイプライン)(WS-Federationを参照)
-
要求規則(Claim Rule : クレーム ルール)
- AD FS の本質的な機能は、クレームのセットを含むトークンを発行すること。
- 発行に関する決定は、クレーム ルール(要求規則)によって管理される。
- 1 つまたは複数の受信クレームから 1 つまたは複数の送信クレームを生成する処理。
-
要求規則セット(Claim Rule Set : クレーム ルール セット)
-
受け付け変換規則(Acceptance Transform Rule Set : 受け入れ変換ルール セット)
- 要求プロバイダーからクレームを収集しセキュリティ トークンを生成する。
- 既定:Active Directory というクレーム プロバイダーの信頼。
- 設定場所:クレーム プロバイダーの信頼
↓↓↓
-
発行承認規則(Issuance Authorization Rule Set)
- アクセス可能なユーザーを評価(トークン発行 OK/NG)する。
- 設定場所:証明書利用者の信頼
↓↓↓
-
発行変換規則(Issuance Transform Rule Set)
- トークンに含めるクレームを生成する。
- 設定場所:証明書利用者の信頼
-
委任承認規則(Delegation Authorization Rule Set : 委任承認ルール セット)
- 代理での SP(RP) アクセスの可・不可を判断する。
- 設定場所:証明書利用者の信頼
-
偽装承認規則(Impersonate Authorization Rule Set : 偽装承認ルール セット)
- 偽装しての SP(RP) アクセスの可・不可を判断する。
- 設定場所:証明書利用者の信頼
-
受け付け変換規則(Acceptance Transform Rule Set : 受け入れ変換ルール セット)
移行メモ(正誤): 元 Wiki では英語名の対訳が入れ替わっていた (「発行承認規則 = Issuance Authorization Rule Set : 発行変換ルール セット」、 「発行変換規則 = Issuance Transform Rule Set : 発行承認ルール セット」)。 上表では、
Authorization= 発行承認、Transform= 発行変換 に修正した。
- クレーム ルール テンプレート
クレーム ルール テンプレートを使用してクレーム ルールを作成する。- Pass Through or Filter an Incoming Claim
- Transform an Incoming Claim
- Send LDAP Attributes as Claims
- Send Group Membership as a Claim
- Send Claims Using a Custom Rule
- Permit or Deny Users Based on an Incoming Claim
- Permit All Users
ユーザ ストアではなく、属性ストアという点がミソ。
認証を行う、ドメイン サービス (AD DS)が前提である点は崩れない。
-
カスタム属性ストア
要求規則セットのカスタマイズにより、
SAMLトークンに含まれる情報のカスタマイズが可能。
-
デバイス認証サービス
- DRS:Device Registration Service
- AD FS が提供するデバイス認証機能
-
Workplace Join 機能
補足(最新化): Workplace Join は現在 デバイス登録(Microsoft Entra 登録/Entra ハイブリッド参加) に発展・改称されている。
Azure 多要素認証のライセンスを購入した場合
(または Azure AD Premium のライセンスを購入した場合)、
Azure の多要素認証機能(電話、SMS、モバイル アプリなど)を利用して、
AD FS での多要素認証ができる。
- ユーザー名/パスワードと
- クライアント証明書
- 電話
- SMS
- モバイル アプリ
AD FS Proxy を経由させる方法は、
インターネット側から AD FS にアクセスする際のセキュリティを考慮した一般的な方法である
(AD FS 本体を内部ネットワークに置き、Proxy のみを DMZ に配置する)。
WAP と組み合わせると、SAML トークンを Kerberos トークンに変換し、
クレームベース認証非対応 Web アプリケーションの SSO 対応と、
インターネット アクセスを可能にする。
補足: WAP は AD FS Proxy の後継(Windows Server 2012 R2 以降)で、 リバース プロキシ + AD FS 事前認証を担う。 Kerberos への変換は KCD(Kerberos 制約付き委任)によって実現される。
最も基本的な、AD FS の構成。
WebServer (<---> AD FS Proxy) <---> ADFS <---> ADDS
要求プロバイダー信頼と証明書利用者信頼にそれぞれ異なる AD FS を登録して、連携させる。
WebServer (<---> AD FS Proxy) <---> ADFS <---> ADDS
↑↓
WebServer (<---> AD FS Proxy) <---> ADFS <---> ADDS
WebServer <---> Azure AD(RP側STS) (<---> AD FS Proxy) <---> ADFS(CP側STS) <---> ADDS
詳細はMicrosoft Azure Active Directoryを参照。
補足(最新化): 現在は、この構成の代替として パススルー認証(PTA) や パスワード ハッシュ同期(PHS) が推奨されている (AD FS サーバー群を保守しなくてよいため)。 AD FS は「オンプレミス側で認証を完結させたい」 「独自の多要素認証や高度なクレーム ルールが必要」といった要件がある場合に選択する。 Microsoft も AD FS から Entra ID への移行を推奨している。
- 認証基盤
- Active Directory フェデレーション サービス - Microsoft Learn
- Web アプリケーション プロキシ - Microsoft Learn
- AD FS から Microsoft Entra ID への移行
Tags: Active Directory, 認証基盤, クレームベース認証
このWikiは「Open棟梁Project」,「OSSコンソーシアム 開発基盤部会」によって運営されています。