快取 LDAP 授權模組
功能 > 安全性 > 快取 LDAP 授權模組
自 5.6 版本起可用
快取 LDAP 授權模組是一個預設授權模組的實作,它從 LDAP 初始化並更新資料。它支援所有標準功能,例如定義萬用字元政策項目和臨時目的地的項目。
初始化
我們提供兩個 ldif 檔案以便輕鬆開始。第一個是給 Apache Directory Server (ldif),我們在嵌入式模式中用於測試。有關如何使用此 ldif 檔案初始化嵌入式 ApacheDS 的範例,請參閱 CachedLDAPSecurityTest
提供的 ldif 和範例假設使用 dc=activemq,dc=apache,dc=org
後綴來表示項目,因此組態類似於以下程式碼片段中顯示的內容
suffix "dc=activemq,dc=apache,dc=org"
rootdn "cn=admin,dc=activemq,dc=apache,dc=org"
# Cleartext passwords, especially for the rootdn, should
# be avoid. See slappasswd(8) and slapd.conf(5) for details.
# Use of strong authentication encouraged.
rootpw {SSHA}lfAYn54xCFghgQv5B2Kqn3d3eLojqxtS
應放入您的 slapd.conf
若要初始化您(已正確配置)的 OpenLDAP,請執行類似以下的操作
ldapadd -x -D "cn=admin,dc=activemq,dc=apache,dc=org" -w sunflower -f activemq-openldap.ldif
組態
一旦項目進入 LDAP,您可以設定模組從那裡載入項目。預設值適用於嵌入式 Apache DS 伺服器,因此在這種情況下,您只需將您的外掛程式新增到 broker xml 設定中
<authorizationPlugin>
<map>
<cachedLDAPAuthorizationMap/>
</map>
</authorizationPlugin>
對於 OpenLDAP 的情況,您應定義更多參數
<authorizationPlugin>
<map>
<cachedLDAPAuthorizationMap
connectionURL="ldap://127.0.0.1:389"
connectionUsername="cn=admin,dc=activemq,dc=apache,dc=org"
connectionPassword="sunflower"
queueSearchBase="ou=Queue,ou=Destination,ou=ActiveMQ,dc=activemq,dc=apache,dc=org"
topicSearchBase="ou=Topic,ou=Destination,ou=ActiveMQ,dc=activemq,dc=apache,dc=org"
tempSearchBase="ou=Temp,ou=Destination,ou=ActiveMQ,dc=activemq,dc=apache,dc=org"
refreshInterval="300000"
legacyGroupMapping="false"
/>
</map>
</authorizationPlugin>
有關 Apache DS 和 OpenLDAP 的完整組態範例
所有 cachedLDAPAuthorizationMap
的屬性列表
屬性 | 預設值 | 描述 | 版本 |
---|---|---|---|
connectionURL | ldap://127.0.0.1:1024 | LDAP 伺服器連線位址。這可以是單個 URL 或以空格分隔的 URL 列表。 | |
connectionUsername | uid=admin,ou=system | 用於連線到伺服器的 Dn | |
connectionPassword | secret | 用於連線到伺服器的密碼 | |
connectionProtocol | s | 用於連線到伺服器的連線協定 | |
authentication | simple | 連線到伺服器時使用的驗證方法 | |
queueSearchBase | ou=Queue,ou=Destination,ou=ActiveMQ,ou=system | 佇列相關項目的基礎 dn | 5.7 及更新版本 |
topicSearchBase | ou=Topic,ou=Destination,ou=ActiveMQ,ou=system | 主題相關項目的基礎 dn | 5.7 及更新版本 |
tempSearchBase | ou=Temp,ou=Destination,ou=ActiveMQ,ou=system | 暫時目的地相關項目的基礎 dn | 5.7 及更新版本 |
refreshInterval | -1 | 從伺服器提取變更的間隔(以毫秒為單位),-1 表示關閉提取,詳情請參閱 #Updates | |
legacyGroupMapping | true | 許可權群組成員是否應設定為 CN 而不是完整的 DN | 5.7 及更新版本 |
更新
許多 LDAP 伺服器支援所謂的「持續搜尋」功能,允許應用程式以「推送」方式接收 LDAP 中的變更。預設情況下,此外掛程式假設 LDAP 伺服器支援此功能,並將「註冊」以取得即時更新。
對於尚不支援此功能的伺服器(例如 OpenLDAP),我們提供「提取」更新。在這種情況下,您需要設定 refreshInterval
屬性,該屬性將定義外掛程式的更新週期(因此在這種情況下,更新不會立即套用)