For AI agents: A markdown version of this page is available at https://docs.datadoghq.com/security/code_security/iac_security/iac_rules/terraform-aws-elasticsearch-no-finegrain-access-control.md.
A documentation index is available at /llms.txt.
Fine-grained access control in AWS OpenSearch and Elasticsearch domains enables administrators to restrict access to specific indices, documents, and fields based on user permissions, significantly enhancing security. Without this control enabled, your domain could be vulnerable to unauthorized access, data breaches, and potential exfiltration of sensitive information stored in your search clusters. Both the enabled and internal_user_database_enabled parameters must be set to true within the advanced_security_options block to properly secure the domain, as shown in the following secure configuration:
resource"aws_opensearch_domain""good_example"{domain_name="example"advanced_security_options{enabled=true # ✅ Fine-grained access control is enabled
internal_user_database_enabled=true # ✅ Internal user database is enabled
}}
resource"aws_elasticsearch_domain""good_example"{domain_name="example"advanced_security_options{enabled=true # ✅ Fine-grained access control is enabled
internal_user_database_enabled=true # ✅ Internal user database is enabled
}}
Non-Compliant Code Examples
resource"aws_opensearch_domain""bad_example"{domain_name="example"advanced_security_options{enabled=false # ❌ Fine-grained access control is disabled
internal_user_database_enabled=false # ❌ Internal user database is disabled
}}resource"aws_elasticsearch_domain""bad_example2"{domain_name="example"advanced_security_options{enabled=false # ❌ Fine-grained access control is disabled
internal_user_database_enabled=false # ❌ Internal user database is disabled
}}resource"aws_elasticsearch_domain""bad_example3"{domain_name="example"advanced_security_options{enabled=trueinternal_user_database_enabled=false}}resource"aws_elasticsearch_domain""bad_example4"{domain_name="example"advanced_security_options{enabled=falseinternal_user_database_enabled=true}}resource"aws_elasticsearch_domain""bad_example5"{domain_name="example" # ❌ No advanced_security_options block
}
1
2
rulesets:- Terraform / AWS # Rules to enforce / AWS.
Request a personalized demo
Get Started with Datadog
Ask AI
AI-generated responses may be inaccurate. Verify important info.