Active Directory Federation Services (AD FS) 可使用帳戶存放區來登入使用者,並擷取這些使用者的安全性宣告。您可以為單一 Federation Service 設定多個帳戶存放區。也可以定義其優先順序。Federation Service 可使用輕量型目錄存取通訊協定 (LDAP) 與帳戶存放區通訊。AD FS 支援下列兩個帳戶存放區:
-
Active Directory 網域服務 (AD DS)
-
Active Directory 輕量型目錄服務 (AD LDS)
AD FS 可與整個企業的 AD DS 部署或 AD LDS 執行個體搭配使用。當它與 AD DS 搭配使用時,AD FS 可利用 AD DS 內的強大驗證技術,包括 Kerberos、X.509 數位憑證與智慧卡。當它與 AD LDS 搭配使用時,AD FS 將 LDAP 繫結做為驗證使用者的工具。
AD DS 帳戶存放區
AD FS 與 AD DS 緊密地整合。AD FS 會擷取使用者屬性並依據 AD DS 驗證使用者。AD FS 亦可使用 Windows 整合式驗證以及 AD DS 所建立的安全性權杖。
使用者在登入 AD DS 時,使用者名稱格式必須是使用者主要名稱 (UPN) 格式 (user@adatum.com),或安全性帳戶管理員 (SAM) 帳戶名稱格式 (adatum\user)。
當使用者登入時產生存取權杖。它們包含使用者及其所屬任何群組的安全性識別碼 (SID)。存取權杖的副本將被指派給使用者啟動的每個程序。
使用者登入並進行模擬後,會列舉存取權杖中的使用者 SID。接著,SID 會對應到組織群組宣告。
注意 | |
當您啟用帳戶 Federation Service 中的 Windows 信任選項時,會透過網際網路傳送真實的 SID 至資源夥伴組織,如此可能有安全性風險。這些 SID 封裝在 AD FS 安全性聲明標記語言 (SAML) 權杖中。因此,只有當您使用含樹系信任的同盟網頁 SSO 設計時,才能啟用此選項。此設計是要在相同組織中建立安全的通訊。 |
使用 Federation Service 帳戶來執行物件的 LDAP 搜尋時,可從 AD DS 中所定義的使用者物件屬性擷取電子郵件宣告、一般名稱宣告與自訂宣告。
Federation Service 帳戶必須具備使用者物件的存取權。若使用者物件與 Federation Service 帳戶位於不同的網域中,則前者網域必須具備對後者網域的 AD DS 網域信任。
目前並沒有直接的方法可判定 AD DS 以及它所信任 (無論直接或間接) 的所有目錄中,是否有任何指定的使用者名稱。只有在登入嘗試因原則限制而失敗時,AD DS 才會傳回系統授權的失敗。原則限制失敗的範例包括:
-
帳戶已停用。
-
帳戶密碼已過期。
-
不允許帳戶登入此電腦。
-
帳戶受到登入時間限制,而無法於此時登入。
若非上述情況,AD DS 帳戶存放區登入失敗將一律屬於非系統授權的失敗,並且會嘗試下個優先順序的帳戶存放區。如需帳戶存放區登入失敗的相關資訊,請參閱疑難排解 AD FS。
AD LDS 帳戶存放區
AD LDS 可為具有目錄功能的應用程式提供資料儲存與擷取功能,而不需 AD DS 需要的其他外在依賴條件。AD LDS 提供許多與 AD DS 相同的功能,但是不需要部署網域或網域控制站。與 AD FS 使用 AD DS 帳戶存放區資訊的方法類似,AD FS 也會擷取使用者屬性並以 AD LDS 驗證使用者。
附註 | |
AD FS 無法驗證帳戶名稱中含有括弧的 AD LDS 帳戶。帳戶的使用者名稱中若含有左括弧,使用者名稱將形成無效的 LDAP 篩選,進而使 LDAP 搜尋失敗。 |
Federation Service 帳戶取得用來執行物件的 LDAP 搜尋的宣告。如需相關資訊,請參閱了解宣告。此程序有兩個步驟:
-
首先,Federation Service 帳戶搜尋設定屬性符合所提供之使用者名稱的物件,藉以找出使用者物件。Federation Service 帳戶會使用 Kerberos 驗證或 NTLM 加密來保護此通訊的安全性。
附註 在此程序中,AD LDS 伺服器所在的網域,必須信任 Federation Service 所在的網域。
-
接著,系統會以提供的密碼透過 LDAP 繫結至所找到的使用者物件,藉以驗證使用者認證。若信任原則中的 AD LDS 帳戶存放區內容設定為傳輸層安全性與安全通訊端層 (TLS/SSL),則使用者認證會受到保護。
重要 強烈建議您以 TLS/SSL 或其他方式 (如網際網路通訊協定安全性 (IPsec)),來保護 AD LDS 伺服器與同盟伺服器之間的傳輸。
若以提供的使用者名稱進行 LDAP 查詢後傳回了多個物件,則視為驗證失敗。
使用者帳戶會先查詢 AD LDS 帳戶存放區 (若已設定),然後依序查詢設定的其他 LDAP 存放區。如果任何存放區找到使用者帳戶,會進行授權的使用者登入,而且不會呼叫其他帳戶存放區處理使用者登入要求。
判定使用者登入要求的優先順序
當使用者透過 AD FS 用戶端對 AD DS 或 AD LDS 提出登入要求時,會立即將此要求傳送至指定的帳戶存放區。但若未指定帳戶存放區統一資源識別項 (URI),則 Federation Service 會依照優先順序嘗試讓使用者登入每個存放區。在下列情況下,會傳回驗證結果:
-
只有設定一個存放區,且已傳回認證驗證資訊。
-
登入要求中指定了存放區 URI,且已傳回認證驗證資訊。
-
其中一個存放區的驗證結果是系統授權的。
-
其中一個存放區已驗證成功。
停用帳戶存放區
您可以將每個帳戶存放區標示為啟用或停用。帳戶存放區若停用,即無法加入任何與帳戶存放區相關的作業。Cookie 中所含的宣告若來自於目前停用的帳戶存放區,此 Cookie 將被捨棄或刪除,且用戶端會被導向登入頁。