There are two policies to choose from. The first policy is for use when immutability is not used for the cloud tier. The second policy is for use when immutability is used for the cloud tier.
Use the following JSON for non-immutable buckets (make sure to replace the <yourbucketname> tag with the actual name) to create an IAM Policy by following the instructions from the How to Create IAM Policy article. These permissions will allow Veeam Backup Service to access the S3 repository to save/load data to/from an object repository.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "SecureBucketPolicy0", "Effect": "Allow", "Action": [ "s3:ListBucket", "s3:PutObject", "s3:GetObject", "s3:DeleteObject", "s3:GetBucketLocation", "s3:GetBucketVersioning", "s3:GetBucketObjectLockConfiguration" ], "Resource": [ "arn:aws:s3:::<yourbucketname>/*", "arn:aws:s3:::<yourbucketname>" ] }, { "Sid": "SecureBucketPolicy1", "Effect": "Allow", "Action": [ "s3:ListAllMyBuckets", "s3:HeadBucket" ], "Resource": "*" } ] }
Use the following JSON for immutable buckets (make sure to replace the <yourbucketname> tag with the actual name) to create an IAM Policy by following the instructions from the How to Create IAM Policy article. These permissions will allow Veeam Backup Service to access the S3 repository to save/load data to/from an object repository.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": [ "s3:ListBucket", "s3:GetBucketLocation", "s3:GetObject", "s3:PutObject", "s3:DeleteObject", "s3:GetBucketVersioning", "s3:GetBucketObjectLockConfiguration", "s3:ListBucketVersions", "s3:GetObjectVersion", "s3:GetObjectRetention", "s3:GetObjectLegalHold", "s3:PutObjectRetention", "s3:PutObjectLegalHold", "s3:DeleteObjectVersion" ], "Resource": [ "arn:aws:s3:::<yourbucketname>/*", "arn:aws:s3:::<yourbucketname>" ] }, { "Sid": "VisualEditor1", "Effect": "Allow", "Action": [ "s3:ListAllMyBuckets", "s3:HeadBucket" ], "Resource": "*" } ] }