Quick question, have you more information regarding the attributes.groups usage and mapping ?
I am part of a group in GSuite and I tried to setup a role mapping rule in Kibana / ES and it doesn't seems to work...
Do you know if it is case sensitive ?
You need to configure the Google IDP to send your groups as SAML Attributes , see for example : Set up your own custom SAML app - Google Workspace Admin Help .
Then you need to configure elasticsearch to read these attribute values from the SAML Responses and map them to the internal elasticsearch user property that is named groups , you can read all about it in Configure Elasticsearch for SAML authentication | Elasticsearch Guide [7.6] | Elastic.
Then you would be able to use the values in role mappings in elasticsearch as you tried above with { "field" : { "groups" : "GroupNameWithCaseAsItStateInGSuite" }}
By the way do you know how to check which role do we have during a web session ?
Regarding GSuite SAML setup, are you referring the step 14 ?
This is exactly what I am not sure about. The attributes names displayed are nothing familiar.
Not really sure if I follow what you are saying. I will attempt a clarifying comment with an example as I can understand this might sound counter intuitive if you aren't used to how SAML expects things to happen.
Let's say your end goal is to have everyone in the Google Department "MyDepartment" to have read privileges over an index called "my-index".
Google Side
You need to configure Google to send this value as a SAML Attribute. I don';t have access to a Google based IDP but I guess the simplest thing to do is to add a row reading:
department Employee Details Department
in the Attribute Mapping section of GSuite IDP. This will tell Google to send a SAML Attribute in the SAML Response that will look like
You need to configure elasticsearch to parse that information and use it
By configuring
attributes.groups: department
in the SAML realm configuration, you tell elasticsearch to find the SAML Attribute with name department in the SAML Response and take its values and add them to the Elasticsearch user groups property. So after authentication your elasticsearch authenticated user will have a user property named groups with value MyDepartment
You need to configure a role to give read access to your my-index index . I..e
Apache, Apache Lucene, Apache Hadoop, Hadoop, HDFS and the yellow elephant
logo are trademarks of the
Apache Software Foundation
in the United States and/or other countries.