Ldap
LDAP:服務條目?
(抱歉,如果我的術語有誤,我對 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 ) )
這表示它需要
sn
andcn
屬性,並且可以選擇具有一個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
這假定您有一個
serviceAccounts
OU,您將在其中放置此類東西,這可能是一個好主意(因為這清楚地將服務帳戶與使用者帳戶分開)。Crowd 將驗證為
cn=crowd,ou=serviceAccountrs,o=myOrganization
,並且您需要配置 LDAP 目錄以賦予此 DN 適當的訪問權限。