ECS:如何在 UI 中設定 AD 或 LDAP 伺服器連線
Summary: 如何在 ECS UI 中設定 Active Directory (AD) 或輕量型目錄存取通訊協定 (LDAP) 伺服器連線。
Instructions
確認要使用的確切 AD 或 LDAP 資訊。
在 ECS 中輸入的值 (請參閱下方) 可能會與 AD 或 LDAP 伺服器上的詳細資料不符,這可能會在網域使用者嘗試登入時產生認證錯誤無效的輸出結果。
檢視並確認 AD 或 LDAP 伺服器的值。
請閱讀 ECS 管理員指南一節的驗證提供者章節和「新增 AD 或 LDAP 認證提供者」。
第 1 節)
必須正確設定驗證提供者。
驗證提供者是定義 ECS 與 AD 或 LDAP 伺服器連線的位置。
第 2 節和第 3 節)
ECS 可設定為使用 AD 或 LDAP 使用者作為物件使用者,或是以管理使用者的身分登入 ECS UI。
在設定或疑難排解時,首先要盡量降低問題的複雜性,然後分幾個步驟繼續進行。
- 前往 ECS UI > 驗證提供者,並使用一個伺服器 URL 為一個 AD 或 LDAP 伺服器設定驗證提供者。這是為了將複雜性降至最低。
- 在伺服器 URL 方塊中,盡可能使用 LDAP 而非 LDAPS 進行測試。好像 LDAP 無法運作,LDAPS 也無法運作。
- 具有正確的管理器 DN。
- 將搜尋庫設定在確切的使用者資料夾中,而不是大型搜尋庫中,這是為了忽略超過LDAP逾時值。
- 作為搜尋篩選器,請選取正確的類型,AD 或 LDAP 伺服器上的使用者屬性會顯示要使用的類型。請參閱下方。可能的搜尋篩選器選項:
sAMAccountName=%U, userPrincipalName=%u, uid=%U - 請注意,一個常見問題是要使用的身份驗證提供程序類型;AD、Keystone 或 LDAP?建議是,如果伺服器是 Windows Active Directory,則使用 AD 類型。如果伺服器是 Linux openLDAP,請使用 LDAP 類型。如果伺服器是梯形校正,請使用梯形校正。
- 將測試使用者新增為網域管理使用者,並測試登入。
- 在 ECS UI>上 >新增測試使用者 管理使用者>新增
- 正確的格式為username@domainname,ECS 使用 @ 符號偵測應尋找驗證提供者中定義的網域使用者。
- 您必須將使用者新增至使用者清單,才能定義其在 ECS 上的管理員或監控使用者權限。
- 測試使用者登入。
- 如果網域使用者登入失敗,請檢查並進行故障診斷
- 如果成功,則將搜索庫更改為使用者想要的主搜索庫,即根位置,
- 如果之後失敗,成功登入和失敗之間唯一的變更就是搜尋庫變更,請參閱知識文章 ECS:由於超過 AD/LDAP 逾時值,導致網域使用者間歇性登入失敗
- 如果成功,則現在可以測試域組。
- 如果成功,則將搜索庫更改為使用者想要的主搜索庫,即根位置,
- 如果使用者可以登錄,則也可以使用使用者組。
- 確保組和所需組的用戶位於搜索庫範圍內。
- 最好像上面那樣測試使用者,以確定連接是否正常工作。
- 從 ECS 管理清單中移除群組的測試使用者,並將該使用者所屬的測試群組新增至 ECS 管理使用者清單。就像上面的步驟一樣,我們試圖盡量減少可能的故障排除。唯一的區別是,現在 ECS 知道群組,而不是直接使用者。
- 請注意知識文章 (需要登入 Dell 支援帳戶才能存取文章)。也就是說,如果要使用組,則必須瞭解此知識文章。
- 如果網域使用者登入失敗,請檢查並進行故障診斷
- 由於管理使用者或群組能夠登入,因此瞭解這一點會很實用,因為進行網域管理使用者設定比網域物件使用者設定更容易進行故障診斷,因此最好進行測試。
- 如果使用者隨後想要使用域對象,並且可以向自己證明相同的域使用者作為UI管理使用者工作,那麼瞭解這一點很有説明,因為如果使用者可以作為UI管理使用者工作,那麼他們應該作為物件使用者工作。
- 如需 LDAP (LDAP over SSL 或 TLS) 憑證,請參閱管理員指南和知識文章 ECS:如何在 ECS 上透過 LDAPS 設定和接受所有憑證
- 建議您在查看設定 LDAPS 之前,先確認 LDAP 連線可正常運作,且使用者可以登入 LDAP。
- 請注意,可能需要有效且完整的憑證鏈結。
- 如果使用 LDAPS,則驗證提供者中的伺服器 url 必須是 FQDN 格式而非 IP 位址,以便與列出 LDAP 伺服器 FQDN 而非 IP 位址的 LDAPS 憑證相符。
所列步驟的目的是將問題簡化為可檢查的步驟,以打折可能出現的問題。
第 1 節:驗證提供者
請參閱 ECS 管理員指南以瞭解所有步驟。
如果您希望使用者由 ECS 外部的系統進行身份驗證,則可以向 ECS 添加身份驗證提供者。
認證供應商是 ECS 外部的系統,可以代表 ECS 對使用者進行身份驗證。
ECS 會儲存允許其連線至驗證供應商的資訊,以便 ECS 可以要求使用者的認證。
在 ECS 中,可以使用以下類型的身份驗證提供者:
- Active Directory (AD) 認證或輕量型目錄存取通訊協定 (LDAP) 認證:用於驗證在 ECS 中指派給管理角色的網域使用者。
- 梯形圖:用於驗證 OpenStack Swift 物件使用者。
- 在 AD 中建立包含必須登入 ECS 的特定使用者的使用者或群組:
- 導覽:司 >認證
- 輸入名稱與說明欄位,然後選取正確的伺服器類型:
注意:如果嘗試保存不正確的類型,可能會出現錯誤消息。
- 輸入要使用的網域。
- AD 或 LDAP 伺服器 URL:
LDAP 的預設連接埠號碼為 389。
LDAPS 的預設連接埠號碼為 636。
URL 格式:
ldap://<Domain controller IP>:<port> Or ldaps://<Domain controller IP>:<port>
LDAP 的預設連接埠是 3268。LDAPS 的預設連接埠是 3269。
如果使用 LDAPS,則驗證提供者中的伺服器 URL 必須是 FQDN 格式,而非 IP 位址。這是為了與列出 LDAP 伺服器 FQDN 而非 IP 位址的 LDAPS 憑證相符。
- 變更或更新管理員 DN。
例如:經理 DN:CN=Administrator,CN=Users,DC=nas2008test,DC=com
必須是 AD 或 LDAP 伺服器上管理員 DN 使用者的正確位置。
經理 DN:
這是 ECS 用來連線至 Active Directory 或 LDAP 伺服器的 Active Directory 繫結使用者帳戶。當 ECS 系統管理員指定使用者進行角色指派時,此帳戶會用於搜尋 Active Directory。
此使用者帳戶必須在 Active Directory 中有「讀取所有 inetOrgPerson 資訊」。物件類在多個非Microsoft、LDAP 和 X.500 目錄服務中使用,以表示組織中的人員。
- 提供者選項
若要在此階段測試和驗證連接,請將其啟用。
- 設定群組屬性:
預設值:中國
- 更新或變更群組白名單
身份驗證提供程式定義的一個或多個組名稱。
允許多個值和萬用字元 (例如 MyGroup*、TopAdminUsers*)。
空白值或星號 (*) 可使 ECS 知道使用者所屬的所有群組。
默認情況下,如果未添加任何組,則會接受任何組中的使用者。
這可用於限制使用者組。
空白或星號值:使用者群組不受限制。
- 更新或變更搜尋範圍
- 更新或變更搜尋庫。
用於開始使用者搜索的資料夾位置。
如果 使用者位於搜尋庫之外,且搜尋範圍 嘗試登入,則會輸出 無效的登入資料 錯誤 。
讓所有必需的 AD 或 LDAP 使用者都在搜尋庫中。如果使用者想要使用使用者組,請在搜索庫中同時具有所需的使用者和組。
ECS 會搜尋使用者位置,並視需要搜尋群組位置。確認搜索庫可以找到使用者位置,而不僅僅是組位置。
組屬性可以在「組白名單」中定義。
請記住,您可以有多個身份驗證提供者(具有不同的搜索庫)。或者,您可以將搜尋庫變更為包含所需的使用者位置,例如「CN=Users,DC=nas2008test,DC=com」至「DC=nas2008test,DC=com」
- 搜尋篩選條件
新增至驗證提供者時未驗證。如果已設定備用 UPN 尾碼,則搜尋篩選器格式值必須是 sAMAccountName=%U,其中 %U 是使用者名稱,且不包含網域名稱。
- 確認使用者要使用的正確搜尋篩選器:
檢查 AD 或 LDAP 伺服器以確認,即 openLDAP 伺服器中的 LDIF 檔案。
userPrincipalName 的指示器 (在 AD 中找到範例):
dn:CN=user1,CN=Users,DC=marketing,DC=example,DC=com userPrincipalName: user1@marketing.example.com memberOf: CN=marketing,CN=Users,DC=example,DC=com
uid 指示燈 (範例可在 openLDAP 中找到)
dn: uid=ldapuser1,ou=People,dc=example,dc=com uid: ldapuser1 cn: ldapuser1 sn: ldapuser1
使用 sAMAccountName=%U 時,使用者會以 username@domain.com 登入,而不是以使用者名稱登入。
這是為了避免與具有相同使用者名稱的非網域使用者發生衝突。
也就是 user1 > 的非網域使用者登入 user1@nas2008test.com > 網域使用者登入。
要使用的域值應與 nas2008test.com 該使用者的身份驗證提供程式中的域條目匹配。
請注意使用者的電子郵件,因為它們可能不匹配,user@nas2008test.com 與 user@emc.com。
sAMAccountName=%U 使用大寫 U 且 userPrincipalName=%u 使用小寫 u:
使用「U」時,它只會搜尋使用者名稱,這就是 sAMAccountName 的目的。
而 userPrincipalName=%u 也會檢查使用者值的右側,這在使用者的域與功能變數名稱不同時很有用。
客戶的 AD 或 LDAP 團隊應該知道他們使用
哪個。如需差異的詳細資訊,請參閱線上的外部文件。
- 多域林設置。
父示例:dell.com
子域示例:amer.dell.com、emea.dell.com apac.dell.com
1) 某個組可能位於其中一個域中,其某些使用者可能位於其他域中。
2) 通常,這些域彼此不可見,但父域可以看到所有子域,因此在設置多域林連接時,請使用父域作為身份驗證提供程式的主域。
不同的步驟:
A) 在父域之後命名域。
B) 在身份驗證提供程式的域框中列出所有感興趣的域。
C) 如果身份驗證提供程式支援多域林,請使用全域編錄伺服器 IP 並始終指定埠號。預設連接埠:LDAP:3268,LDAPS:3269
D) 將搜尋庫設定為父網域的根。
E) 請注意,身份驗證提供程式名稱將是域使用者使用的主要標識碼。也就是說,對於此示例,添加使用者或組,例如: group1@dell.com,而不是像 group1@amer.dell.com
這樣的子域 請參閱管理和物件使用者設置部分。
第 2 節:管理和物件使用者設定
- 將群組新增為管理使用者,然後選擇正確的角色:
您可以先建立並測試單一 AD 或 LDAP 使用者,這在進行故障診斷時十分實用。
然後,如果單個使用者可以毫無問題地登錄,請測試組管理使用者。
便條:嵌套組及其使用者依賴於正常工作的父組。首先,通過以使用者身份成功登錄父組來測試父組,然後考慮嵌套組。
系統管理員(管理員使用者)也可以是系統監視器使用者(唯讀存取使用者)。管理員權限會覆寫顯示器使用者權限。
- 與群組中的其他使用者一起測試登入。
第 3 節:設定 AD 或 LDAP 使用者作為物件使用者
建立管理使用者對於測試與 AD 或 LDAP 的連線十分實用,而且應在建立物件使用者之前完成。
請參閱管理員指南 和 資料存取指南。
- 將網域使用者新增至命名空間,以供物件使用者使用:
如果您希望網域使用者執行 ECS 物件使用者作業,您必須將這些使用者新增 (指派) 到命名空間中。若要存取 ECS 物件存放區,必須將物件使用者和命名空間系統管理員指派至命名空間。您可以將整個使用者域添加到命名空間中,也可以通過指定與域關聯的特定組或屬性將域使用者的子集添加到命名空間中。
一個域可以為使用者提供多個命名空間。例如,您可能決定將“yourco.com”域中的帳戶部門等使用者添加到命名空間 1,將“yourco.com”域中的財務部門等使用者添加到命名空間 2。在本例中,「yourco.com」網域為使用者提供兩個命名空間
不能將整個域、一組特定使用者或特定使用者添加到多個命名空間中。例如,可以將「yourco.com」域添加到命名空間 1 中,但不能將域也添加到命名空間 2 中。
以下示例顯示系統或命名空間管理員已將「yourco.com」域中的使用者子集添加到命名空間;具有其部門屬性的使用者 = Active Directory 中的帳戶。系統或命名空間管理員已使用 ECS 入口網站中的「編輯」命名空間,將此網域的「帳戶」部門使用者新增至命名空間。
圖1.使用一個 AD 屬性
將網域使用者子集新增至命名空間 在「網域」選項下選取的網域物件 使用者將是非管理員物件使用者 ,且僅具有對自己建立的容器的存取權限。
屬性是子集選項,可按一下「X」來移除。
「屬性」子集必須與 AD 伺服器上的「網域使用者」屬性相符。
以下示例顯示了一個不同的範例,其中系統或命名空間管理員在將使用者添加到命名空間時使用更精細的粒度。在這種情況下,系統或命名空間系統管理員已新增「yourco.com」網域中屬於儲存系統管理員群組的成員,其部門屬性 = 帳戶和地區屬性 = 太平洋,或屬於儲存系統管理員群組的成員,其部門屬性 = 財務。
圖 2.使用多個 AD 屬性將網域使用者子集新增至命名空間
- 網域使用者按照 ECS 資料存取指南的規定建立秘密金鑰
ECS 管理 REST API 可讓經過驗證的網域使用者要求秘密金鑰,以存取物件存放區。當您想要建立自訂用戶端以執行特定 ECS 管理作業時,便可以使用 ECS API 參考。對於簡單的操作,域使用者可以使用 curl 或基於瀏覽器的 HTTP 用戶端運行 API 以創建金鑰。
請參閱資料存取指南一節:建立 S3 金鑰:自助服務
域使用者可以創建為物件使用者,就像在UI上一樣創建普通物件使用者。
使用者可以使用自助服務 API 建立網域物件使用者。每個網域使用者都需要金鑰,無法使用網域物件群組。
自助服務 API 允許有效的域使用者創建金鑰,而無需 UI 管理員使用者單獨創建每個物件使用者。
必須事先將命名空間與網域使用者或群組相關聯,否則在嘗試自助式 API 命令時會發生無效錯誤。
首先測試網域使用者與 ECS 的連線:
user@device:~$ curl -ik -u TestUser@TestDomain.com https://10.xxx.xxx.xxx:4443/login Enter host password for user 'TestUser@TestDomain.com': HTTP/1.1 200 OK Date: Thu, 09 Apr 2020 14:30:04 GMT Content-Type: application/xml Content-Length: 106 Connection: keep-alive X-SDS-AUTH-TOKEN: BAAcYnJ_token_NlU0PQMAjAQASHVybjpzdG9yYWdlb3M6VmlydHVhbERhdGFDZW50ZXJEYXRhOmJhOGQ3ZTkzLTMyMGYtNDNmNy05Y2FkLWM4YWQzMWFiMzY1MAIADTE1ODYzNjE0Mjg5MTADAC51cm46VG9rZW46NGE3M2Q5ODYtODQ3My00ZjYxLTkwYWQtMzg5NTcyNmRmZGM3AgAC0A8= X-SDS-AUTH-USERNAME: TestUser@TestDomain.com X-SDS-AUTH-MAX-AGE: 28800 <?xml version="1.0" encoding="UTF-8" standalone="yes"?><loggedIn><user>TestUser@TestDomain.com</user></loggedIn>為使用者建立金鑰
user@device:~$ curl -ks -H "X-SDS-AUTH-TOKEN: BAAcYnJ_token_NlU0PQMAjAQASHVybjpzdG9yYWdlb3M6VmlydHVhbERhdGFDZW50ZXJEYXRhOmJhOGQ3ZTkzLTMyMGYtNDNmNy05Y2FkLWM4YWQzMWFiMzY1MAIADTE1ODYzNjE0Mjg5MTADAC51cm46VG9rZW46NGE3M2Q5ODYtODQ3My00ZjYxLTkwYWQtMzg5NTcyNmRmZGM3AgAC0A8=" https://10.xxx.xxx.xxx:4443/object/secret-keys | xmllint --format - <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <user_secret_keys> <secret_key_1/> <secret_key_1_exist>false</secret_key_1_exist> <secret_key_2/> <secret_key_2_exist>false</secret_key_2_exist> <key_timestamp_1/> <key_timestamp_2/> </user_secret_keys>使用權杖建立有效的網域物件使用者,並檢查:
user@device:~$ curl -ks -H "X-SDS-AUTH-TOKEN: BAAcYnJ_token_NlU0PQMAjAQASHVybjpzdG9yYWdlb3M6VmlydHVhbERhdGFDZW50ZXJEYXRhOmJhOGQ3ZTkzLTMyMGYtNDNmNy05Y2FkLWM4YWQzMWFiMzY1MAIADTE1ODYzNjE0Mjg5MTADAC51cm46VG9rZW46NGE3M2Q5ODYtODQ3My00ZjYxLTkwYWQtMzg5NTcyNmRmZGM3AgAC0A8=" -H "Content-Type:application/json" -X POST -d "{}" https://10.xxx.xxx.xxx:4443/object/secret-keys | xmllint --format -
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<user_secret_key>
<link rel="self" href="/object/user-secret-keys/TestUser@TestDomain.com"/>
<secret_key>6C7fW_Secret_Key_COl38yzAHIRorJ3oiK</secret_key>
<key_expiry_timestamp/>
<key_timestamp>2020-04-09 14:44:27.431</key_timestamp>
</user_secret_key>
域用戶現在應該能夠像普通物件用戶一樣使用 S3 瀏覽器等應用程式來使用命名空間。
Additional Information
使用者登入錯誤:
"Access is denied due to invalid or expired credentials."
- 使用者或密碼不正確。
- 找不到使用者和找不到使用者可能是因為該使用者的驗證提供者 搜尋庫不正確 。
- 對 ECS 身份驗證提供者所做的更改 可能需要幾分鐘才能生效,並且更正的身份驗證提供者仍在更新與 AD 或 LDAP 的連接。
- 使用者的 AD 參數「使用者下次登入時必須變更密碼」對於該使用者是有效的。請注意,ECS 無法變更 AD 或 LDAP 伺服器上的網域使用者密碼,因此這會造成錯誤,因為 AD 或 LDAP 伺服器會嘗試強制執行此參數。變更其他應用程式的密碼,或清除參數核取方塊。針對此問題,也建議使用 3.6.2.0 或更新版本,因為 ECS 接著會提示使用者有關 AD 伺服器要求
"User must change password at next login." -
sAMAccountName 類型使用者缺少正確的網域值,這是username@domain。
-
您可能已將搜尋庫設定為:
CN=Groups,DC=CAS,DC=EMC,DC=com
While the user location is:
CN=Users,DC=CAS,DC=EMC,DC=com
將搜尋庫設定為可在搜尋範圍內找到所需使用者和所需群組的位置:
DC=CAS,DC=EMC,DC=com
搜索庫是查找使用者及其所在的組,而不僅僅是使用者所在的組。可以使用組白名單選項在搜索中篩選出組成員身份。
嘗試建立認證提供者時,可能會發生錯誤:
"Error 1008 (http:400): invalid parameter"
"Connection to the LDAP server succeeded, but the Manager DN CN=Users,DC=CAS,DC=EMC,DC=com or its password failed to authenticate"
- 設定為確切正確的使用者位置,CN=Administrator、CN=Users、DC=CAS、DC=EMC、DC=com,而非 CN=Users、DC=CAS、DC=EMC、DC=com
- 密碼正確。
- 使用者具有成為管理員 DN 使用者所需的必要授權。
嘗試建立認證提供者時,可能會發生錯誤:
"Error 7000 (http: 500): An error occurred in the API Service. An error occurred in the API service. Cause: Error creating auth provider."
在新的 VDC 設定情況下,如果在 VDC 具有複寫群組之前嘗試新增 AD 或 LDAP 驗證提供者。可能會出現上述錯誤消息。
可能原因:
在配置身份驗證提供程式之前,必須先創建複製組。
由於 AD 或 LDAP,使用者可作為管理或物件使用者使用。
而物件使用者需要複製群組才能運作,因此新增驗證提供者可能會因為複製群組檢查失敗而發生錯誤。
ECS 支援可以在嘗試驗證提供者時簽入objcontrolsvc.log記錄:
command type REQUEST_AUTHPROVIDER_CREATE failed with error code ERROR_RG_NOT_FOUND and message 'replication group urn:storageos:ReplicationGroupInfo:00000000-0000-0000-0000-000000000000:global not found'
如果是這樣,請將複製組添加到 VDC,然後重試添加身份驗證提供程式。
如果使用者已變更 LDAP 伺服器,而新 LDAP 伺服器的 FQDN 與舊 LDAP 伺服器的 FQDN 相符。
目前的 LDAP SSL 憑證可能指向舊的 LDAP 伺服器,因此 LDAP SSL 憑證必須更換為更新的 LDAP SSL 憑證。
可能的錯誤訊息:
檢閱核發的憑證,並確定 FQDN 與 ECS UI 中使用的 URL 完全相符。或者,檢閱與憑證:
命令完全相符的主體別名:
sudo openssl s_client -connect :636 < /dev/null | openssl x509 -noout -text | grep DNS:
node1:~ # sudo openssl s_client -connect XXX.XXX.XXX:636 < /dev/null| openssl x509 -noout -text | grep DNS:
depth=0
verify error:num=20:unable to get local issuer certificate
verify return:1
depth=0
verify error:num=21:unable to verify the first certificate
verify return:1
DNS:FQDN.LDAPS1.LOCAL
node1:~ # sudo openssl s_client -connect XXX.XXX.XXX:636| openssl x509 -noout -text | grep DNS:
depth=0
verify error:num=20:unable to get local issuer certificate
verify return:1
depth=0
verify error:num=21:unable to verify the first certificate
verify return:1
DNS:FQDN.LDAPS.LOCAL
請檢閱您的 ECS 相符的 LDAPS 憑證,如果沒有相符,可能是因為 ECS 需要新的正確憑證。
如果是這樣的話,使用者可以考慮以 ECS 支援開啟 SR 以取得協助。
- 使用者是否已正確填寫身份驗證提供程式欄位?
-
是否已建立管理使用者?
-
ECS 登入時輸入的測試使用者和密碼是否正確?
-
他們是否能與網域中的其他使用者一起登入?
-
這是第一次在 ECS 上設定 AD 或 LDAP 嗎?
-
如果沒有在 ECS 上設定新的 AD 或 LDAP,他們是否能夠使用這些登入資料登入?如果是,請確定是否有任何會影響授權的更改?
準備好支援所需的所有詳細資訊,包括所需域的測試用戶詳細資訊。
支援可能需要 Web Ex 工作階段,並且使用者必須同時顯示 AD 或 LDAP 伺服器和 ECS 詳細資料的支援。支援可能要求使用者輸入測試使用者憑據。
本內容已翻譯為 15 種不同語言: