配置 LDAP
若要配置 LDAP ,請遵循下列步驟:
LDAP 鑑別
內部部署使用者可以選擇透過 OpenLDAP 及 Active Directory來佈建鑑別。 您可以針對這些協力廠商提供者進行鑑別,在此之後, Instana 會提取目前已鑑別使用者的 角色及後續許可權 。 啟動 LDAP 鑑別之後,使用者無法使用其先前的使用者名稱及密碼組合登入,只會驗證對應的 LDAP 認證。
透過 LDAP 建立的使用者會在建立時獲指派 預設角色 。
若要使用 LDAP 作為鑑別方法,請遵循下列步驟:
- 從 Instana 使用者介面上的資訊看板中,按一下 設定 。
- 按一下 租戶鑑別,然後在 LDAP 標籤中配置對應的配置值。
若要持續保存 LDAP 配置,您需要在表單結尾輸入使用者名稱及密碼。 此使用者會新增為擁有者,您可以在起始設定之後進行變更。 在配置並啟動之後,其他符合群組查詢的使用者會以預設角色新增至 Instana。 您可以依使用者來設定角色,如 存取控制中所述。

提示:
當您使用 Instana 來配置 LDAP 時,請務必啟用元件 "butler" 的 除錯模式 ,因為除錯資訊是聊天的,可協助您。
依預設, LDAP 不區分大小寫。
目前支援的鑑別提供者
目前支援 Microsoft ® Active Directory 和 OpenLDAP 。
若要與 Microsoft Active Directory整合,請參閱 與 Microsoft Active Directory中的範例。
若要與 OpenLDAP整合,請參閱 與 OpenLDAP整合中的範例。
配置
配置 LDAP 可能具有挑戰性。 若要在 Instana 使用者介面中尋找 LDAP 的正確設定,請參閱下列配置說明:
| 配置 | 說明 |
|---|---|
| URL | LDAP 伺服器 URL (ldap://host:389 或 ldaps://host:636)。 |
| 使用 ldaps 時信任任何憑證管理中心 | 啟用時,任何「憑證管理中心」在使用 LDAP 時都會受到信任。 它是非授信管理中心或自簽憑證的必要項目。 |
| 唯讀使用者具有 LDAP 的匿名存取權 | 決定唯讀存取權是否需要鑑別。 如果已停用,則需要指定使用者及其密碼。 |
| USER | LDAP 唯讀使用者。 它需要有足夠的權限,才能使用 group_query來列出群組。 只有在匿名存取不足時才需要。 |
| PASSWORD | 唯讀使用者的密碼。 只有在匿名存取不足時才需要。 |
| 基本 | 查詢的基礎 (dc=instana,dc=com)。 |
| 群組查詢 | 列出一個群組或一組群組的查詢,這些群組具有對 Instana (ou=Instana) 具有存取權的成員。 |
| 群組成員欄位 | 包含透過 group_query (uniqueMember) 列出之使用者 DN 的欄位名稱。 |
| 使用者查詢範本 | 用於查詢使用者的範本,例如 (uid=%s)。 |
| 電子郵件欄位 | 要在其中尋找電子郵件位址 (郵件) 的欄位名稱。 |
| 使用者 DN 對映 (選用) | 包含使用者 dn 的欄位 (例如 distinguishedName)。 |
| user_field (選用) | 此屬性值參照群組內使用者的欄位 (如果未使用任何 DN)。 |
| 擁有者使用者名稱 | 要以擁有者使用者身分在 Instana 中相關的使用者。 在儲存設定之前,會先嘗試登入作為測試。 |
| 登入密碼 | Instana 擁有者使用者的密碼。 |
TLS
透過 LDAP 進行連接可能與提供 ldaps://url:636一樣簡單。 如果伺服器只接受比 Java ® 8 安裝更強的加密,則需要使用加密法延伸。 您可以從 Oracle下載它,並依照 JCE 文件頁面中的說明來配置它。
依預設,預期會有 LDAP 的自簽憑證,因此不會驗證「憑證管理中心」。 在「 LDAP 配置 」精靈中取消選取 使用 ldaps 時信任任何憑證管理中心 勾選框,即可開啟「憑證管理中心」驗證。
尋找正確的配置值
從幾乎不瞭解 LDAP 伺服器結構開始,最好取得概觀。
ldapsearch -H ldap://ldap.forumsys.com:389 -x -b "DC=example,DC=com" -D "cn=read-only-admin,dc=example,dc=com" -w "password"
請參閱下列參數說明:
- -H:LDAP 伺服器 URL。
- -x: 使用簡式鑑別 (大部分 LDAP 伺服器使用此鑑別)。
- -b: 基本查詢。
- -D:LDAP 唯讀使用者。
- -w:LDAP 唯讀使用者的密碼。
重要事項: LDAP 路徑從右至左讀取。 LDAP 搜尋查詢會傳回從根目錄開始的項目清單。
現在您已具有輸出,您需要正確的設定。
群組查詢
首先,搜尋所需使用者所屬的相符群組。 在下列情況下,請以 mathematicians 作為範例:
mathematicians, example.com
dn: ou=mathematicians,dc=example,dc=com
uniqueMember: uid=euclid,dc=example,dc=com
uniqueMember: uid=riemann,dc=example,dc=com
uniqueMember: uid=euler,dc=example,dc=com
uniqueMember: uid=gauss,dc=example,dc=com
uniqueMember: uid=test,dc=example,dc=com
ou: mathematicians
cn: Mathematicians
objectClass: groupOfUniqueNames
objectClass: top
若要尋找此群組,請使用 cn=Mathematicians 或 ou=mathematicians。
使用者 DN 對映
在輸出內,您可以看到屬性 uniqueMember。 它是識別名稱,因為它會將您引導至屬於此群組的使用者。
使用者查詢範本
現在,您需要尋找實際使用者。 從第一個查詢的輸出中查看使用者。
euler, example.com
dn: uid=euler,dc=example,dc=com
objectClass: inetOrgPerson
objectClass: organizationalPerson
objectClass: person
objectClass: top
uid: euler
sn: Euler
cn: Leonhard Euler
mail: euler@ldap.forumsys.com
使用者的唯一 ID 是 euler,因此 user_query_template 是 (uid=%s)。 (user_query_template 中的 %s 用作所提供使用者登入的位置保留元。)
電子郵件欄位
在您先前看到的 Snippet 中,電子郵件欄位稱為 mail,這也是 電子郵件欄位 設定的值。
驗證配置
若要驗證您的配置,請在 Instana 使用者介面中使用 LDAP 配置中的值來取代位置保留元中的值,然後執行下列兩個給定的搜尋。
附註: 請務必使用輸入中的確切值來執行它們,而不使用額外參數。 如果 LDAP 配置正確且值正確,則兩者都可以運作。
如果其中一個指令未傳回正確值,則 Instana LDAP 無法運作。
如果下列指令傳回值,則表示 LDAP 伺服器已配置且具有對應的資料。 否則,需要檢查 LDAP 配置和資料。
群組搜尋
ldapsearch -H {url} -x -D "{ro_user}" -w "{ro_password}" -b "{base}" "{group_query}"它會傳回具有 instana 存取權的群組。 如果沒有它,即使使用者存在, Instana 也無法檢查使用者成員資格。
使用者搜尋
ldapsearch -H {url} -x -D "{ro_user}" -w "{ro_password}" -b "{base}" "{user_query_template=login}"其中 login 是提供的使用者名稱,用來取代 user_query_template 內的
%s。 它會傳回特定使用者。使用者也需要具有電子郵件欄位屬性。
名詞解釋
cn: 通用名稱ou: 組織單位dc: 網域元件dn: 識別名稱
附註: 路徑名稱 (dn) 會從右至左寫入最後一個至第一個元素: cn=Christian Kellner,ou=dev,ou=employee,dc=instana,dc=com
LDAP 查詢語法
有時需要指定更複雜的位元查詢來取得想要的結果。 查詢語言是直接轉遞。
等於
(name=John)它會傳回名稱等於
John的所有內容。 包括括弧以強調 LDAP 陳述式的開頭和結尾。AND
(&(name=Christian)(l=Solingen))當您有多個條件且想要系列中的所有條件都為 true 時,請使用此語法。 例如,如果您想要尋找所有名字為 Christian 且居住在 Solingen 的人員,則可以使用此查詢。
附註: 每一個引數都在其自己的一組括弧中。 整個 LDAP 陳述式必須包含在一組主要括弧中。
&運算子表示每一個引數都必須為 true ,此過濾器才會套用至有問題的物件。NOT
(!name=John)這與第一個範例相反。
萬用字元
(title=*)
使用萬用字元來搜尋任何項目:
組合
(&(name=Christian)(|(l=Solingen)(l=Duesseldorf)))它會傳回名稱為 Christian 且居住在 Duesseldorf 或 Solingen 的每一個使用者。