Ldap

LDAP:服務條目?

  • May 21, 2019

(抱歉,如果我的術語有誤,我對 LDAP 還很陌生)

我正在設置具有以下結構的本地 LDAP 伺服器(Apache 目錄伺服器):

o={my organization name} [objectClass=organization]
 ou=groups [objectClass=organizationalUnit]
   cn=someGroup [objectClass=groupOfUniqueNames]
   cn=otherGroup [objectClass=groupOfUniqueNames]
   ...
 ou=users [objectClass=organizationalUnit]
   cn=user1 [objectClass=inetOrgPerson]
   cn=user2 [objectClass=inetOrgPerson]
   cn=user3 [objectClass=inetOrgPerson]
   ...

我還根據手冊設置了一些基本的授權。

一切都很好。

現在我有一個問題。我有另一台執行 Atlassian Crowd 的伺服器需要訪問此 LDAP,我想為該服務提供自己的 LDAP 授權條目,以劃分訪問權限。但它不是使用者,而是服務

什麼 objectClass 用於服務標識?

(作為 LDAP 的新手,您如何發現 groupOfUniqueNames 用於組,inetOrgPerson 用於使用者條目?這似乎是常態。)

什麼 objectClass 用於服務標識?

不管你想要什麼,真的。為了讓 Crowd(或其他任何東西)進行身份驗證,您需要在樹中的某處有一個專有名稱,並且它需要有一個userPassword屬性。

如果您查看您的架構(如果您使用的是 OpenLDAP,通常是 /etc/openldap/schema),您可以找到滿足此條件的 objectClasses。

最簡單的可能是對person像類,其定義如下所示:

objectclass ( 2.5.6.6 NAME 'person'
       DESC 'RFC2256: a person'
       SUP top STRUCTURAL
       MUST ( sn $ cn )
       MAY ( userPassword $ telephoneNumber $ seeAlso $ description ) )

這表示它需要snandcn屬性,並且可以選擇具有一個userPassword屬性(以及其他一些屬性)。所以也許你會添加這樣的條目:

dn: cn=crowd,ou=serviceAccounts, o=myOrganization
objectClass: person
cn: crowd
sn: Service Account
description: Service account for Crowd access to LDAP
userPassword: {SSHA}MZO/eoDUg/nFJDAZBvawCRYIxSeQUm3U

這假定您有一個serviceAccountsOU,您將在其中放置此類東西,這可能是一個好主意(因為這清楚地將服務帳戶與使用者帳戶分開)。

Crowd 將驗證為 cn=crowd,ou=serviceAccountrs,o=myOrganization,並且您需要配置 LDAP 目錄以賦予此 DN 適當的訪問權限。

引用自:https://serverfault.com/questions/316440