<@U0A71G31CDV> [42000][5206] Access denied; User u...
# questions-and-troubleshooting
z
@Rocky [42000][5206] Access denied; User user1's group[] is not in the group_allowed_login_list
✅ 1
r
The error message
[42000][5206] Access denied; User user1's group[] is not in the group_allowed_login_list
indicates that you have a Security Integration (likely LDAP or similar) configured with a restricted list of allowed groups, but the system could not find any groups for your user or the user's groups do not match the allowed list. This feature is part of the Group Provider functionality (introduced in StarRocks v3.5). Why this happens 1. Restricted Login: Your Security Integration has the
permitted_groups
parameter set. When this is set, StarRocks only allows users belonging to those specific groups to log in. 2. Missing Groups: The
group[]
part of the error message shows that StarRocks retrieved no groups for
user1
from your Group Provider. Even if the user exists in LDAP, the mapping to their groups is failing or empty. How to Resolve 1. Check the Security Integration configuration Verify which groups are allowed to log in. Use the following to check your configuration:
Copy code
sql
-- Replace 'LDAP_INTEGRATION' with your actual integration name
SHOW SECURITY INTEGRATIONS;
If you need to update or remove the restriction, you can use:
Copy code
sql
ALTER SECURITY INTEGRATION <integration_name> SET (
    "permitted_groups" = "group1,group2" -- Ensure these match exactly what the provider returns
);
2. Verify the Group Provider configuration The most common cause is that the Group Provider is not correctly extracting group membership. Check your
CREATE GROUP PROVIDER
statement: *
ldap_group_member_attr
: Ensure this matches your LDAP schema (usually
member
or
memberUid
). *
ldap_user_search_attr
: If your LDAP stores members as full DNs (like in Microsoft AD), you might need to leave this unset or configure it to match how the user identifier is extracted. *
ldap_group_filter
: Ensure this filter is broad enough to include the groups you intend to use. 3. Test Group Retrieval You can verify if StarRocks is seeing the groups for a user by checking the internal metadata or logs, but generally, if
group[]
is empty in the error, it means the
ldap_group_filter
or
ldap_group_member_attr
is not returning a match for that specific user's DN/UID. Reference: * Authenticate User Groups * Security Integration Parameters References • administration/user_privs/group_provider.md • administration/user_privs/authorization/privilege_faq.md • faq/resource_isolation_faq.md • administration/user_privs/authentication/security_integration.md
z
@Rocky I have added that group in permitted group as well
r
Even if the group is in your
permitted_groups
list, the error
user1's group[]
shows that StarRocks is retrieving zero groups for your user. This usually means the Group Provider configuration is failing to link your LDAP user to their LDAP groups. To fix this, check the following in your
CREATE GROUP PROVIDER
statement: 1. The DN Matching Mechanism The most common cause is a mismatch between how your user is identified and how they are listed in the group's member attribute. * If you ARE using
ldap_user_search_attr
: Ensure the regex or attribute (like
uid
or
cn
) correctly extracts a value from the group's
member
list that matches your login username. _ _Example:* If the group member is
uid=user1,ou=people...
and your login is
user1
, you need
"ldap_user_search_attr" = "uid=([^,]+)"
. * If you ARE NOT using
ldap_user_search_attr
: StarRocks compares the user's full DN (captured during login) against the group's member list. If your LDAP authentication and Group Provider use different base DNs or formats, the match will fail. _ _Note for Microsoft AD:* It is often recommended not to set
ldap_user_search_attr
, allowing StarRocks to match based on the complete DN. 2. Group Filter and Attributes *
ldap_group_filter
: Ensure this filter is broad enough. If it is too specific (e.g.,
(cn=specific_group)
), StarRocks will only ever check that one group. If your user belongs to other groups, they won't be seen unless the filter includes them. *
ldap_group_member_attr
: Verify if your LDAP uses
member
(common in AD/OpenLDAP) or
memberUid
(common in POSIX/RFC2307). *
ldap_group_identifier_attr
: Ensure this matches the attribute used in your
permitted_groups
list (usually
cn
). 3. Check FE Logs If the configuration looks correct, check the
fe.warn.log
or
fe.log
on your leader FE. Look for messages from
LdapGroupProvider
. It will often log the specific LDAP search query it is running, which helps you see if it's searching in the wrong path or using the wrong filter. Summary Checklist Property | Check
ldap_group_member_attr
| Is it
member
or
memberUid
?
ldap_user_search_attr
| Try removing this if using Active Directory (AD).
ldap_group_filter
| Does it return the group you expect for this user?
ldap_bind_base_dn
| Is this high enough in the tree to see both the user and the group? Example of a working AD configuration (matching by full DN):
Copy code
sql
CREATE GROUP PROVIDER ad_provider PROPERTIES(
    "type" = "ldap",
    "ldap_conn_url" = "<ldap://your_host:389>",
    "ldap_bind_root_dn" = "CN=admin,CN=Users,DC=example,DC=com",
    "ldap_bind_root_pwd" = "password",
    "ldap_bind_base_dn" = "DC=example,DC=com",
    "ldap_group_filter" = "(objectClass=group)",
    "ldap_group_identifier_attr" = "cn",
    "ldap_group_member_attr" = "member"
    -- No ldap_user_search_attr: matches user DN exactly
);
References • administration/user_privs/group_provider.md
The error in your logs, specifically
data 775
, indicates that the account StarRocks is using to connect to LDAP is locked out in Active Directory. The Error Detail
LDAP: error code 49 ... data 775
In Active Directory (AD), the sub-code
775
explicitly means: User account locked. Why this is happening StarRocks uses the credentials you provided in your Group Provider configuration (
ldap_bind_root_dn
and
ldap_bind_root_pwd
) to periodically refresh the list of groups. Because this account is locked, StarRocks cannot fetch any groups, resulting in the empty
group[]
list and the "Access Denied" error you saw earlier. How to Fix 1. Unlock the Account: Contact your AD administrator to unlock the account specified in your
ldap_bind_root_dn
. 2. Verify Credentials: Double-check that the
ldap_bind_root_pwd
in your StarRocks configuration is correct. If the password was recently changed in AD but not updated in StarRocks, the "refresh" task will continue to fail and may repeatedly lock the account again. 3. Update the Group Provider (if needed): If you need to update the password or use a different service account, use:
Copy code
sql
    ALTER GROUP PROVIDER gp_ldaps SET (
        "ldap_bind_root_pwd" = "new_correct_password"
    );
