generated from pbs/terraform-aws-template-v2
-
Notifications
You must be signed in to change notification settings - Fork 0
/
security.tf
72 lines (67 loc) · 1.63 KB
/
security.tf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
module "role" {
count = var.execution_role_arn == null ? 1 : 0
source = "github.com/pbs/terraform-aws-iam-role-module.git?ref=0.2.4"
name = local.execution_role_name
policy_json = var.policy_json != null ? var.policy_json : jsonencode({
"Version" : "2012-10-17",
"Statement" : [
{
"Effect" : "Allow",
"Action" : [
"s3:PutObject",
"s3:GetObject"
],
"Resource" : [
"${module.s3.arn}/*"
]
},
{
"Effect" : "Allow",
"Action" : [
"s3:GetBucketLocation"
],
"Resource" : [
module.s3.arn
]
},
{
"Effect" : "Allow",
"Action" : [
"logs:CreateLogStream",
"logs:PutLogEvents",
"logs:CreateLogGroup"
],
"Resource" : [
"arn:aws:logs:${data.aws_region.current.name}:${data.aws_caller_identity.current.account_id}:log-group:/aws/lambda/cwsyn-${local.name}*"
]
},
{
"Effect" : "Allow",
"Action" : [
"s3:ListAllMyBuckets",
"xray:PutTraceSegments"
],
"Resource" : [
"*"
]
},
{
"Effect" : "Allow",
"Resource" : "*",
"Action" : "cloudwatch:PutMetricData",
"Condition" : {
"StringEquals" : {
"cloudwatch:namespace" : "CloudWatchSynthetics"
}
}
}
]
})
# Tagging Parameters
organization = var.organization
environment = var.environment
product = var.product
repo = var.repo
# Optional Parameters
aws_services = ["lambda"]
}