railiance-platform/docs/object-storage/railiance-platform-pg-backup-policy.json
codex 363e63562b
All checks were successful
CCR intake gate / gate (push) Successful in 15s
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 1s
Name the MAS backup application in the source bucket policy.
The founder supplied application id 25a4cbca-220e-40c0-9af5-6c7713000174.
Three statements allow only platform-pg/application-archives/mas/ and do
not grant object delete. The live policy was not changed.

Assistant: grok
Assistant-Session: 01a198fa-fd27-7e41-a0a2-57355c3e4efd
2026-11-02 10:46:30 +01:00

98 lines
4.8 KiB
JSON

{
"Version": "2023-04-17",
"Id": "resource-control-scoped-backup",
"Statement": [
{
"Sid": "BackupBucketProbe",
"Effect": "Allow",
"Principal": {"SCW": "application_id:ee80333e-5bab-4a04-85a9-5bdb46b7b3c1"},
"Action": ["s3:GetBucketLocation", "s3:GetBucketVersioning", "s3:GetLifecycleConfiguration", "s3:ListBucket"],
"Resource": "railiance-platform-pg-backup",
"Condition": {"Bool": {"aws:SecureTransport": "true"}}
},
{
"Sid": "BackupListPrefix",
"Effect": "Allow",
"Principal": {"SCW": "application_id:ee80333e-5bab-4a04-85a9-5bdb46b7b3c1"},
"Action": ["s3:ListBucketMultipartUploads", "s3:ListBucketVersions"],
"Resource": "railiance-platform-pg-backup",
"Condition": {"StringLike": {"s3:prefix": ["platform-pg/", "platform-pg/*"]}}
},
{
"Sid": "BackupObjectsUnderPrefix",
"Effect": "Allow",
"Principal": {"SCW": "application_id:ee80333e-5bab-4a04-85a9-5bdb46b7b3c1"},
"Action": ["s3:AbortMultipartUpload", "s3:DeleteObject", "s3:DeleteObjectVersion", "s3:GetObject", "s3:GetObjectVersion", "s3:ListMultipartUploadParts", "s3:PutObject"],
"Resource": "railiance-platform-pg-backup/platform-pg/*"
},
{
"Sid": "CoulombSocialBackupProbe",
"Effect": "Allow",
"Principal": {"SCW": "application_id:681d00bf-b965-4323-b657-97bfde423511"},
"Action": ["s3:GetBucketLocation", "s3:GetBucketVersioning", "s3:GetLifecycleConfiguration"],
"Resource": "railiance-platform-pg-backup",
"Condition": {"Bool": {"aws:SecureTransport": "true"}}
},
{
"Sid": "CoulombSocialBackupList",
"Effect": "Allow",
"Principal": {"SCW": "application_id:681d00bf-b965-4323-b657-97bfde423511"},
"Action": ["s3:ListBucket", "s3:ListBucketMultipartUploads", "s3:ListBucketVersions"],
"Resource": "railiance-platform-pg-backup",
"Condition": {"StringLike": {"s3:prefix": ["platform-pg/application-archives/coulomb-social/", "platform-pg/application-archives/coulomb-social/*"]}}
},
{
"Sid": "CoulombSocialBackupObjects",
"Effect": "Allow",
"Principal": {"SCW": "application_id:681d00bf-b965-4323-b657-97bfde423511"},
"Action": ["s3:AbortMultipartUpload", "s3:GetObject", "s3:GetObjectVersion", "s3:ListMultipartUploadParts", "s3:PutObject"],
"Resource": "railiance-platform-pg-backup/platform-pg/application-archives/coulomb-social/*"
},
{
"Sid": "EmailConnectBackupProbe",
"Effect": "Allow",
"Principal": {"SCW": "application_id:0eb0f958-77a4-4c70-9aa7-14ba46411415"},
"Action": ["s3:GetBucketLocation", "s3:GetBucketVersioning", "s3:GetLifecycleConfiguration"],
"Resource": "railiance-platform-pg-backup",
"Condition": {"Bool": {"aws:SecureTransport": "true"}}
},
{
"Sid": "EmailConnectBackupList",
"Effect": "Allow",
"Principal": {"SCW": "application_id:0eb0f958-77a4-4c70-9aa7-14ba46411415"},
"Action": ["s3:ListBucket", "s3:ListBucketMultipartUploads", "s3:ListBucketVersions"],
"Resource": "railiance-platform-pg-backup",
"Condition": {"StringLike": {"s3:prefix": ["platform-pg/application-archives/email-connect/", "platform-pg/application-archives/email-connect/*"]}}
},
{
"Sid": "EmailConnectBackupObjects",
"Effect": "Allow",
"Principal": {"SCW": "application_id:0eb0f958-77a4-4c70-9aa7-14ba46411415"},
"Action": ["s3:AbortMultipartUpload", "s3:GetObject", "s3:GetObjectVersion", "s3:ListMultipartUploadParts", "s3:PutObject"],
"Resource": "railiance-platform-pg-backup/platform-pg/application-archives/email-connect/*"
},
{
"Sid": "MasEvidenceBackupProbe",
"Effect": "Allow",
"Principal": {"SCW": "application_id:25a4cbca-220e-40c0-9af5-6c7713000174"},
"Action": ["s3:GetBucketLocation", "s3:GetBucketVersioning", "s3:GetLifecycleConfiguration"],
"Resource": "railiance-platform-pg-backup",
"Condition": {"Bool": {"aws:SecureTransport": "true"}}
},
{
"Sid": "MasEvidenceBackupList",
"Effect": "Allow",
"Principal": {"SCW": "application_id:25a4cbca-220e-40c0-9af5-6c7713000174"},
"Action": ["s3:ListBucket", "s3:ListBucketMultipartUploads", "s3:ListBucketVersions"],
"Resource": "railiance-platform-pg-backup",
"Condition": {"StringLike": {"s3:prefix": ["platform-pg/application-archives/mas/", "platform-pg/application-archives/mas/*"]}}
},
{
"Sid": "MasEvidenceBackupObjects",
"Effect": "Allow",
"Principal": {"SCW": "application_id:25a4cbca-220e-40c0-9af5-6c7713000174"},
"Action": ["s3:AbortMultipartUpload", "s3:GetObject", "s3:GetObjectVersion", "s3:ListMultipartUploadParts", "s3:PutObject"],
"Resource": "railiance-platform-pg-backup/platform-pg/application-archives/mas/*"
}
]
}