Output of securityadmin.sh (looks fine):
$ sudo /usr/share/opensearch/plugins/opensearch-security/tools/securityadmin.sh -cd /etc/opensearch/opensearch-security -cert $ROOT_CERT -key $ROOT_KEY -cacert $CACERT -cn --clustername--
**************************************************************************
** This tool will be deprecated in the next major release of OpenSearch **
** https://github.com/opensearch-project/security/issues/1755 **
**************************************************************************
Security Admin v7
Will connect to localhost:9200 ... done
Connected as "CN=securityadmin"
OpenSearch Version: 2.16.0
Contacting opensearch cluster '--clustername--' and wait for YELLOW clusterstate ...
Clustername: --clustername--
Clusterstate: GREEN
Number of nodes: 3
Number of data nodes: 3
.opendistro_security index already exists, so we do not need to create one.
Populate config from /etc/opensearch/opensearch-security/
Will update '/config' with /etc/opensearch/opensearch-security/config.yml
SUCC: Configuration for 'config' created or updated
Will update '/roles' with /etc/opensearch/opensearch-security/roles.yml
SUCC: Configuration for 'roles' created or updated
Will update '/rolesmapping' with /etc/opensearch/opensearch-security/roles_mapping.yml
SUCC: Configuration for 'rolesmapping' created or updated
Will update '/internalusers' with /etc/opensearch/opensearch-security/internal_users.yml
SUCC: Configuration for 'internalusers' created or updated
Will update '/actiongroups' with /etc/opensearch/opensearch-security/action_groups.yml
SUCC: Configuration for 'actiongroups' created or updated
Will update '/tenants' with /etc/opensearch/opensearch-security/tenants.yml
SUCC: Configuration for 'tenants' created or updated
Will update '/nodesdn' with /etc/opensearch/opensearch-security/nodes_dn.yml
SUCC: Configuration for 'nodesdn' created or updated
Will update '/whitelist' with /etc/opensearch/opensearch-security/whitelist.yml
SUCC: Configuration for 'whitelist' created or updated
Will update '/audit' with /etc/opensearch/opensearch-security/audit.yml
SUCC: Configuration for 'audit' created or updated
Will update '/allowlist' with /etc/opensearch/opensearch-security/allowlist.yml
SUCC: Configuration for 'allowlist' created or updated
SUCC: Expected 10 config types for node {"updated_config_types":["allowlist","tenants","rolesmapping","nodesdn","audit","roles","whitelist","actiongroups","config","internalusers"],"updated_config_size":10,"message":null} is 10 (["allowlist","tenants","rolesmapping","nodesdn","audit","roles","whitelist","actiongroups","config","internalusers"]) due to: null
SUCC: Expected 10 config types for node {"updated_config_types":["allowlist","tenants","rolesmapping","nodesdn","audit","roles","whitelist","actiongroups","config","internalusers"],"updated_config_size":10,"message":null} is 10 (["allowlist","tenants","rolesmapping","nodesdn","audit","roles","whitelist","actiongroups","config","internalusers"]) due to: null
SUCC: Expected 10 config types for node {"updated_config_types":["allowlist","tenants","rolesmapping","nodesdn","audit","roles","whitelist","actiongroups","config","internalusers"],"updated_config_size":10,"message":null} is 10 (["allowlist","tenants","rolesmapping","nodesdn","audit","roles","whitelist","actiongroups","config","internalusers"]) due to: null
Done with success
my opensearch config:
---
action.destructive_requires_name: true
bootstrap.memory_lock: true
cluster.indices.replication.strategy: SEGMENT
cluster.max_shards_per_node: 50000
cluster.name: --clustername--
cluster.routing.allocation.awareness.attributes: location
cluster.routing.allocation.cluster_concurrent_rebalance: 4
cluster.routing.allocation.disk.watermark.flood_stage: 99%
cluster.routing.allocation.disk.watermark.high: 97%
cluster.routing.allocation.disk.watermark.low: 93%
cluster.routing.allocation.node_concurrent_incoming_recoveries: 20
cluster.routing.allocation.node_concurrent_outgoing_recoveries: 20
cluster.routing.allocation.node_initial_primaries_recoveries: 40
cluster.routing.rebalance.enable: all
discovery.seed_hosts:
- host1
- host2
- host3
network.host: 0.0.0.0
node.attr.location: xyz
node.name: nodename
path.data: "/var/lib/opensearch"
path.logs: "/var/log/opensearch"
plugins.replication.autofollow.fetch_poll_interval: 30s
plugins.replication.autofollow.retry_poll_interval: 60s
plugins.security.audit.type: internal_opensearch
plugins.security.authcz.admin_dn:
- CN=securityadmin
plugins.security.nodes_dn:
- CN=opensearch
- CN=opensearch-xxxxx
- CN=opensearch-yyyyy
plugins.security.restapi.endpoints_disabled.security_rest_api_access.ACTIONGROUPS:
- PUT
- POST
- DELETE
- PATCH
plugins.security.restapi.endpoints_disabled.security_rest_api_access.CACHE:
- PUT
- POST
- DELETE
- PATCH
plugins.security.restapi.endpoints_disabled.security_rest_api_access.CONFIG:
- PUT
- POST
- DELETE
- PATCH
plugins.security.restapi.endpoints_disabled.security_rest_api_access.INTERNALUSERS:
- PUT
- POST
- DELETE
- PATCH
plugins.security.restapi.endpoints_disabled.security_rest_api_access.ROLES:
- PUT
- POST
- DELETE
- PATCH
plugins.security.restapi.endpoints_disabled.security_rest_api_access.ROLESMAPPING:
- PUT
- POST
- DELETE
- PATCH
plugins.security.restapi.endpoints_disabled.security_rest_api_access.SYSTEMINFO:
- PUT
- POST
- DELETE
- PATCH
plugins.security.restapi.roles_enabled:
- security_rest_api_access
plugins.security.ssl.http.enabled: true
plugins.security.ssl.http.pemcert_filepath: "/secrets/opensearch.pem"
plugins.security.ssl.http.pemkey_filepath: "/secrets/opensearch.pkcs8"
plugins.security.ssl.http.pemtrustedcas_filepath: "/secrets/opensearch-ca_full.crt"
plugins.security.ssl.transport.pemcert_filepath: "/secrets/opensearch.pem"
plugins.security.ssl.transport.pemkey_filepath: "/secrets/opensearch.pkcs8"
plugins.security.ssl.transport.pemtrustedcas_filepath: "/secrets/opensearch-ca_full.crt"
plugins.security.ssl_cert_reload_enabled: true
plugins.security.system_indices.enabled: true
s3.client.default.endpoint: minio-xyz:9000
s3.client.default.path_style_access: 'true'
transport.bind_host: 0.0.0.0
transport.publish_host: transportname-xyz