Hi team,
After upgrading from Wazuh 4.14.3 to 4.14.7 (reinstalled the GCS repository plugin on the indexer, reconnected the same bucket), snapshot restores now fail via the dashboard and via the REST API when authenticating as a normal admin-mapped user.
Environment:
- Wazuh 4.14.7 (indexer, dashboard, manager)
- OpenSearch 2.19.5
- 2-node indexer cluster
- GCS snapshot repository
Error (identical via dashboard and curl):
{"error":{"root_cause":[{"type":"security_exception","reason":"no permissions for [] and User [name=Sanstark_internal@011, backend_roles=[admin], requestedTenant=null]"}],"type":"security_exception","reason":"no permissions for [] and User [name=Sanstark_internal@011, backend_roles=[admin], requestedTenant=null]"},"status":403}
What I've confirmed:
- The target index is a normal data index (wazuh-alerts-4.x-YYYY.MM.DD), not a system/security index like .opendistro_security or .kibana*
- User resolves to roles: [own_index, custom_snapshot_management, all_access] via GET _plugins/_security/api/account
- backend_roles: [admin] correctly maps to all_access per GET _plugins/_security/api/rolesmapping/all_access
- plugins.security.enable_snapshot_restore_privilege: true and plugins.security.check_snapshot_restore_write_privileges are both set correctly on both indexer nodes (tried both true and false), confirmed via config file and confirmed the service was restarted with the new config after each change
- No dynamic cluster setting is overriding these (GET _cluster/settings shows nothing relevant under persistent/transient)
- No audit logging is enabled, so I couldn't get more detail from the indexer logs at the moment of failure
Workaround that succeeded:
Authenticating with the admin certificate (admin.pem/admin-key.pem, matching plugins.security.authcz.admin_dn) instead of the normal admin-mapped user bypasses the issue entirely and the restore completes successfully (after handling a separate, expected "index already exists" error with a rename_pattern).
Question:
Is this expected behavior for an all_access user restoring a non-system index, or a gap in the security plugin's privilege evaluation for snapshot restore? I found a similar report in an older mailing list thread (Pradeep, Jan 2023, "Unable to restore the index from s3") with the same exact error, but no root cause was confirmed there either. Happy to provide indexer logs, opensearch.yml, or roles/rolesmapping config if useful.
is this any bug related issue? please help me to solve this problem