Check ID:
Provider: AWS
Service:
Severity: HIGH
Categories:
Resource type:
opensearch_service_domains_access_control_enabledProvider: AWS
Service:
opensearchSeverity: HIGH
Categories:
identity-accessResource type:
AwsOpenSearchServiceDomainWhat this check verifies
Amazon OpenSearch Service domains are evaluated for fine-grained access control being enabled inadvanced-security-options, ensuring role-based authorization at index, document, and field levels for API and Dashboards access.
Risk
Without fine-grained access control, identities may gain overly broad permissions, enabling unauthorized reads or writes across indices and Dashboards. This undermines confidentiality and integrity, facilitates lateral movement, and increases the blast radius of a compromised account.Recommendation
Enable fine-grained access control inadvanced-security-options. Define granular, role-based permissions (index/document/field) and map them to federated identities. Apply least privilege, deny-by-default, and separation of duties. Limit public access and regularly review role mappings.
Remediation
- CLI
- Terraform
- Native IaC
- Dashboard steps
References
- https://repost.aws/questions/QUvejSG0WDRByFVMcDchn_5w/how-do-resource-based-access-policies-interact-with-fgac-master-users-in-amazon-opensearch-service
- https://docs.aws.amazon.com/securityhub/latest/userguide/opensearch-controls.html#opensearch-7
- https://docs.aws.amazon.com/opensearch-service/latest/developerguide/fgac.html#fgac-enabling
- https://ealtili.medium.com/how-to-use-fine-grained-access-control-in-amazon-opensearch-service-4dc86bffd40d
Where this check fires
This check runs on every scheduled scan against your AWS account. Findings appear at Cloud Security → Findings filterable byCheck ID = opensearch_service_domains_access_control_enabled. To re-evaluate after a fix, hit Run now on the account’s schedule under Cloud Security → Schedules — the next scan re-checks this control and marks the finding fixed or keeps it persistent.
← Back to AWS checks