AWSBackupServiceRolePolicyForS3Restore
Summary
Policy containing permissions necessary for AWS Backup to restore a S3 backup to a bucket. This includes read/write permissions to all S3 buckets, and permissions to GenerateDataKey and DescribeKey for all KMS keys.
Permissions imported from the AWS Managed Policy Reference Guide; other sections pending editorial review.
Identity
- ARN
arn:aws:iam::aws:policy/AWSBackupServiceRolePolicyForS3Restore- Default version
- v2
- Created
- Last edited
- Services
- kms, s3
Control-plane actions (9)
By access level: 1 Permissions management, 4 Read, 4 Write.
| Service | Granted | Access levels and limits | Granted by |
|---|---|---|---|
| KMS | 3 of 58 | 1 Read, 2 Write; 3 restricted, 3 conditional | kms:Decrypt, kms:DescribeKey, kms:GenerateDataKey |
| S3 | 6 of 155 | 1 Permissions management, 3 Read, 2 Write; 6 restricted, 0 conditional | s3:CreateBucket, s3:GetBucketLocation, s3:GetBucketOwnershipControls, s3:GetBucketVersioning, s3:PutBucketOwnershipControls, s3:PutBucketVersioning |
KMS: 3 actions
- kms:Decrypt (Write)
- kms:DescribeKey (Read)
- kms:GenerateDataKey (Write)
S3: 6 actions
- s3:CreateBucket (Write)
- s3:GetBucketLocation (Read)
- s3:GetBucketOwnershipControls (Read)
- s3:GetBucketVersioning (Read)
- s3:PutBucketOwnershipControls (Permissions management)
- s3:PutBucketVersioning (Write)
Data-plane actions (13)
By access level: 3 List, 2 Permissions management, 5 Read, 1 Tagging, 2 Write.
| Service | Granted | Access levels and limits | Granted by |
|---|---|---|---|
| S3 | 13 of 25 | 3 List, 2 Permissions management, 5 Read, 1 Tagging, 2 Write; 13 restricted, 0 conditional | s3:DeleteObject, s3:GetObject, s3:GetObjectAcl, s3:GetObjectTagging, s3:GetObjectVersion, s3:GetObjectVersionAcl, s3:ListBucket, s3:ListBucketVersions, s3:ListMultipartUploadParts, s3:PutObject, s3:PutObjectAcl, s3:PutObjectTagging and 1 more |
S3: 13 actions
- s3:DeleteObject (Write)
- s3:GetObject (Read)
- s3:GetObjectAcl (Read)
- s3:GetObjectTagging (Read)
- s3:GetObjectVersion (Read)
- s3:GetObjectVersionAcl (Read)
- s3:ListBucket (List)
- s3:ListBucketVersions (List)
- s3:ListMultipartUploadParts (List)
- s3:PutObject (Write)
- s3:PutObjectAcl (Permissions management)
- s3:PutObjectTagging (Tagging)
- s3:PutObjectVersionAcl (Permissions management)
Excluded and conditional actions
No patterns are excluded by NotAction or Deny statements.
Resource scope and attachment
Resource scope across granted actions: mixed.
Can be attached: Yes, to users, groups and roles.
Why this tier
- Grants 10 write, tagging or permissions-management actions, short of full control of any service.
- Grants data-plane write actions on a data store, but only for scoped resources or under conditions.
Guidance
Pending editorial review. The permission data on this page comes straight from AWS; this section will be filled in once a reviewed guide exists.
Related policies
Same service
- AccessAnalyzerServiceRolePolicy
- AdministratorAccess-AWSElasticBeanstalk
- AgentRegistryFullAccess
- AmazonAppFlowFullAccess
- AmazonAppStreamServiceAccess
- AmazonAuroraDSQLConsoleFullAccess
- AmazonAuroraDSQLFullAccess
- AmazonBedrockStudioPermissionsBoundary
Same domain
Frequently asked questions
Pending editorial review. The permission data on this page comes straight from AWS; this section will be filled in once a reviewed guide exists.
Policy JSON
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"s3:CreateBucket",
"s3:ListBucketVersions",
"s3:ListBucket",
"s3:GetBucketVersioning",
"s3:GetBucketLocation",
"s3:PutBucketVersioning",
"s3:PutBucketOwnershipControls",
"s3:GetBucketOwnershipControls"
],
"Resource": [
"arn:aws:s3:::*"
]
},
{
"Effect": "Allow",
"Action": [
"s3:GetObject",
"s3:GetObjectVersion",
"s3:DeleteObject",
"s3:PutObjectVersionAcl",
"s3:GetObjectVersionAcl",
"s3:GetObjectTagging",
"s3:PutObjectTagging",
"s3:GetObjectAcl",
"s3:PutObjectAcl",
"s3:ListMultipartUploadParts",
"s3:PutObject"
],
"Resource": [
"arn:aws:s3:::*/*"
]
},
{
"Effect": "Allow",
"Action": [
"kms:DescribeKey",
"kms:GenerateDataKey",
"kms:Decrypt"
],
"Resource": "*",
"Condition": {
"StringLike": {
"kms:ViaService": "s3.*.amazonaws.com"
}
}
}
]
}
Version history
Current version v2, edited by AWS on 2023-02-07. Version history is recorded from 2026-11-11. Earlier versions are in the IAM console under Policy versions.
Attach snippets
AWS CLI
aws iam attach-role-policy --role-name ROLE_NAME --policy-arn arn:aws:iam::aws:policy/AWSBackupServiceRolePolicyForS3Restore
aws iam attach-user-policy --user-name USER_NAME --policy-arn arn:aws:iam::aws:policy/AWSBackupServiceRolePolicyForS3Restore
aws iam attach-group-policy --group-name GROUP_NAME --policy-arn arn:aws:iam::aws:policy/AWSBackupServiceRolePolicyForS3RestoreCloudFormation
Resources:
ExampleRole:
Type: AWS::IAM::Role
Properties:
AssumeRolePolicyDocument: {} # replace with your trust policy
ManagedPolicyArns:
- arn:aws:iam::aws:policy/AWSBackupServiceRolePolicyForS3RestoreTerraform
resource "aws_iam_role_policy_attachment" "awsbackupservicerolepolicyfors3restore" {
role = aws_iam_role.example.name
policy_arn = "arn:aws:iam::aws:policy/AWSBackupServiceRolePolicyForS3Restore"
}CDK (TypeScript)
role.addManagedPolicy(
iam.ManagedPolicy.fromAwsManagedPolicyName("AWSBackupServiceRolePolicyForS3Restore"),
);Sources
Pending editorial review. No editorial sources are listed yet.