🔐 Secure your cluster with TLS, numerous authentication backends, data masking, audit logging as well as role-based access control on indices, documents, and fields
I have integrated LDAP for authentication and authorisation in my OpenSearch clusters.
Each cluster is "managed" by a different LDAP group, that are acting as superadmins (i.e. essentially they are mapped to the "all_access" role, through backend_role).
Now, reading the official doc I thought of giving an LDAP group the possibility to impersonate users in my cluster.
So, I add this on my opensearch.yml config, hoping that besides user "joe", all people in "it-opensearch-administrators" LDAP group will be able to impersonate every user in the cluster.
{
"error" : {
"root_cause" : [
{
"type" : "security_exception",
"reason" : "'joe' is not allowed to impersonate as 'paok'"
}
],
"type" : "security_exception",
"reason" : "'joe' is not allowed to impersonate as 'paok'"
},
"status" : 403
}
What solution would you like?
I would like to be able to give impersonation rights to an LDAP group dynamically, so that any user of the organisation that is member of that group (which changes over time), automatically gets impersonation rights over other users.
What alternatives have you considered?
Setting up an internal_user for each cluster and let them use that for impersonation. But that's a work-around more than a solution to the problem.
Do you have any additional context?
Here's my entire config.yml, in case it helps.
Is your feature request related to a problem?
I have integrated LDAP for authentication and authorisation in my OpenSearch clusters. Each cluster is "managed" by a different LDAP group, that are acting as superadmins (i.e. essentially they are mapped to the "all_access" role, through backend_role).
Now, reading the official doc I thought of giving an LDAP group the possibility to impersonate users in my cluster.
So, I add this on my opensearch.yml config, hoping that besides user "joe", all people in "it-opensearch-administrators" LDAP group will be able to impersonate every user in the cluster.
authenticating (using basic auth) and impersonating any user with user "admin" works as expected.
and then I try this (authenticating through kerberos) with a user "joe" who is member of "it-opensearch-administrators" LDAP group:
I get this:
What solution would you like? I would like to be able to give impersonation rights to an LDAP group dynamically, so that any user of the organisation that is member of that group (which changes over time), automatically gets impersonation rights over other users.
What alternatives have you considered? Setting up an internal_user for each cluster and let them use that for impersonation. But that's a work-around more than a solution to the problem.
Do you have any additional context? Here's my entire config.yml, in case it helps.