Skip to content

Commit

Permalink
feat(result): added resourceType and resourceName to Ansible queries …
Browse files Browse the repository at this point in the history
…result (#5362)

* added resourceType and resourceName to ANS AWS

* added resourceType and resourceName to ANS AZURE

* added resourceType and resourceName to ANS GCP
  • Loading branch information
rafaela-soares authored May 24, 2022
1 parent 830be5d commit ff00ceb
Show file tree
Hide file tree
Showing 221 changed files with 704 additions and 3 deletions.
4 changes: 4 additions & 0 deletions assets/queries/ansible/aws/alb_listening_on_http/query.rego
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,8 @@ CxPolicy[result] {

result := {
"documentId": id,
"resourceType": modules[m],
"resourceName": task.name,
"searchKey": sprintf("name={{%s}}.{{%s}}.listeners.Protocol=%s", [task.name, modules[m], applicationLb.listeners[index].Protocol]),
"issueType": "IncorrectValue",
"keyExpectedValue": "'aws_elb_application_lb' Protocol should be 'HTTP'",
Expand All @@ -30,6 +32,8 @@ CxPolicy[result] {

result := {
"documentId": id,
"resourceType": modules[m],
"resourceName": task.name,
"searchKey": sprintf("name={{%s}}.{{%s}}.listeners", [task.name, modules[m]]),
"issueType": "MissingAttribute",
"keyExpectedValue": "'aws_elb_application_lb' Protocol should be 'HTTP'",
Expand Down
4 changes: 4 additions & 0 deletions assets/queries/ansible/aws/ami_not_encrypted/query.rego
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,8 @@ CxPolicy[result] {

result := {
"documentId": id,
"resourceType": modules[m],
"resourceName": task.name,
"searchKey": sprintf("name={{%s}}.{{%s}}", [task.name, modules[m]]),
"issueType": "MissingAttribute",
"keyExpectedValue": "ec2_ami.device_mapping.device_name.encrypted should be set to true",
Expand All @@ -30,6 +32,8 @@ CxPolicy[result] {

result := {
"documentId": id,
"resourceType": modules[m],
"resourceName": task.name,
"searchKey": sprintf("name={{%s}}.{{%s}}.device_mapping.encrypted", [task.name, modules[m]]),
"issueType": "IncorrectValue",
"keyExpectedValue": "ec2_ami.device_mapping.encrypted should be set to true",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,8 @@ CxPolicy[result] {

result := {
"documentId": id,
"resourceType": modules[m],
"resourceName": task.name,
"searchKey": sprintf("name={{%s}}.{{%s}}.launch_permissions", [task.name, modules[m]]),
"issueType": "IncorrectValue",
"keyExpectedValue": "ec2_ami.launch_permissions just allows one user to launch the AMI",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,8 @@ CxPolicy[result] {

result := {
"documentId": id,
"resourceType": modules[m],
"resourceName": task.name,
"searchKey": sprintf("name={{%s}}.{{%s}}.endpoint_type", [task.name, modules[m]]),
"issueType": "IncorrectValue",
"keyExpectedValue": "'aws_api_gateway.endpoint_type' is 'PRIVATE'",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,8 @@ CxPolicy[result] {

result := {
"documentId": id,
"resourceType": modules[m],
"resourceName": task.name,
"searchKey": sprintf("name={{%s}}.{{%s}}", [task.name, modules[m]]),
"issueType": "MissingAttribute",
"keyExpectedValue": "cloudwatchlogs_log_grouptracing_enabled should contain log_group_name",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,8 @@ CxPolicy[result] {

result := {
"documentId": id,
"resourceType": modules[m],
"resourceName": task.name,
"searchKey": sprintf("name={{%s}}.{{%s}}.%s", [task.name, modules[m], content_info.attribute]),
"issueType": "IncorrectValue",
"keyExpectedValue": sprintf("'%s.%s' has a authorizer set", [modules[m], content_info.attribute]),
Expand All @@ -37,6 +39,8 @@ CxPolicy[result] {

result := {
"documentId": id,
"resourceType": modules[m],
"resourceName": task.name,
"searchKey": sprintf("name={{%s}}.{{%s}}.swagger_text", [task.name, modules[m]]),
"issueType": "IncorrectValue",
"keyExpectedValue": sprintf("'%s.swagger_text' has a authorizer set", [modules[m]]),
Expand All @@ -54,6 +58,8 @@ CxPolicy[result] {

result := {
"documentId": id,
"resourceType": modules[m],
"resourceName": task.name,
"searchKey": sprintf("name={{%s}}.{{%s}}", [task.name, modules[m]]),
"issueType": "IncorrectValue",
"keyExpectedValue": sprintf("'%s' has swagger_file, swagger_text or swagger_dict set", [modules[m]]),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,8 @@ CxPolicy[result] {

result := {
"documentId": id,
"resourceType": modules[m],
"resourceName": task.name,
"searchKey": sprintf("name={{%s}}.{{%s}}", [task.name, modules[m]]),
"issueType": "MissingAttribute",
"keyExpectedValue": "aws_api_gateway.validate_certs is set",
Expand All @@ -30,6 +32,8 @@ CxPolicy[result] {

result := {
"documentId": id,
"resourceType": modules[m],
"resourceName": task.name,
"searchKey": sprintf("name={{%s}}.{{%s}}.validate_certs", [task.name, modules[m]]),
"issueType": "IncorrectValue",
"keyExpectedValue": "aws_api_gateway.validate_certs is set to yes",
Expand Down
2 changes: 2 additions & 0 deletions assets/queries/ansible/aws/api_gateway_without_waf/query.rego
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,8 @@ CxPolicy[result] {

result := {
"documentId": id,
"resourceType": modules[m],
"resourceName": task.name,
"searchKey": sprintf("name={{%s}}.{{%s}}", [task.name, modules[m]]),
"issueType": "MissingAttribute",
"keyExpectedValue": "API Gateway Stage is associated with a Web Application Firewall",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,8 @@ CxPolicy[result] {

result := {
"documentId": id,
"resourceType": modules[m],
"resourceName": task.name,
"searchKey": sprintf("name={{%s}}.{{%s}}", [task.name, modules[m]]),
"issueType": "MissingAttribute",
"keyExpectedValue": "aws_api_gateway.tracing_enabled is defined",
Expand All @@ -30,6 +32,8 @@ CxPolicy[result] {

result := {
"documentId": id,
"resourceType": modules[m],
"resourceName": task.name,
"searchKey": sprintf("name={{%s}}.{{%s}}.tracing_enabled", [task.name, modules[m]]),
"issueType": "IncorrectValue",
"keyExpectedValue": "aws_api_gateway.tracing_enabled is true",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,8 @@ CxPolicy[result] {

result := {
"documentId": id,
"resourceType": modules[m],
"resourceName": task.name,
"searchKey": sprintf("name={{%s}}.{{%s}}", [task.name, modules[m]]),
"issueType": "MissingAttribute",
"keyExpectedValue": sprintf("sts_assume_role.%s is set", [attributes[j]]),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,8 @@ CxPolicy[result] {

result := {
"documentId": id,
"resourceType": modules[m],
"resourceName": task.name,
"searchKey": sprintf("name={{%s}}.{{%s}}", [task.name, modules[m]]),
"issueType": "MissingAttribute",
"keyExpectedValue": sprintf("%s.load_balancers is set and not empty", [modules[m]]),
Expand All @@ -31,6 +33,8 @@ CxPolicy[result] {

result := {
"documentId": id,
"resourceType": modules[m],
"resourceName": task.name,
"searchKey": sprintf("name={{%s}}.{{%s}}.load_balancers", [task.name, modules[m]]),
"issueType": "IncorrectValue",
"keyExpectedValue": sprintf("%s.load_balancers is not empty", [modules[m]]),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,8 @@ CxPolicy[result] {

result := {
"documentId": id,
"resourceType": modules[m],
"resourceName": task.name,
"searchKey": sprintf("name={{%s}}.{{%s}}.auto_minor_version_upgrade", [task.name, modules[m]]),
"issueType": "IncorrectValue",
"keyExpectedValue": "rds_instance.auto_minor_version_upgrade should be true",
Expand All @@ -30,6 +32,8 @@ CxPolicy[result] {

result := {
"documentId": id,
"resourceType": modules[m],
"resourceName": task.name,
"searchKey": sprintf("name={{%s}}.{{%s}}", [task.name, modules[m]]),
"issueType": "MissingAttribute",
"keyExpectedValue": "rds_instance.auto_minor_version_upgrade should be set",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,8 @@ CxPolicy[result] {

result := {
"documentId": id,
"resourceType": modules[m],
"resourceName": task.name,
"searchKey": sprintf("name={{%s}}.{{%s}}%s", [task.name, modules[m], searchKey]),
"issueType": issueType(searchKey),
"keyExpectedValue": "iam_password_policy should have the property 'allow_pw_change/allow_password_change' true",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,8 @@ CxPolicy[result] {

result := {
"documentId": id,
"resourceType": modules[m],
"resourceName": task.name,
"searchKey": sprintf("name={{%s}}.{{%s}}.privileged", [task.name, modules[m]]),
"issueType": "IncorrectValue",
"keyExpectedValue": sprintf("name={{%s}}.{{%s}}.privileged is 'false' or not set", [task.name, modules[m]]),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,8 @@ CxPolicy[result] {

result := {
"documentId": id,
"resourceType": modules[m],
"resourceName": task.name,
"searchKey": sprintf("name={{%s}}.{{%s}}", [task.name, modules[m]]),
"issueType": "MissingAttribute",
"keyExpectedValue": "rds_instance.ca_certificate_identifier should be defined",
Expand All @@ -30,6 +32,8 @@ CxPolicy[result] {

result := {
"documentId": id,
"resourceType": modules[m],
"resourceName": task.name,
"searchKey": sprintf("name={{%s}}.{{%s}}.ca_certificate_identifier", [task.name, modules[m]]),
"issueType": "IncorrectValue",
"keyExpectedValue": "rds_instance.ca_certificate_identifier is equal to 'rds-ca-2019'",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,8 @@ CxPolicy[result] {

result := {
"documentId": id,
"resourceType": modules[m],
"resourceName": task.name,
"searchKey": sprintf("name={{%s}}.{{%s}}", [task.name, modules[m]]),
"issueType": "MissingAttribute",
"keyExpectedValue": sprintf("name={{%s}}.{{%s}}.enabled is set to 'true'", [task.name, modules[m]]),
Expand All @@ -30,6 +32,8 @@ CxPolicy[result] {

result := {
"documentId": id,
"resourceType": modules[m],
"resourceName": task.name,
"searchKey": sprintf("name={{%s}}.{{%s}}.enabled", [task.name, modules[m]]),
"issueType": "IncorrectValue",
"keyExpectedValue": sprintf("name={{%s}}.{{%s}}.enabled is set to 'true'", [task.name, modules[m]]),
Expand All @@ -47,6 +51,8 @@ CxPolicy[result] {

result := {
"documentId": id,
"resourceType": modules[m],
"resourceName": task.name,
"searchKey": sprintf("name={{%s}}.{{%s}}", [task.name, modules[m]]),
"issueType": "MissingAttribute",
"keyExpectedValue": sprintf("name={{%s}}.{{%s}}.origins is defined", [task.name, modules[m]]),
Expand Down
2 changes: 2 additions & 0 deletions assets/queries/ansible/aws/certificate_has_expired/query.rego
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,8 @@ CxPolicy[result] {

result := {
"documentId": id,
"resourceType": "community.aws.aws_acm",
"resourceName": task.name,
"searchKey": sprintf("name={{%s}}.community.aws.aws_acm.certificate", [task.name]),
"issueType": "IncorrectValue",
"keyExpectedValue": "'community.aws.aws_acm.certificate' does not have expired",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,8 @@ CxPolicy[result] {

result := {
"documentId": id,
"resourceType": "community.aws.aws_acm",
"resourceName": task.name,
"searchKey": sprintf("name={{%s}}.community.aws.aws_acm.certificate", [task.name]),
"issueType": "IncorrectValue",
"keyExpectedValue": "'community.aws.aws_acm.certificate' uses a RSA key with a length equal to or higher than 256 bytes",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,8 @@ CxPolicy[result] {

result := {
"documentId": id,
"resourceType": modules[m],
"resourceName": task.name,
"searchKey": sprintf("name={{%s}}.{{%s}}", [task.name, modules[m]]),
"issueType": "MissingAttribute",
"keyExpectedValue": "cloudfront_distribution.logging is defined",
Expand All @@ -30,6 +32,8 @@ CxPolicy[result] {

result := {
"documentId": id,
"resourceType": modules[m],
"resourceName": task.name,
"searchKey": sprintf("name={{%s}}.{{%s}}.logging.enabled", [task.name, modules[m]]),
"issueType": "IncorrectValue",
"keyExpectedValue": "cloudfront_distribution.logging.enabled is true",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,8 @@ CxPolicy[result] {

result := {
"documentId": id,
"resourceType": modules[m],
"resourceName": task.name,
"searchKey": sprintf("name={{%s}}.{{%s}}", [task.name, modules[m]]),
"issueType": "MissingAttribute",
"keyExpectedValue": "cloudfront_distribution.viewer_certificate is defined",
Expand All @@ -33,6 +35,8 @@ CxPolicy[result] {

result := {
"documentId": id,
"resourceType": modules[m],
"resourceName": task.name,
"searchKey": sprintf("name={{%s}}.{{%s}}.viewer_certificate.minimum_protocol_version", [task.name, modules[m]]),
"issueType": "IncorrectValue",
"keyExpectedValue": sprintf("name={{%s}}.{{%s}}.viewer_certificate.minimum_protocol_version' is TLSv1.2_x", [task.name, modules[m]]),
Expand Down
2 changes: 2 additions & 0 deletions assets/queries/ansible/aws/cloudfront_without_waf/query.rego
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,8 @@ CxPolicy[result] {

result := {
"documentId": id,
"resourceType": modules[m],
"resourceName": task.name,
"searchKey": sprintf("name={{%s}}.{{%s}}", [task.name, modules[m]]),
"issueType": "MissingAttribute",
"keyExpectedValue": "cloudfront_distribution.web_acl_id is defined",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,8 @@ CxPolicy[result] {

result := {
"documentId": id,
"resourceType": modules[m],
"resourceName": task.name,
"searchKey": sprintf("name={{%s}}.{{%s}}", [task.name, modules[m]]),
"issueType": "MissingAttribute",
"keyExpectedValue": "cloudtrail.enable_log_file_validation or cloudtrail.log_file_validation_enabled is defined",
Expand All @@ -34,6 +36,8 @@ CxPolicy[result] {

result := {
"documentId": id,
"resourceType": modules[m],
"resourceName": task.name,
"searchKey": sprintf("name={{%s}}.{{%s}}.%s", [task.name, modules[m], attr]),
"issueType": "IncorrectValue",
"keyExpectedValue": sprintf("cloudtrail.%s is set to true or yes", [attr]),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,8 @@ CxPolicy[result] {

result := {
"documentId": id,
"resourceType": modules[m],
"resourceName": task.name,
"searchKey": sprintf("name={{%s}}.{{%s}}", [task.name, modules[m]]),
"issueType": "MissingAttribute",
"keyExpectedValue": "cloudtrail.kms_key_id is set",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,8 @@ CxPolicy[result] {

result := {
"documentId": id,
"resourceType": modules[m],
"resourceName": task.name,
"searchKey": sprintf("name={{%s}}.{{%s}}.enable_logging", [task.name, modules[m]]),
"issueType": "IncorrectValue",
"keyExpectedValue": "cloudtrail.enable_logging is true",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,8 @@ CxPolicy[result] {

result := {
"documentId": id,
"resourceType": modules[m],
"resourceName": task.name,
"searchKey": sprintf("name={{%s}}.{{%s}}.is_multi_region_trail", [task.name, modules[m]]),
"issueType": "IncorrectValue",
"keyExpectedValue": "cloudtrail.is_multi_region_trail is true",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,8 @@ CxPolicy[result] {

result := {
"documentId": id,
"resourceType": modules[m],
"resourceName": task.name,
"searchKey": sprintf("name={{%s}}.{{%s}}", [task.name, modules[m]]),
"issueType": "MissingAttribute",
"keyExpectedValue": sprintf("name={{%s}}.{{%s}}.%s is defined", [task.name, modules[m], properties[p]]),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,8 @@ CxPolicy[result] {

result := {
"documentId": id,
"resourceType": modules[m],
"resourceName": task.name,
"searchKey": sprintf("name={{%s}}.{{%s}}", [task.name, modules[m]]),
"issueType": "MissingAttribute",
"keyExpectedValue": "cloudtrail.sns_topic_name is set",
Expand All @@ -29,6 +31,8 @@ CxPolicy[result] {

result := {
"documentId": id,
"resourceType": modules[m],
"resourceName": task.name,
"searchKey": sprintf("name={{%s}}.{{%s}}.sns_topic_name", [task.name, modules[m]]),
"issueType": "IncorrectValue",
"keyExpectedValue": "cloudtrail.sns_topic_name is set",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,8 @@ CxPolicy[result] {

result := {
"documentId": id,
"resourceType": modules[m],
"resourceName": task.name,
"searchKey": sprintf("name={{%s}}.{{%s}}", [task.name, modules[m]]),
"issueType": "MissingAttribute",
"keyExpectedValue": "cloudwatchlogs_log_group.retention is set",
Expand All @@ -33,6 +35,8 @@ CxPolicy[result] {

result := {
"documentId": id,
"resourceType": modules[m],
"resourceName": task.name,
"searchKey": sprintf("name={{%s}}.{{%s}}.retention", [task.name, modules[m]]),
"issueType": "IncorrectValue",
"keyExpectedValue": "cloudwatchlogs_log_group.retention is set and valid",
Expand Down
Loading

0 comments on commit ff00ceb

Please sign in to comment.