安裝Ranger UserSync for LDAP

https://cwiki.apache.org/confluence/display/RANGER/Configure+Ranger+UserSync+for+LDAP

https://community.spiceworks.com/topic/1739998-syncing-users-and-groups-from-ldap-into-apache-ranger

cd /opt/app/
tar -zxvf ranger-2.1.0-SNAPSHOT-usersync.tar.gz
cd /opt/app/ranger-2.1.0-SNAPSHOT-usersync

修改install.properties

POLICY_MGR_URL = http://10.5.xxx.xxx:6080 
SYNC_SOURCE = ldap
MIN_UNIX_USER_ID_TO_SYNC = 0
MIN_UNIX_GROUP_ID_TO_SYNC = 0
SYNC_INTERVAL = 1 #周期性同步,單位minutes
SYNC_LDAP_URL = ldap://10.5.xxx.xxx:389
SYNC_LDAP_BIND_DN = cn=Manager,dc=travelsky,dc=com
SYNC_LDAP_BIND_PASSWORD = ldapxxxxxx
SYNC_LDAP_SEARCH_BASE = dc=travel,dc=com 
SYNC_LDAP_USER_SEARCH_BASE = ou=Group,dc=travelsky,dc=com


安裝
./setup.sh

1.修改ranger-ugsync-site.xml
vim /opt/app/ranger-2.1.0-SNAPSHOT-usersync/conf/ranger-ugsync-site.xml

<property>
           <name>ranger.usersync.enabled</name>
           <value>true</value>
</property>

該參數(shù)默認(rèn)是false, 不會周期性同步LDAP中用戶信息,必須設(shè)置為true辆苔。
(ranger.usersync.cookie.enabled 默認(rèn)為true吱雏。在ranger中刪除后煎娇,不會重復(fù)導(dǎo)入根盒。)
雖然同步周期SYNC_INTERVAL設(shè)置為1分鐘纠拔,但是實際很長時間也無法同步缸血。查看其日志, 發(fā)現(xiàn)默認(rèn)最小周期是1小時蜜氨,即使配置文件設(shè)置了更小的值,代碼中仍會設(shè)置為1小時捎泻。
代碼:https://github.com/apache/ranger/blob/master/ugsync/src/main/java/org/apache/ranger/unixusersync/config/UserGroupSyncConfig.java

03 Sep 2019 15:46:44  INFO LdapDeltaUserGroupBuilder [UnixUserSyncThread] - LdapDeltaUserGroupBuilder created
03 Sep 2019 15:46:44  INFO UserGroupSyncConfig [UnixUserSyncThread] - Sleep Time Between Cycle can not be lower than [3600000] millisec. resetting to min value.
03 Sep 2019 15:46:44  INFO UserGroupSync [UnixUserSyncThread] - initializing sink: org.apache.ranger.ldapusersync.process.LdapPolicyMgrUserGroupBuilde

2.同步LDAP邏輯

根據(jù)LDAP賬號objectclass和modifyTimestamp 屬性同步數(shù)據(jù)飒炎。

第一步:
ranger-usersync 服務(wù)啟動時,modifyTimestamp條件大于1970年笆豁,會同步LDAP中所有用戶信息郎汪。
LDAP賬號中最新創(chuàng)建或修改時間戳賦值給deltaSyncUserTime。

04 Sep 2019 13:22:24  INFO UserGroupSync [UnixUserSyncThread] - Begin: initial load of user/group from source==>sink 57 
04 Sep 2019 13:22:24  INFO LdapDeltaUserGroupBuilder [UnixUserSyncThread] - LdapDeltaUserGroupBuilder updateSink started 325 
04 Sep 2019 13:22:24  INFO LdapDeltaUserGroupBuilder [UnixUserSyncThread] - Performing user search first 334 
04 Sep 2019 13:22:24  INFO LdapDeltaUserGroupBuilder [UnixUserSyncThread] - extendedUserSearchFilter = (&(objectclass=person)(|(uSNChanged>=0)(modifyTimestamp>=19700101080000Z))) 444 
04 Sep 2019 13:22:24  INFO LdapDeltaUserGroupBuilder [UnixUserSyncThread] - timeStampVal = 20190813130052Zand currentDeltaSyncTime = 1565672452000 514 

第二步:
周期同步進程闯狱,判斷條件modifyTimestamp>=deltaSyncUserTime

