Skip to content

Commit 21fe4a6

Browse files
add eventsub
1 parent 1290160 commit 21fe4a6

4 files changed

Lines changed: 55 additions & 2 deletions

File tree

infrastructure/terraform/components/api/glue_crawler_event_crawler.tf

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,10 @@ resource "aws_glue_crawler" "event_crawler" {
88
s3_target {
99
path = "s3://${local.csi_global}-eventcache/"
1010
}
11+
12+
s3_target {
13+
path = "s3://${local.csi_global}-eventsubeventcache/"
14+
}
1115
recrawl_policy {
1216
recrawl_behavior = "CRAWL_EVERYTHING"
1317
}

infrastructure/terraform/components/api/iam_role_glue.tf

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,8 @@ data "aws_iam_policy_document" "glue_service_policy" {
5050
"s3:DeleteObject"
5151
]
5252
resources = ["arn:aws:s3:::${local.csi}-glue-bucket/*",
53-
"arn:aws:s3:::${local.csi_global}-eventcache/*"]
53+
"arn:aws:s3:::${local.csi_global}-eventcache/*",
54+
"arn:aws:s3:::${local.csi_global}-eventsubeventcache/*"]
5455
}
5556
statement {
5657
sid = "GlueCatalogAccess"

infrastructure/terraform/components/api/s3_bucket_policy_eventcache.tf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ resource "aws_s3_bucket_policy" "eventcache" {
33
bucket = local.event_cache_bucket_name
44
policy = data.aws_iam_policy_document.eventcache[0].json
55

6-
depends_on = [ module.eventpub ]
6+
depends_on = [module.eventpub]
77
}
88

99
data "aws_iam_policy_document" "eventcache" {
Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
resource "aws_s3_bucket_policy" "eventcache" {
2+
bucket = s3_bucket_event_cache.bucket
3+
policy = data.aws_iam_policy_document.eventcache[0].json
4+
5+
}
6+
7+
data "aws_iam_policy_document" "eventcache" {
8+
statement {
9+
sid = "AllowGlueListBucketAndGetLocation"
10+
effect = "Allow"
11+
12+
principals {
13+
type = "AWS"
14+
identifiers = [aws_iam_role.glue_role.arn]
15+
}
16+
17+
actions = [
18+
"s3:ListBucket",
19+
"s3:GetBucketLocation"
20+
]
21+
22+
resources = [
23+
"arn:aws:s3:::${local.csi_global}-eventsubeventcache"
24+
]
25+
}
26+
27+
# Object-level permissions: Get/Put/Delete objects
28+
statement {
29+
sid = "AllowGlueObjectAccess"
30+
effect = "Allow"
31+
32+
principals {
33+
type = "AWS"
34+
identifiers = [aws_iam_role.glue_role.arn]
35+
}
36+
37+
actions = [
38+
"s3:GetObject",
39+
"s3:GetObjectVersion",
40+
"s3:PutObject",
41+
"s3:DeleteObject"
42+
]
43+
44+
resources = [
45+
"arn:aws:s3:::${local.csi_global}-eventsubeventcache/*"
46+
]
47+
}
48+
}

0 commit comments

Comments
 (0)