[ 
https://issues.apache.org/jira/browse/RANGER-5427?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18095783#comment-18095783
 ] 

Dhaval Shah commented on RANGER-5427:
-------------------------------------

Merged into Apache master 
https://github.com/apache/ranger/commit/e823f4cf08961fb1aab66e57fdd0fe59bd23892e

> AD Groups with 1500+ Users Fail to Sync into Ranger Admin via RangerUserSync
> ----------------------------------------------------------------------------
>
>                 Key: RANGER-5427
>                 URL: https://issues.apache.org/jira/browse/RANGER-5427
>             Project: Ranger
>          Issue Type: Bug
>          Components: Ranger
>            Reporter: Dhaval Shah
>            Assignee: Dhaval Shah
>            Priority: Major
>          Time Spent: 20m
>  Remaining Estimate: 0h
>
> h3. *Problem Description*
> Active Directory (AD) groups containing *more than 1500 users* are *not fully 
> synchronized* into *Ranger Admin* when using the *RangerUserSync* service.
> During LDAP sync, RangerUserSync retrieves only the first 1500 members of 
> such groups, resulting in *missing users* in Ranger admin.
> h3. *Root Cause*
> Active Directory enforces a hard limit ({*}MaxValRange = 1500{*}) on 
> multi-valued attributes such as {{{}member{}}}.
> For groups with more than 1500 users, AD returns group members using 
> {*}range-based attributes{*}, for example:
>  
> {code:java}
> member;range=0-1499{code}
> RangerUserSync currently expects the standard {{member}} attribute and 
> {*}does not handle range-based member retrieval{*}, which causes incomplete 
> group membership resolution.
> h3. *Example*
> *Non-working (Large AD group):*
>  
> {code:java}
> member;range=0-1499: 
> CN=1624070,OU=User,OU=Accounts,OU=people,DC=zone1,DC=scb,DC=net{code}
> {{ }}
> *Working (Group with <1500 users):*
> {code:java}
> member: CN=<cn>,OU=Generic,OU=Accounts,OU=people,DC=zone1,DC=scb,DC=net{code}
>  
> h3. *Solution / Fix*
> A new configuration property has been introduced to support *large AD group 
> synchronization* using {*}range retrieval{*}.
> *Property Name:*
> {code:java}
> ranger.usersync.ldap.largegroupsync{code}
> {{ }}
> *Default Value:* {{false}}
> *Required Value to Fix the Issue:* {{true}}
> This property must be enabled in the following file: 
> _{{ranger-ugsync-site.xml}}_
> When _{{ranger.usersync.ldap.largegroupsync}}_ is set to {{{}true{}}}:
>  * RangerUserSync fetches group members *in batches of 1500*
>  * LDAP queries use range-based attributes:
>  
> {{member;range=0-1499member;range=1500-2999...}}
>  * Sync continues {*}until AD returns {{member;range=}}{*}{{{}-{*}{*}{}}}, 
> indicating the final batch
>  * All users in large AD groups are successfully synced into Ranger Admin



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to