{ "Version": "2012-10-17", "Statement": [ { "Sid": "SpikeStateBucketReadWrite", "Effect": "Allow", "Action": [ "s3:PutObject", "s3:GetObject", "s3:DeleteObject", "s3:ListBucket", "s3:GetBucketLocation", "s3:GetBucketVersioning" ], "Resource": [ "arn:aws:s3:::acdl-tfstate-581513795199-us-east-1", "arn:aws:s3:::acdl-tfstate-581513795199-us-east-1/*" ] }, { "Sid": "SpikeOutboxTableReadWrite", "Effect": "Allow", "Action": [ "dynamodb:GetItem", "dynamodb:PutItem", "dynamodb:DeleteItem", "dynamodb:UpdateItem", "dynamodb:Query", "dynamodb:Scan", "dynamodb:DescribeTable" ], "Resource": "arn:aws:dynamodb:us-east-1:581513795199:table/acdl-outbox" }, { "Sid": "SpikeStsSelfIdentify", "Effect": "Allow", "Action": "sts:GetCallerIdentity", "Resource": "*" }, { "Sid": "SpikeEcsReadWrite", "Effect": "Allow", "Action": [ "ecs:CreateCluster", "ecs:DescribeCluster", "ecs:DeleteCluster", "ecs:CreateService", "ecs:DescribeService", "ecs:UpdateService", "ecs:DeleteService", "ecs:RegisterTaskDefinition", "ecs:DescribeTaskDefinition", "ecs:DeregisterTaskDefinition", "ecs:ListTasks", "ecs:DescribeTasks" ], "Resource": "arn:aws:ecs:us-east-1:581513795199:*" }, { "Sid": "SpikeEcrReadWrite", "Effect": "Allow", "Action": [ "ecr:CreateRepository", "ecr:DescribeRepositories", "ecr:DeleteRepository", "ecr:GetAuthorizationToken", "ecr:BatchCheckLayerAvailability", "ecr:GetDownloadUrlForLayer", "ecr:BatchGetImage", "ecr:CompleteLayerUpload", "ecr:InitiateLayerUpload", "ecr:PutImage", "ecr:UploadLayerPart" ], "Resource": "arn:aws:ecr:us-east-1:581513795199:*" }, { "Sid": "SpikeElbReadWrite", "Effect": "Allow", "Action": [ "elasticloadbalancing:CreateLoadBalancer", "elasticloadbalancing:DescribeLoadBalancers", "elasticloadbalancing:DeleteLoadBalancer", "elasticloadbalancing:CreateListener", "elasticloadbalancing:DescribeListeners", "elasticloadbalancing:DeleteListener", "elasticloadbalancing:CreateTargetGroup", "elasticloadbalancing:DescribeTargetGroups", "elasticloadbalancing:DeleteTargetGroup", "elasticloadbalancing:ModifyTargetGroupAttributes", "elasticloadbalancing:RegisterTargets", "elasticloadbalancing:DeregisterTargets" ], "Resource": "arn:aws:elasticloadbalancing:us-east-1:581513795199:*" }, { "Sid": "SpikeIamReadWrite", "Effect": "Allow", "Action": [ "iam:CreateRole", "iam:GetRole", "iam:DeleteRole", "iam:PassRole", "iam:CreatePolicy", "iam:GetPolicy", "iam:DeletePolicy", "iam:AttachRolePolicy", "iam:DetachRolePolicy", "iam:ListRolePolicies", "iam:ListAttachedRolePolicies", "iam:PutRolePolicy" ], "Resource": "arn:aws:iam::581513795199:*" }, { "Sid": "SpikeEc2VpcReadWrite", "Effect": "Allow", "Action": [ "ec2:CreateVpc", "ec2:DescribeVpcs", "ec2:DeleteVpc", "ec2:CreateSubnet", "ec2:DescribeSubnets", "ec2:DeleteSubnet", "ec2:CreateRouteTable", "ec2:DescribeRouteTables", "ec2:DeleteRouteTable", "ec2:AssociateRouteTable", "ec2:DisassociateRouteTable", "ec2:CreateInternetGateway", "ec2:DescribeInternetGateways", "ec2:DeleteInternetGateway", "ec2:AttachInternetGateway", "ec2:DetachInternetGateway", "ec2:CreateSecurityGroup", "ec2:DescribeSecurityGroups", "ec2:DeleteSecurityGroup", "ec2:AuthorizeSecurityGroupIngress" ], "Resource": "arn:aws:ec2:us-east-1:581513795199:*" }, { "Sid": "DenyEverythingElse", "Effect": "Deny", "Action": "*", "NotResource": [ "arn:aws:s3:::acdl-tfstate-581513795199-us-east-1", "arn:aws:s3:::acdl-tfstate-581513795199-us-east-1/*", "arn:aws:dynamodb:us-east-1:581513795199:table/acdl-outbox", "arn:aws:ecs:us-east-1:581513795199:*", "arn:aws:ecr:us-east-1:581513795199:*", "arn:aws:elasticloadbalancing:us-east-1:581513795199:*", "arn:aws:iam::581513795199:*", "arn:aws:ec2:us-east-1:581513795199:*" ] } ] }