splunk / splunk-operator

Splunk Operator for Kubernetes
Other
209 stars 115 forks source link

Solution to configure Splunk internal accounts / passwd (used as service accounts for scheduled searches) #235

Open romain-bellanger opened 3 years ago

romain-bellanger commented 3 years ago

Our Splunk clusters are configured to use LDAP or SAML authentication strategies for human users, But we use internal Splunk users to run scheduled searches or searches running as owner as:

We generally define a Splunk internal service account per Splunk app, and our CI pipeline ensures that the owner of all the objects of the apps which require an owner are associated to this internal service account following a naming convention.

In our traditional environment, an ansible playbook creates these service accounts by generating the /opt/splunk/etc/passwd`` file from a Jinja template, and calls the APIservices/authentication/providers/services/_reload``` to reload it, We can configure a role for these accounts, and their (strong) password hash is generated randomly on the fly and automatically modified on any app deployment (an option to completely disable authentication would be even better but doesn't seem to exist).

The splunk-operator doesn't seem to provide the possibility to configure internal Splunk accounts for now, and managing them manually through the UI can quickly become heavy with a high cluster x app cardinality.

marcusschiesser commented 2 years ago

@romain-bellanger do you think your issue would be solvable with a post init hook as proposed in https://github.com/splunk/splunk-operator/issues/875?