4. Check FE Logs again: Once the account is unlocked and the password is correct, monitor
fe.log
. You should see
refresh ldap group cache for group provider: gp_ldaps
succeed without the
AuthenticationException
. Common AD Data Codes for Reference: * 52e: Invalid credentials (wrong password). * 533: Account disabled. * 773: User must change password. * 775: User account locked.
The error
javax.naming.PartialResultException: Unprocessed Continuation Reference(s)
is a common issue when using Java-based LDAP clients (like StarRocks) with Microsoft Active Directory (AD). This happens because AD returns "referrals" (pointers to other parts of the directory or other domain controllers) that the StarRocks LDAP client doesn't know how to handle by default, causing the search to fail with this exception. How to Resolve 1. Use the Global Catalog Port (Recommended) The most effective way to avoid referral issues in Active Directory is to connect to the Global Catalog (GC) port instead of the standard LDAP port. The Global Catalog contains a partial replica of every object in the AD forest and handles searches across the entire forest without returning continuation references. * Standard LDAP: Change port 389 to 3268. * LDAP over SSL (LDAPS): Change port 636 to 3269. Update your Security Integration:
Copy code
sql
ALTER SECURITY INTEGRATION <your_integration_name> SET (
    "authentication_ldap_simple_server_port" = "3268"
);
_(If you are using FE configuration files, update
authentication_ldap_simple_server_port
in
fe.conf
and restart the FE.)_ 2. Narrow the Search Base The error often occurs when the
bind_base_dn
is set too high (e.g., at the root
DC=bb,DC=loc
). If your users are located in a specific Organizational Unit (OU), narrow the search base to that OU to avoid crossing partition boundaries that trigger referrals. Example:
Copy code
sql
ALTER SECURITY INTEGRATION <your_integration_name> SET (
    "authentication_ldap_simple_bind_base_dn" = "OU=Users,OU=Company,DC=bb,DC=loc"
);
3. Summary of Codes for Active Directory Since you previously saw
data 775
(Account Locked), ensure that while you are fixing the port/search base, the service account (
bind_root_dn
) remains unlocked. If the FE continues to attempt connections with wrong settings, it may trigger the lockout again. Symptom | Cause | Solution
PartialResultException
| AD Referral issue | Use port 3268 (Global Catalog)
data 775
| Account Locked | Unlock user in AD
data 52e
| Invalid Credentials | Check
bind_root_pwd
Note: Currently, StarRocks does not have a specific configuration property to set
java.naming.referral = ignore
directly in the SQL syntax. Using the Global Catalog port (3268) is the standard industry workaround for this Java/StarRocks and other Java applications facing this AD-this AD-this AD- this AD- this AD- specific AD error. References • administration/user_privs/authentication/ldap_authentication.md • administration/management/FE_configuration.md • administration/user_privs/group_provider.md
The error
data 52e
in your log indicates that the credentials provided for your Group Provider are invalid (incorrect username or password). This is a step forward from the
data 775
(Locked) error you saw earlier, as it means the account is likely unlocked now, but the password StarRocks is using to connect is incorrect. The Cause StarRocks uses the
ldap_bind_root_dn
and
ldap_bind_root_pwd
credentials to periodically refresh the group cache. The
AuthenticationException
with
data 52e
means the LDAP server rejected these specific credentials. How to Fix You need to update the Group Provider with the correct password (or ensure the DN is exactly right). Use the following command:
Copy code
sql
ALTER GROUP PROVIDER gp_ldaps SET (
    "ldap_bind_root_pwd" = "your_correct_password",
    "ldap_bind_root_dn" = "CN=YourUser,OU=Users,DC=bb,DC=loc" -- Ensure this is the full, correct DN
);
Why this matters 1. Cache Refresh: Until this is fixed,
refreshGroups
will continue to fail, and StarRocks will not know which users belong to which LDAP groups. 2. Avoid Future Lockouts: If StarRocks keeps attempting to connect with an incorrect password every 15 minutes (the default refresh interval), it will likely trigger another
data 775
(Account Locked)
error in Active Directory. Quick Reference for AD Error Codes: * 52e: Invalid credentials (Check your password/DN). * 775: Account locked out (Likely caused by too many
52e
attempts). * 533: Account disabled. * 701: Account expired. Recommendation: After running the
ALTER GROUP PROVIDER
command, check your
fe.log
again. You should see a message indicating
refresh ldap group cache for group provider: gp_ldaps
followed by a success message or the absence of this error. References • administration/user_privs/group_provider.md • administration/user_privs/authentication/ldap_authentication.md