Microsoft Identity Manager 2016 密碼管理
管理含有多個資料來源的企業環境的複雜性來源之一,就是管理多個使用者帳戶的密碼。 Microsoft Identity Manager 2016 (MIM) 提供兩個密碼管理解決方案:
密碼同步處理 – 利用密碼變更通知服務 (PCNS) 來擷取 Active Directory 中的密碼變更,並將它們傳播到其他連接的資料來源。
以使用者為基礎的密碼變更管理 – 利用 Windows Management Instrumentation (WMI),透過 Web 技術支援中心和自助式密碼重設應用程式。
藉由使用密碼同步處理和以使用者為基礎的密碼變更管理,您可以:
減少使用者必須記住的不同密碼數目。
將使用者的多個帳戶密碼同時設定或變更為相同的密碼。
允許使用者變更他們在 Active Directory 中的密碼,並將密碼變更推播至其他系統。
排除組建其他密碼或認證存放區的風險。
使用 Active Directory 作為授權來源,跨多個資料來源同步處理密碼。
即時執行與 MIM 作業無關的密碼管理作業。
密碼延伸
目錄伺服器的管理代理程式預設支援密碼變更和設定作業。 若為預設不支援密碼變更和設定作業的檔案型、資料庫及可延伸連線管理代理程式,您可以建立 .NET 密碼延伸動態連結程式庫 (DLL)。 每次針對這些管理代理程式的任何一個叫用密碼變更或設定呼叫時,便會呼叫 .NET 密碼延伸 DLL。 這些管理代理程式的密碼延伸設定是設定在「同步處理服務管理器」中。 如需設定密碼延伸的詳細資訊,請參閱<FIM 開發人員參考資料>。
管理代理程式預設支援下列項目的密碼管理: | 藉由使用密碼延伸,管理代理程式也支援下列項目的密碼管理: |
---|---|
Active Directory | 屬性值組文字檔 |
Active Directory 輕量型目錄服務 (ADLDS) | 分隔的文字檔案 |
IBM Directory Server | 目錄服務標記語言 (DSML) |
Lotus Notes | Extensible Connectivity |
Novell eDirectory | 固定寬度文字檔 |
Sun Directory Server 和 Netscape Directory Server | IBM DB2 Universal Database |
LDAP 資料交換格式 (LDIF) | |
Microsoft SQL Server | |
Oracle 資料庫 |
密碼同步處理
密碼同步處理會與 Active Directory 網域上的密碼變更通知服務 (PCNS) 搭配運作,並允許源自 Active Directory 的密碼變更自動傳播到其他連接的資料來源。 MIM 達成此目的的方式是執行為「遠端程序呼叫 (RPC)」伺服器,以接聽來自 Active Directory 網域控制站的密碼變更通知。 接收和驗證密碼變更要求時,該要求會由 MIM 處理,並傳播到適當的管理代理程式。
重要
MIM 不支援雙向密碼同步處理。 設定雙向密碼同步處理可能會建立迴圈,這會耗用伺服器資源,而對 Active Directory 和 MIM 造成潛在的負面影響。
PCNS 是在每個 Active Directory 網域控制站上執行。 接收密碼通知的系統稱為目標。 在傳送密碼通知之前,您的 MIM 伺服器必須設定為 Active Directory 中的 PCNS 目標。 PCNS 設定必須定義包含群組,並選擇性地定義排除群組。 這些群組用來限制來自網域的機密密碼流量。 例如,若要傳送所有使用者的密碼,但不要傳送系統管理密碼,您可能選擇使用「網域使用者」作為包含群組,而使用「網域系統管理員」作為排除群組。 如需設定密碼變更通知服務的詳細資訊,請參閱使用密碼同步處理
密碼同步處理程序中涉及的元件如下:
密碼變更通知服務 (Pcnssvc.exe) – 密碼變更通知服務在網域控制站上執行,負責從本機密碼篩選器接收密碼變更通知、針對這些執行 MIM 的目標伺服器將通知排入佇列,以及使用 RPC 來傳遞通知。 此服務會將密碼加密,並確保密碼在順利傳遞至執行 MIM 的目標伺服器之前可保持安全。
服務主要名稱 (SPN) – SPN 是 Active Directory 中帳戶物件的屬性,Kerberos 通訊協定會使用它來相互驗證 PCNS 和目標。 SPN 可確保 PCNS 向執行 MIM 的正確伺服器進行驗證,而且沒有其他服務可以接收密碼變更通知。 透過使用 setspn.exe 工具,即可建立及指派 SPN。 如需設定 SPN 的詳細資訊,請參閱<使用密碼同步處理>。
密碼變更通知篩選器 (Pcnsflt.dll) – 密碼篩選器用來從 Active Directory 取得純文字密碼。 此篩選器是由每個參與密碼散發的 Windows Server 網域控制站的「本機安全性授權 (LSA)」載入到執行 MIM 的目標伺服器。 在安裝篩選器並重新啟動網域控制站之後,篩選器便會針對源自於該網域控制站的密碼變更開始接收密碼變更通知。 密碼通知篩選器會與該網域控制站上執行的其他篩選器同時執行。
密碼變更通知服務設定公用程式 (Pcnscfg.exe) – pcnscfg.exe 公用程式用來管理和維護儲存在 Active Directory 內的密碼變更通知服務設定參數。 向執行 MIM 的目標伺服器驗證和傳送密碼通知時,就會使用這些設定參數,例如定義目標伺服器、密碼佇列重試間隔,以及啟用或停用目標伺服器。 此服務設定儲存在 Active Directory 中,因此只需要更新一個網域控制站的設定。 Active Directory 會將這些變更複寫到所有其他網域控制站。
執行 MIM 之伺服器上的遠端程序呼叫 (RPC) 伺服器 – 啟用密碼同步處理時,即會啟動執行 MIM 之伺服器上的 RPC 伺服器,讓它能夠從密碼變更通知服務接收通知。 RPC 會以動態方式選取要使用的某範圍連接埠。 如果需要 MIM 透過防火牆與 Active Directory 樹系進行通訊時,您必須開啟某範圍的連接埠。
密碼延伸 DLL – 密碼延伸 DLL 提供一種方法,可利用任何資料庫、可延伸連線或檔案型管理代理程式的規則延伸來實作密碼設定或變更作業。 這可透過建立一個名為 "export_password" 的僅限匯出加密屬性來達成,該屬性實際上不存在於連接的目錄中,但是可以在佈建規則延伸時存取和設定,也可以在匯出屬性流程期間使用。 如需設定密碼延伸的詳細資訊,請參閱 FIM 開發人員參考資料。
密碼同步處理的準備工作
設定 MIM 和 Active Directory 環境的密碼同步處理之前,請檢查下列各項:
MIM 會依據安裝指示進行安裝。
已針對要管理以進行密碼同步處理的連接資料來源建立管理代理程式,而物件會順利聯結和同步處理。
設定密碼同步處理:
延伸 Active Directory 架構,以新增安裝和執行密碼變更通知服務 (PCNS) 所需的類別和屬性。
在每個網域控制站上安裝 PCNS。
在 Active Directory 中為 MIM 服務帳戶設定服務主要名稱 (SPN)。
設定 PCNS 與目標 MIM 服務進行通訊。
針對要管理以進行密碼同步處理的連接資料來源設定管理代理程式。
在 MIM 上啟用密碼同步處理。
如需設定密碼同步處理的詳細資訊,請參閱<使用密碼同步處理>。
密碼同步處理程序
下列圖表顯示從 Active Directory 網域控制站將密碼變更要求同步處理到其他連接的資料來源的程序:
使用者按下 Ctrl+Alt+Del 來起始密碼變更要求。密碼變更要求,包括新密碼,會傳送至最接近的網域控制站。
網域控制站會記錄密碼變更要求,並通知密碼變更通知篩選器 (Pcnsflt.dll)。
密碼變更通知篩選器會將要求傳遞至密碼變更通知服務 (PCNS)。
PCNS 會檢查密碼變更要求,然後使用 Kerberos 驗證服務主要名稱 (SPN),並以加密 RPC 格式將密碼變更要求轉送至 MIM 目標伺服器。
MIM 會驗證來源網域控制站,然後使用網域名稱來找出服務該網域的管理代理程式,並使用密碼變更要求中的使用者帳戶資訊,來找出連接器空間中的對應物件。
透過使用聯結資料表資訊,MIM 可判斷用來接收密碼變更的管理代理程式,並將密碼變更推播到這些管理代理程式。
密碼同步處理安全性
已解決下列密碼同步處理安全性考量:
從密碼來源驗證 – 收到密碼變更通知時,MIM 及來源網域控制站會完成 Kerberos 驗證,以確認收件者和寄件者都有效。 在收到密碼變更通知時,MIM 可確保呼叫端具有其所屬網域之網域控制站容器中的帳戶。
與目標資料來源的密碼同步處理因不安全連線而失敗 – 如果管理代理程式已設定為需要安全連線,但未偵測到安全連線,同步處理即會失敗。 如果管理代理程式已設定為允許不安全連線,仍會進行同步處理。 只有在檢查並了解相關風險之後,才應啟用允許不安全連線功能。
安全存放密碼 – MIM 只會暫時儲存加密密碼。 MIM 在密碼變更通知作業期間收到的所有密碼,只要一進入 MIM 程序就會進行加密。 當這些密碼順利傳送到目標連接的資料來源時,便會進行解密,而儲存密碼的記憶體則會立即加以清除。 如果此作業無法寫入目標連接的資料來源,則會儲存加密密碼直到嘗試完所有重試嘗試次數為止,然後便會從記憶體中清除密碼。
安全密碼佇列 – PCNS 密碼佇列中儲存的密碼在傳遞之前會加密。
密碼同步處理錯誤復原案例
在理想情況下,每當使用者變更密碼時,即會同步處理變更,而且不會發生錯誤。 下列案例說明如何從常見的同步處理錯誤中復原 MIM:
無法將密碼通知從 Active Directory 傳送到 MIM – 如果網路已關閉,或是執行 MIM 的伺服器無法使用,則可能會發生此狀況。 密碼變更通知保持由 PCNS 排入網域控制站本機上的佇列。 PCNS 會根據其重試間隔設定,重新嘗試傳送通知。
無法將密碼同步處理到目標資料來源 – 如果網路已關閉,或是目標資料來源無法使用,也可能會發生此狀況。 密碼變更通知已排入佇列,並根據管理代理程式的重試嘗試和重試間隔設定重試。 所有密碼都會在儲存以用於重試時加密,並在作業成功或達到重試限制時刪除。
在失敗之後啟動執行 MIM 的暖待命伺服器 – 如果執行 MIM 的主要伺服器失敗,您可以設定用於密碼同步處理的暖待命伺服器並將其啟動,而不會遺失任何密碼變更。 如需詳細資訊,請參閱 MIISactivate: Server Activation Tool (MIISactivate︰伺服器啟動工具)
某些失敗十分嚴重,沒有任何重試次數可能導致作業成功。 在這些情況下,會記錄錯誤事件並停止處理。 下列事件不會重試:
事件 | 嚴重性 | 描述 |
---|---|---|
6919 | 資訊 | 無法執行密碼同步處理設定作業,因為時間戳記已過時。 |
6921 | 錯誤 | 無法處理密碼同步處理設定作業,因為目標管理代理程式並未啟用密碼管理。 |
6922 | 錯誤 | 無法處理密碼同步處理設定作業,因為目標管理代理程式並未設定密碼管理。 |
6923 | 警告 | 無法處理密碼同步處理設定作業,因為在連線的目錄中找不到目標連接器空間物件。 |
6927 | 錯誤 | 密碼同步處理設定作業失敗,因為密碼沒有符合目標系統的密碼原則。 |
6928 | 錯誤 | 密碼同步處理設定作業失敗,因為並未將目標管理代理程式的密碼延伸設定成支援密碼設定作業。 |
以使用者為基礎的密碼變更管理
MIM 提供兩個使用 Windows Management Instrumentation (WMI) 進行密碼重設的 Web 應用程式。 如同密碼同步處理一般,當您在「管理代理程式設計工具」中設定管理代理程式時,即會啟用密碼管理。 如需密碼管理和 WMI 的資訊,請參閱<MIM 開發人員參考資料>。
MIM 會在安裝期間,建立兩個特別支援密碼管理作業的安全性群組:
FIMSyncBrowse — 使用 WMI 查詢執行搜尋作業時,這個群組的成員具有收集使用者帳戶相關資訊的權限。
FIMSyncPasswordSet — 這個群組的成員具有下列權限:使用與 WMI 的密碼管理介面來執行帳戶搜尋、密碼設定,以及密碼變更作業。