2024-09-24 15:28:19 +02:00
|
|
|
resource "scaleway_iam_application" "backup_app" {
|
2024-10-20 22:19:36 +02:00
|
|
|
name = "k8s_backup_app"
|
2024-09-24 15:28:19 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
resource "scaleway_iam_application" "mail_app" {
|
2024-10-20 22:19:36 +02:00
|
|
|
name = "mail_app"
|
2024-09-24 15:28:19 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
resource "scaleway_iam_application" "nextcloud_app" {
|
2024-10-20 22:19:36 +02:00
|
|
|
name = "nextcloud_app"
|
2024-09-24 15:28:19 +02:00
|
|
|
}
|
|
|
|
|
|
2025-03-15 23:01:46 +01:00
|
|
|
resource "scaleway_iam_application" "dovecot_app" {
|
|
|
|
|
name = "dovecot_app"
|
|
|
|
|
}
|
|
|
|
|
|
2024-09-24 15:28:19 +02:00
|
|
|
resource "scaleway_iam_policy" "object_read_write_backup" {
|
2024-10-20 22:19:36 +02:00
|
|
|
name = "K8s backup app policy"
|
|
|
|
|
description = "Gives k8s backup job access to object storage in project"
|
|
|
|
|
application_id = scaleway_iam_application.backup_app.id
|
2024-09-24 15:28:19 +02:00
|
|
|
|
|
|
|
|
rule {
|
|
|
|
|
project_ids = [data.scaleway_account_project.default.id]
|
|
|
|
|
permission_set_names = [
|
|
|
|
|
"ObjectStorageObjectsWrite",
|
|
|
|
|
"ObjectStorageObjectsRead",
|
|
|
|
|
"ObjectStorageObjectsDelete",
|
|
|
|
|
"ObjectStorageBucketsRead"
|
|
|
|
|
]
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
resource "scaleway_iam_policy" "email_full_access" {
|
2024-10-20 22:19:36 +02:00
|
|
|
name = "Email full access policy"
|
|
|
|
|
description = "Gives access to transactional email in project"
|
|
|
|
|
application_id = scaleway_iam_application.mail_app.id
|
2024-09-24 15:28:19 +02:00
|
|
|
|
|
|
|
|
rule {
|
|
|
|
|
project_ids = [data.scaleway_account_project.default.id]
|
|
|
|
|
permission_set_names = [
|
|
|
|
|
"TransactionalEmailFullAccess",
|
|
|
|
|
]
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
resource "scaleway_iam_policy" "object_read_write_nextcloud" {
|
2024-10-20 22:19:36 +02:00
|
|
|
name = "Nextcloud app policy"
|
|
|
|
|
description = "Gives nextcloud job access to object storage in project"
|
|
|
|
|
application_id = scaleway_iam_application.nextcloud_app.id
|
2024-09-24 15:28:19 +02:00
|
|
|
|
|
|
|
|
rule {
|
|
|
|
|
project_ids = [data.scaleway_account_project.default.id]
|
|
|
|
|
permission_set_names = [
|
|
|
|
|
"ObjectStorageObjectsWrite",
|
|
|
|
|
"ObjectStorageObjectsRead",
|
|
|
|
|
"ObjectStorageBucketsRead",
|
|
|
|
|
"ObjectStorageBucketsWrite",
|
|
|
|
|
"ObjectStorageObjectsDelete"
|
|
|
|
|
]
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2025-03-15 23:01:46 +01:00
|
|
|
resource "scaleway_iam_policy" "object_read_write_dovecot" {
|
|
|
|
|
name = "Dovecot app policy"
|
|
|
|
|
description = "Gives dovecot job access to object storage in project"
|
|
|
|
|
application_id = scaleway_iam_application.dovecot_app.id
|
|
|
|
|
|
|
|
|
|
rule {
|
|
|
|
|
project_ids = [data.scaleway_account_project.default.id]
|
|
|
|
|
permission_set_names = [
|
|
|
|
|
"ObjectStorageObjectsWrite",
|
|
|
|
|
"ObjectStorageObjectsRead",
|
|
|
|
|
"ObjectStorageBucketsRead",
|
|
|
|
|
"ObjectStorageBucketsWrite",
|
|
|
|
|
"ObjectStorageObjectsDelete"
|
|
|
|
|
]
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2024-09-24 15:28:19 +02:00
|
|
|
resource "scaleway_iam_api_key" "backup_app_api" {
|
|
|
|
|
application_id = scaleway_iam_application.backup_app.id
|
|
|
|
|
description = "k8s backup app API key"
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
resource "scaleway_iam_api_key" "mail_app_api" {
|
|
|
|
|
application_id = scaleway_iam_application.mail_app.id
|
|
|
|
|
description = "mail access API key"
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
resource "scaleway_iam_api_key" "nextcloud_app_api" {
|
|
|
|
|
application_id = scaleway_iam_application.nextcloud_app.id
|
|
|
|
|
description = "nextcloud access API key"
|
|
|
|
|
}
|
2025-03-15 23:01:46 +01:00
|
|
|
|
|
|
|
|
resource "scaleway_iam_api_key" "dovecot_app_api" {
|
|
|
|
|
application_id = scaleway_iam_application.dovecot_app.id
|
|
|
|
|
description = "dovecot access API key"
|
|
|
|
|
}
|