forked from mate-academy/aws_devops_task_6_deploy_storage
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmain.tf
More file actions
41 lines (36 loc) · 1.2 KB
/
main.tf
File metadata and controls
41 lines (36 loc) · 1.2 KB
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
# Створення S3 бакета
resource "aws_s3_bucket" "grafana_backups" {
bucket = "mate-grafana-backups-760583" # Замініть цифри, якщо ім'я зайняте
tags = {
Name = "GrafanaBackupsBucket"
}
}
# Генерація документа політики доступу згідно з вимогами
data "aws_iam_policy_document" "bucket_policy" {
# Дозвіл на перегляд вмісту бакета
statement {
principals {
type = "AWS"
identifiers = [var.grafana_iam_role_arn]
}
actions = ["s3:ListBucket"]
resources = [aws_s3_bucket.grafana_backups.arn]
}
# Дозвіл на читання та запис об'єктів у бакеті
statement {
principals {
type = "AWS"
identifiers = [var.grafana_iam_role_arn]
}
actions = [
"s3:GetObject",
"s3:PutObject"
]
resources = ["${aws_s3_bucket.grafana_backups.arn}/*"]
}
}
# Прикріплення створеної політики до бакета
resource "aws_s3_bucket_policy" "grafana_bucket_policy" {
bucket = aws_s3_bucket.grafana_backups.id
policy = data.aws_iam_policy_document.bucket_policy.json
}