Search Guard version:
7.9.3-47.0.0
Elasticsearch version:
7.9.3, OSS
Kibana version (if relevant):
7.9.3 OSS
Server OS version:
CentOS Linux release 7.6.1810 (Core)
Describe the issue:
I have Elasticsearch, Filebeat, Metricbeat and Kibana running. Search Guard plugin for ES is installed; no plugin installed in Kibana. The Elasticsearch log indicates a permissions issue for the “kibanaserver” user reported by search guard: indices:admin/mappings/get* and indices:monitor/stats. The log events are at the INFO level, but, I am not sure if this is service affecting or not. Can you advise if I have the search guard configuration wrong or do I need the additional permissions added beyond that of SGS_KIBANA_SERVER?
Steps to reproduce:
- Install Elasticsearch, Filebeat, Metricbeat, Kibana
- Observe the ES log
Expected behavior:
All permissions configured for the deployment.
Configuration:
sg_config.yml
sg_config:
dynamic:
kibana:
multitenancy_enabled: false
server_username: "kibanaserver"
index: ".kibana"
rbac_enabled: false
do_not_fail_on_forbidden: true
sg_internal_users.yml:
kibanaserver
hash: "xxxxxxxxxxx"
reserved: true
hidden: true
static: true
backend_roles: [ ]
attributes: { }
search_guard_roles: [ ]
sg_roles_mapping.yml
SGS_KIBANA_SERVER:
reserved: true
hidden: true
hosts: [ ]
users:
- "kibanaserver"
and_backend_roles: [ ]
Elasticsearch logs:
2021-04-05 14:08:43.311Z INFO [elasticsearch[esnode-xxxxxxxxxxx][transport_worker][T#53]] com.floragunn.searchguard.privileges.PrivilegesEvaluator - No index-level perm match for User [name=kibanaserver, backend_roles=[], requestedTenant=null] Resolved [aliases=[*], indices=[*], allIndices=[*], types=[*], originalRequested=[], remoteIndices=[]] [Action [indices:admin/mappings/get]] [RolesChecked [SGS_KIBANA_SERVER, SGS_OWN_INDEX]]
2021-04-05 14:08:43.312Z INFO [elasticsearch[esnode-xxxxxxxxxxx][transport_worker][T#55]] com.floragunn.searchguard.privileges.PrivilegesEvaluator - No index-level perm match for User [name=kibanaserver, backend_roles=[], requestedTenant=null] Resolved [aliases=[], indices=[searchguard, filebeat-7.9.3-2021.04.05, metricbeat-7.9.3-2021.04.05], allIndices=[searchguard, filebeat-7.9.3-2021.04.05, metricbeat-7.9.3-2021.04.05], types=[*], originalRequested=[rsa.*, *magento2*, *squarespace*, *weebly*, logs-endpoint.*, *artifactory*, squid.*, *barracuda*, *bluecoat*, .app-search-*, rsa_*, *sonicwall*, *cylance*, *meow*, *cyberark*, *checkpoint*, fluentd*, *tomcat*, snort-*, *magento*, rsa-*, *drupal*, logstash-*, pan-*, *fortinet*, *symantec*, *sophos*, *nginx*, squid-*, *acquia*, *kaspersky*, apm-*, winlogbeat-*, *citrix*, logstash-snort*, *-*-*-*, .ent-search-*, arcsight-*, squid_*, pan.*, telegraf*, *paloaltonetworks*, *cisco*, functionbeat-*, pan_*, metrics-endpoint.*, *tippingpoint*, *sigma_doc*, *suricata*, *joomla*, endgame-*, *wazuh*, packetbeat-*, *aruba*, *search*, *zscaler*, *zeek*, *fireeye*, *shopify*, *apache*, *sharepoint*, .siem-signals-*, *sitecore*, *infoblox*, *wordpress*, *mcafee*, filebeat-*, prometheusbeat*, auditbeat-*, ecs-corelight*, *tripwire*, heartbeat-*, *trendmicro*, metricbeat-*, fluentbit*], remoteIndices=[]] [Action [indices:monitor/stats]] [RolesChecked [SGS_KIBANA_SERVER, SGS_OWN_INDEX]]
2021-04-05 14:08:43.313Z INFO [elasticsearch[esnode-xxxxxxxxxxx][transport_worker][T#53]] com.floragunn.searchguard.privileges.PrivilegesEvaluator - No permissions for [indices:admin/mappings/get]
2021-04-05 14:08:43.313Z INFO [elasticsearch[esnode-xxxxxxxxxxx][transport_worker][T#55]] com.floragunn.searchguard.privileges.PrivilegesEvaluator - No permissions for [indices:monitor/stats]
Kibana auth info:
# curl -k -u kibanaserver:xxxxxxxxxxx -XGET “https://localhost:9200/_searchguard/authinfo?pretty”
{
“user” : “User [name=kibanaserver, backend_roles=, requestedTenant=null]”,
“user_name” : “kibanaserver”,
“user_requested_tenant” : null,
“remote_address” : “172.17.0.1:40636”,
“backend_roles” : ,
“custom_attribute_names” : ,
“attribute_names” : ,
“sg_roles” : [
“SGS_KIBANA_SERVER”,
“SGS_OWN_INDEX”
],
“sg_tenants” : {
“kibanaserver” : true
},
“principal” : null,
“peer_certificates” : “0”,
“sso_logout_url” : null
}