From d8faca2b9833650caa860051197e0b21faaef1b8 Mon Sep 17 00:00:00 2001 From: Anna Shcherbak Date: Wed, 29 May 2024 21:41:57 +0300 Subject: [PATCH] skip: update autotest for directory --- .github/workflows/tf_testing.yml | 2 +- .../green/account/securityhub.tf | 1 - .../green/cloudtrail/cloudtrail.tf | 59 +------------------ auto_policy_testing/green/cloudtrail/iam.tf | 49 +++++++++++++++ .../green/common_resources/waf.tf | 4 +- auto_policy_testing/green/directory/ba.sh | 13 ++++ .../green/directory/directory.tf | 40 +++++++++++++ auto_policy_testing/green/directory/main.tf | 13 ++++ .../green/directory/outputs.tf | 5 ++ .../green/directory/provider.tf | 20 +++++++ .../green/directory/variables.tf | 5 ++ .../red/directory/directory.tf | 58 ------------------ auto_policy_testing/scripts/iam_role_aws.py | 46 ++++++++------- auto_policy_testing/scripts/main.py | 12 ++-- 14 files changed, 180 insertions(+), 147 deletions(-) create mode 100644 auto_policy_testing/green/cloudtrail/iam.tf create mode 100755 auto_policy_testing/green/directory/ba.sh create mode 100644 auto_policy_testing/green/directory/directory.tf create mode 100644 auto_policy_testing/green/directory/main.tf create mode 100644 auto_policy_testing/green/directory/outputs.tf create mode 100644 auto_policy_testing/green/directory/provider.tf create mode 100644 auto_policy_testing/green/directory/variables.tf diff --git a/.github/workflows/tf_testing.yml b/.github/workflows/tf_testing.yml index d540139e1..dd3d048f9 100644 --- a/.github/workflows/tf_testing.yml +++ b/.github/workflows/tf_testing.yml @@ -22,7 +22,7 @@ env: CORE_TESTING_FOLDER: ${{ github.workspace }} OUTPUT_DIR: ${{ github.workspace }}/auto_policy_testing/output AWS_DEFAULT_REGION: ${{ vars.AWS_REGION }} - resource_priority_list: 'fsx' + resource_priority_list: 'directory' RED: '\033[0;31m' jobs: diff --git a/auto_policy_testing/green/account/securityhub.tf b/auto_policy_testing/green/account/securityhub.tf index af490fd72..fc41fa2a0 100644 --- a/auto_policy_testing/green/account/securityhub.tf +++ b/auto_policy_testing/green/account/securityhub.tf @@ -8,5 +8,4 @@ resource "null_resource" "this" { when = destroy command = "aws securityhub disable-security-hub" } - } \ No newline at end of file diff --git a/auto_policy_testing/green/cloudtrail/cloudtrail.tf b/auto_policy_testing/green/cloudtrail/cloudtrail.tf index 0b34c3e88..c98b1c59b 100644 --- a/auto_policy_testing/green/cloudtrail/cloudtrail.tf +++ b/auto_policy_testing/green/cloudtrail/cloudtrail.tf @@ -1,5 +1,5 @@ resource "aws_cloudtrail" "this" { - name = "${module.naming.resource_prefix.cloud_trail}" + name = "${module.naming.resource_prefix.trail}" s3_bucket_name = aws_s3_bucket.this.id cloud_watch_logs_group_arn = "${aws_cloudwatch_log_group.this.arn}:*" cloud_watch_logs_role_arn = aws_iam_role.this.arn @@ -42,60 +42,5 @@ resource "aws_s3_bucket_policy" "this" { } resource "aws_cloudwatch_log_group" "this" { - name = "${module.naming.resource_prefix.cloud_trail}" -} - -resource "aws_cloudwatch_log_stream" "this" { - name = "${module.naming.resource_prefix.cloud_trail}" - log_group_name = aws_cloudwatch_log_group.this.name -} - -resource "aws_iam_role" "this" { - name = "${module.naming.resource_prefix.cloud_trail}" - assume_role_policy = <<-POLICY - { - "Version": "2012-10-17", - "Statement": [ - { - "Effect": "Allow", - "Principal": { - "Service": "cloudtrail.amazonaws.com" - }, - "Action": "sts:AssumeRole" - } - ] - } - POLICY -} - -resource "aws_iam_role_policy" "this" { - name = "${module.naming.resource_prefix.cloud_trail}" - role = aws_iam_role.this.id - policy = <<-POLICY - { - "Version": "2012-10-17", - "Statement": [ - { - "Sid": "AWSCloudTrailCreateLogStream2014110", - "Effect": "Allow", - "Action": [ - "logs:CreateLogStream" - ], - "Resource": [ - "arn:aws:logs:${var.region}:${data.aws_caller_identity.this.account_id}:log-group:${aws_cloudwatch_log_group.this.name}:log-stream:*" - ] - }, - { - "Sid": "AWSCloudTrailPutLogEvents20141101", - "Effect": "Allow", - "Action": [ - "logs:PutLogEvents" - ], - "Resource": [ - "arn:aws:logs:${var.region}:${data.aws_caller_identity.this.account_id}:log-group:${aws_cloudwatch_log_group.this.name}:log-stream:*" - ] - } - ] - } - POLICY + name = "${module.naming.resource_prefix.cw_log_group}" } diff --git a/auto_policy_testing/green/cloudtrail/iam.tf b/auto_policy_testing/green/cloudtrail/iam.tf new file mode 100644 index 000000000..48719e2de --- /dev/null +++ b/auto_policy_testing/green/cloudtrail/iam.tf @@ -0,0 +1,49 @@ +resource "aws_iam_role" "this" { + name = "${module.naming.resource_prefix.iam_role}" + assume_role_policy = <<-POLICY + { + "Version": "2012-10-17", + "Statement": [ + { + "Effect": "Allow", + "Principal": { + "Service": "cloudtrail.amazonaws.com" + }, + "Action": "sts:AssumeRole" + } + ] + } + POLICY +} + +resource "aws_iam_role_policy" "this" { + name = "${module.naming.resource_prefix.iam_policy}" + role = aws_iam_role.this.id + policy = <<-POLICY + { + "Version": "2012-10-17", + "Statement": [ + { + "Sid": "AWSCloudTrailCreateLogStream2014110", + "Effect": "Allow", + "Action": [ + "logs:CreateLogStream" + ], + "Resource": [ + "arn:aws:logs:${var.region}:${data.aws_caller_identity.this.account_id}:log-group:${aws_cloudwatch_log_group.this.name}:log-stream:*" + ] + }, + { + "Sid": "AWSCloudTrailPutLogEvents20141101", + "Effect": "Allow", + "Action": [ + "logs:PutLogEvents" + ], + "Resource": [ + "arn:aws:logs:${var.region}:${data.aws_caller_identity.this.account_id}:log-group:${aws_cloudwatch_log_group.this.name}:log-stream:*" + ] + } + ] + } + POLICY +} diff --git a/auto_policy_testing/green/common_resources/waf.tf b/auto_policy_testing/green/common_resources/waf.tf index a69798a74..958599bff 100644 --- a/auto_policy_testing/green/common_resources/waf.tf +++ b/auto_policy_testing/green/common_resources/waf.tf @@ -1,5 +1,5 @@ resource "aws_wafregional_ipset" "this" { - name = module.naming.resource_prefix.waf_ip_set + name = module.naming.resource_prefix.waf_ip_set ip_set_descriptor { type = "IPV4" @@ -19,7 +19,7 @@ resource "aws_wafregional_rule" "this" { } resource "aws_wafregional_web_acl" "this" { - name = "${module.naming.resource_prefix.waf_acl}" + name = module.naming.resource_prefix.waf_acl metric_name = "WafACLMetricGreen" default_action { diff --git a/auto_policy_testing/green/directory/ba.sh b/auto_policy_testing/green/directory/ba.sh new file mode 100755 index 000000000..b69f317fa --- /dev/null +++ b/auto_policy_testing/green/directory/ba.sh @@ -0,0 +1,13 @@ +#!/bin/bash +set -e + +SECURITY_GROUP_ID="sg-06309cf09c4be9423" + +RULE_IDS=$(aws ec2 describe-security-group-rules --filters Name="group-id",Values="$SECURITY_GROUP_ID" --query 'SecurityGroupRules[?CidrIpv4==`0.0.0.0/0` && IsEgress==`false`]'.SecurityGroupRuleId --output text) + +for RULE_ID in $RULE_IDS +do + OLD_RULE=$(aws ec2 describe-security-group-rules --security-group-rule-ids $RULE_ID --output json --query "SecurityGroupRules[0].{IpProtocol:IpProtocol,FromPort:FromPort,ToPort:ToPort,CidrIpv4:CidrIpv4}") + UPD_RULE=$(echo $OLD_RULE | sed 's|"0.0.0.0/0"|"10.0.2.0/24"|g') + aws ec2 modify-security-group-rules --group-id $SECURITY_GROUP_ID --security-group-rules "[{\"SecurityGroupRuleId\": \"$RULE_ID\",\"SecurityGroupRule\": $UPD_RULE}]" +done \ No newline at end of file diff --git a/auto_policy_testing/green/directory/directory.tf b/auto_policy_testing/green/directory/directory.tf new file mode 100644 index 000000000..f5e025c7d --- /dev/null +++ b/auto_policy_testing/green/directory/directory.tf @@ -0,0 +1,40 @@ + +resource "aws_directory_service_directory" "this" { + name = "${module.naming.resource_prefix.directory}.com" + password = "#S1ncerely" + size = "Small" + + vpc_settings { + vpc_id = data.terraform_remote_state.common.outputs.vpc_id + subnet_ids = [ + data.terraform_remote_state.common.outputs.vpc_subnet_1_id, + data.terraform_remote_state.common.outputs.vpc_subnet_3_id + ] + } +} + +resource "null_resource" "this" { + depends_on = [ + aws_directory_service_directory.this + ] + triggers = { + sg = aws_directory_service_directory.this.security_group_id + } + provisioner "local-exec" { + interpreter = ["/bin/bash", "-c"] + command = <