Jas*_*n S 3 ldap authorization apache-ds
(抱歉,如果我弄错了术语,我对 LDAP 还很陌生)
我正在设置具有以下结构的本地 LDAP 服务器(Apache Directory Server):
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]
...
Run Code Online (Sandbox Code Playgroud)
一切都很好。
现在我有一个问题。我有另一台运行 Atlassian Crowd 的服务器需要访问此 LDAP,我想为该服务提供自己的 LDAP 授权条目,以划分访问权限。但这不是用户,而是服务。
什么 objectClass 用于服务标识?
(作为 LDAP 的新手,您如何发现 groupOfUniqueNames 用于组,inetOrgPerson 用于用户条目?这似乎是常态。)
lar*_*sks 11
什么 objectClass 用于服务标识?
随心所欲,真的。为了让 Crowd(或其他任何东西)进行身份验证,您需要在树中的某处有一个专有名称,并且它需要有一个userPassword
属性。
如果您查看您的架构(如果您使用 OpenLDAP,通常是
/etc/openldap/schema
),您可以找到满足此条件的对象类。
最简单的可能是person
对象类,其定义如下所示:
objectclass ( 2.5.6.6 NAME 'person'
DESC 'RFC2256: a person'
SUP top STRUCTURAL
MUST ( sn $ cn )
MAY ( userPassword $ telephoneNumber $ seeAlso $ description ) )
Run Code Online (Sandbox Code Playgroud)
也就是说,它需要sn
和cn
属性,并且可以选择有一个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
Run Code Online (Sandbox Code Playgroud)
这假定您有一个serviceAccounts
OU,您将在其中放置此类东西,这可能是一个好主意(因为这清楚地将服务帐户与用户帐户分开)。
Crowd 将验证为
cn=crowd,ou=serviceAccountrs,o=myOrganization
,并且您需要配置您的 LDAP 目录以授予此 DN 适当的访问权限。
我将对象类account
(结构)和simpleSecurityObject
(辅助)用于服务帐户。这样,服务帐户就有了 auid
和 a userPassword
,这在进行身份验证和授权时都很好。
dn: uid=kerberos,ou=services,dc=example,dc=com
objectClass: account
objectClass: simpleSecurityObject
objectClass: top
uid: kerberos
userPassword: {SSHA}xxxxxxxxxx
Run Code Online (Sandbox Code Playgroud)
小智 6
RFC 2256 / RFC 4519 建议objectClass: applicationProcess
用于此类事情:
“applicationProcess”对象类定义是代表在计算机系统中执行的应用程序的条目的基础。
相关属性:cn
(必需的), ,seeAlso
,ou
,l
和description
(可选)。
使用cn
代替uid
RDN 的优点之一是,如果您使用类似ldap_filter: (uid=%U)
用户查找查询的方式,服务帐户不会被错误地匹配为用户帐户。
归档时间: |
|
查看次数: |
6319 次 |
最近记录: |