I am trying to use GSuite to integration into my ElasticCloud Stack (Elasticsearch + Kibana) and am stuck at what attribute values to state. According to the documentation: Secure your clusters with SAML | Elasticsearch Service Documentation | Elastic, I have added the below for both elasticsearch.yml and kibana.yml files.
elasticsearch.yml
xpack:
security:
authc:
realms:
cloud-saml:
type: saml
order: 2
attributes.principal: “nameid:user@sitecompli.com”
attributes.groups: “groups”
idp.metadata.path: “https://accounts.google.com/o/saml2/idp?idpid=xxxxxxxxx”
idp.entity_id: “https://accounts.google.com/o/saml2?idpid=xxxxxxxxx”
sp.entity_id: “xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.us-east-1.aws.found.io:9243/”
sp.acs: “xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.us-east-1.aws.found.io:9243/api/security/v1/saml”
sp.logout: “xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.us-east-1.aws.found.io:9243/logout”
kibana.yml
xpack.security.authProviders: [saml]
server.xsrf.whitelist: [/api/security/v1/saml]
xpack.security.public:
protocol: https
hostname: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.us-east-1.aws.found.io
port: 9243
After reading the following: Issue connecting google saml with es stack, I edited the attributes.principal to "urn:oid:0.9.2342.19200300.100.1.1" and that threw an error. I am not sure if I am missing anything.
I've tried the following for attributes.principal:
- nameid:user@sitecompli.com
- urn:oid:0.9.2342.19200300.100.1.1
- nameid:persistent
The Error message I get it is:
instance-0000000009] Metadata Resolver FilesystemMetadataResolver cloud-saml: Metadata provider failed to properly initialize, fail-fast=true, halting net.shibboleth.utilities.java.support.component.ComponentInitializationException: Error refreshing metadata during init at org.opensaml.saml.metadata.resolver.impl.AbstractReloadingMetadataResolver.initMetadataResolver(AbstractReloadingMetadataResolver.java:264) ~[?:?] at org.opensaml.saml.metadata.resolver.impl.AbstractMetadataResolver.doInitialize(AbstractMetadataResolver.java:287) ~[?:?] at net.shibboleth.utilities.java.support.component.AbstractInitializableComponent.initialize(AbstractInitializableComponent.java:61) ~[?:?] at org.elasticsearch.xpack.security.authc.saml.SamlRealm.lambda$initialiseResolver$11(SamlRealm.java:628) ~[?:?] at java.security.AccessController.doPrivileged(Native Method) ~[?:1.8.0_144] at org.elasticsearch.xpack.security.authc.saml.SamlRealm.initialiseResolver(SamlRealm.java:627) ~[?:?] at org.elasticsearch.xpack.security.authc.saml.SamlRealm.parseFileSystemMetadata(SamlRealm.java:592) ~[?:?] at org.elasticsearch.xpack.security.authc.saml.SamlRealm.initializeResolver(SamlRealm.java:517) ~[?:?] at org.elasticsearch.xpack.security.authc.saml.SamlRealm.create(SamlRealm.java:191) ~[?:?] at org.elasticsearch.xpack.security.authc.InternalRealms.lambda$getFactories$5(InternalRealms.java:106) ~[?:?] at org.elasticsearch.xpack.security.authc.Realms.initRealms(Realms.java:191) ~[?:?] at org.elasticsearch.xpack.security.authc.Realms.<init>(Realms.java:68) ~[?:?] at org.elasticsearch.xpack.security.Security.createComponents(Security.java:469) ~[?:?] at org.elasticsearch.xpack.security.Security.createComponents(Security.java:399) ~[?:?] at org.elasticsearch.node.Node.lambda$new$11(Node.java:472) ~[elasticsearch-6.5.1.jar:6.5.1] at java.util.stream.ReferencePipeline$7$1.accept(ReferencePipeline.java:267) [?:1.8.0_144] at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1374) [?:1.8.0_144] at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481) [?:1.8.0_144]
Please let me know if you have any thoughts on the above error message. support@elastic.co says I need to enter GSuite specific attributes for attributes.principal and attributes.groups. GSuite support says that I can keep attributes.principal to be "nameid:persistent" and attributes.groups to be "groups".
Thank you!