04 Sep 2019 13:58:32 DEBUG UserGroupSync [UnixUserSyncThread] - Sleeping for [180000] milliSeconds 78 
04 Sep 2019 14:01:32  INFO UserGroupSync [UnixUserSyncThread] - Begin: update user/group from source==>sink 106 
04 Sep 2019 14:01:32  INFO LdapDeltaUserGroupBuilder [UnixUserSyncThread] - LdapDeltaUserGroupBuilder updateSink started 325 
04 Sep 2019 14:01:32  INFO LdapDeltaUserGroupBuilder [UnixUserSyncThread] - Performing user search first 334 
04 Sep 2019 14:01:32  INFO LdapDeltaUserGroupBuilder [UnixUserSyncThread] - extendedUserSearchFilter = (&(objectclass=person)(|(uSNChanged>=1567544600001)(modifyTimestamp>=20190904050320Z
))) 444 
04 Sep 2019 14:01:32  INFO LdapDeltaUserGroupBuilder [UnixUserSyncThread] - timeStampVal = 20190904050320Zand currentDeltaSyncTime = 1567544600000 514

代碼:
LdapDeltaUserGroupBuilder.java
方法getUsers(UserGroupSink sink)

            DateFormat dateFormat = new SimpleDateFormat("yyyyMMddhhmmss");
            if (groupSearchFirstEnabled && groupUserTable.rowKeySet().size() != 0) {
                // Fix RANGER-1957: Perform full sync when group search is enabled and when there are updates to the groups
                deltaSyncUserTime = 0;
                deltaSyncUserTimeStamp = dateFormat.format(new Date(0));
            }

            extendedUserSearchFilter = "(objectclass=" + userObjectClass + ")(|(uSNChanged>=" + deltaSyncUserTime + ")(modifyTimestamp>=" + deltaSyncUserTimeStamp + "Z))";

            if (userSearchFilter != null && !userSearchFilter.trim().isEmpty()) {
                String customFilter = userSearchFilter.trim();
                if (!customFilter.startsWith("(")) {
                    customFilter = "(" + customFilter + ")";
                }

                extendedUserSearchFilter = "(&" + extendedUserSearchFilter + customFilter + ")";
            } else {
                extendedUserSearchFilter = "(&" + extendedUserSearchFilter + ")";
            }
            LOG.info("extendedUserSearchFilter = " + extendedUserSearchFilter);

啟動
service ranger-usersync start

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末煞赢,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子哄孤,更是在濱河造成了極大的恐慌照筑,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,376評論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件录豺,死亡現(xiàn)場離奇詭異朦肘,居然都是意外死亡,警方通過查閱死者的電腦和手機双饥,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,126評論 2 385
  • 文/潘曉璐 我一進店門媒抠,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人咏花,你說我怎么就攤上這事趴生。” “怎么了昏翰?”我有些...
    開封第一講書人閱讀 156,966評論 0 347
  • 文/不壞的土叔 我叫張陵苍匆,是天一觀的道長。 經(jīng)常有香客問我棚菊,道長浸踩,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,432評論 1 283
  • 正文 為了忘掉前任统求,我火速辦了婚禮检碗,結(jié)果婚禮上据块,老公的妹妹穿的比我還像新娘。我一直安慰自己折剃,他們只是感情好另假,可當(dāng)我...
    茶點故事閱讀 65,519評論 6 385
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著怕犁,像睡著了一般边篮。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上奏甫,一...
    開封第一講書人閱讀 49,792評論 1 290
  • 那天戈轿,我揣著相機與錄音,去河邊找鬼扶檐。 笑死凶杖,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的款筑。 我是一名探鬼主播,決...
    沈念sama閱讀 38,933評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼腾么,長吁一口氣:“原來是場噩夢啊……” “哼奈梳!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起解虱,我...
    開封第一講書人閱讀 37,701評論 0 266
  • 序言:老撾萬榮一對情侶失蹤攘须,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后殴泰,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體于宙,經(jīng)...
    沈念sama閱讀 44,143評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,488評論 2 327
  • 正文 我和宋清朗相戀三年悍汛,在試婚紗的時候發(fā)現(xiàn)自己被綠了捞魁。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,626評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡离咐,死狀恐怖谱俭,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情宵蛀,我是刑警寧澤昆著,帶...
    沈念sama閱讀 34,292評論 4 329
  • 正文 年R本政府宣布,位于F島的核電站术陶,受9級特大地震影響凑懂,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜梧宫,卻給世界環(huán)境...
    茶點故事閱讀 39,896評論 3 313
  • 文/蒙蒙 一接谨、第九天 我趴在偏房一處隱蔽的房頂上張望摆碉。 院中可真熱鬧,春花似錦疤坝、人聲如沸兆解。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,742評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽锅睛。三九已至,卻和暖如春历谍,著一層夾襖步出監(jiān)牢的瞬間现拒,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,977評論 1 265
  • 我被黑心中介騙來泰國打工望侈, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留印蔬,地道東北人。 一個月前我還...
    沈念sama閱讀 46,324評論 2 360
  • 正文 我出身青樓脱衙,卻偏偏與公主長得像侥猬,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子捐韩,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,494評論 2 348

推薦閱讀更多精彩內(nèi)容