ROSAImageRegistryOperatorPolicy
Summary
Allows the OpenShift Image Registry Operator to provision and manage Amazon S3 buckets and objects for use by the Red Hat OpenShift Service on AWS (ROSA) in-cluster image registry to satisfy ROSA storage requirements. The OpenShift Image Registry Operator installs and maintains the internal registry of a Red Hat OpenShift cluster.
Permissions imported from the AWS Managed Policy Reference Guide; other sections pending editorial review.
Identity
- ARN
arn:aws:iam::aws:policy/service-role/ROSAImageRegistryOperatorPolicy- Default version
- v8
- Created
- Last edited
- Services
- s3
Control-plane actions (12)
By access level: 1 List, 1 Permissions management, 5 Read, 1 Tagging, 4 Write.
| Service | Granted | Access levels and limits | Granted by |
|---|---|---|---|
| S3 | 12 of 155 | 1 List, 1 Permissions management, 5 Read, 1 Tagging, 4 Write; 11 restricted, 0 conditional | s3:CreateBucket, s3:DeleteBucket, s3:GetBucketLocation, s3:GetBucketPublicAccessBlock, s3:GetBucketTagging, s3:GetEncryptionConfiguration, s3:GetLifecycleConfiguration, s3:ListBucketMultipartUploads, s3:PutBucketPublicAccessBlock, s3:PutBucketTagging, s3:PutEncryptionConfiguration, s3:PutLifecycleConfiguration |
S3: 12 actions
- s3:CreateBucket (Write)
- s3:DeleteBucket (Write)
- s3:GetBucketLocation (Read)
- s3:GetBucketPublicAccessBlock (Read)
- s3:GetBucketTagging (Read)
- s3:GetEncryptionConfiguration (Read)
- s3:GetLifecycleConfiguration (Read)
- s3:ListBucketMultipartUploads (List)
- s3:PutBucketPublicAccessBlock (Permissions management)
- s3:PutBucketTagging (Tagging)
- s3:PutEncryptionConfiguration (Write)
- s3:PutLifecycleConfiguration (Write)
Data-plane actions (6)
By access level: 2 List, 1 Read, 3 Write.
| Service | Granted | Access levels and limits | Granted by |
|---|---|---|---|
| S3 | 6 of 25 | 2 List, 1 Read, 3 Write; 5 restricted, 0 conditional | s3:AbortMultipartUpload, s3:DeleteObject, s3:GetObject, s3:ListBucket, s3:ListMultipartUploadParts, s3:PutObject |
S3: 6 actions
- s3:AbortMultipartUpload (Write)
- s3:DeleteObject (Write)
- s3:GetObject (Read)
- s3:ListBucket (List)
- s3:ListMultipartUploadParts (List)
- s3:PutObject (Write)
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 9 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
- AmazonAppFlowFullAccess
- AmazonAppStreamServiceAccess
- AmazonBedrockStudioPermissionsBoundary
- AmazonBraketJobsExecutionPolicy
- AmazonBraketServiceRolePolicy
- AmazonCloudWatchEvidentlyFullAccess
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": [
{
"Sid": "ListBuckets",
"Effect": "Allow",
"Action": [
"s3:ListBucket",
"s3:ListBucketMultipartUploads"
],
"Resource": "*"
},
{
"Sid": "AllowSpecificBucketActions",
"Effect": "Allow",
"Action": [
"s3:CreateBucket",
"s3:DeleteBucket",
"s3:GetBucketTagging",
"s3:GetBucketPublicAccessBlock",
"s3:GetEncryptionConfiguration",
"s3:GetLifecycleConfiguration",
"s3:GetBucketLocation",
"s3:PutBucketPublicAccessBlock",
"s3:PutBucketTagging",
"s3:PutEncryptionConfiguration",
"s3:PutLifecycleConfiguration"
],
"Resource": [
"arn:aws:s3:::*-image-registry-${aws:RequestedRegion}-*",
"arn:aws:s3:::*-image-registry-${aws:RequestedRegion}?",
"arn:aws:s3:::*-image-registry-${aws:RequestedRegion}"
]
},
{
"Sid": "AllowSpecificObjectActions",
"Effect": "Allow",
"Action": [
"s3:AbortMultipartUpload",
"s3:DeleteObject",
"s3:GetObject",
"s3:ListMultipartUploadParts",
"s3:PutObject"
],
"Resource": [
"arn:aws:s3:::*-image-registry-${aws:RequestedRegion}-*/*",
"arn:aws:s3:::*-image-registry-${aws:RequestedRegion}?/*",
"arn:aws:s3:::*-image-registry-${aws:RequestedRegion}/*"
]
}
]
}
Version history
Current version v8, edited by AWS on 2026-02-12. 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/service-role/ROSAImageRegistryOperatorPolicy
aws iam attach-user-policy --user-name USER_NAME --policy-arn arn:aws:iam::aws:policy/service-role/ROSAImageRegistryOperatorPolicy
aws iam attach-group-policy --group-name GROUP_NAME --policy-arn arn:aws:iam::aws:policy/service-role/ROSAImageRegistryOperatorPolicyCloudFormation
Resources:
ExampleRole:
Type: AWS::IAM::Role
Properties:
AssumeRolePolicyDocument: {} # replace with your trust policy
ManagedPolicyArns:
- arn:aws:iam::aws:policy/service-role/ROSAImageRegistryOperatorPolicyTerraform
resource "aws_iam_role_policy_attachment" "service_role_rosaimageregistryoperatorpolicy" {
role = aws_iam_role.example.name
policy_arn = "arn:aws:iam::aws:policy/service-role/ROSAImageRegistryOperatorPolicy"
}CDK (TypeScript)
role.addManagedPolicy(
iam.ManagedPolicy.fromAwsManagedPolicyName("service-role/ROSAImageRegistryOperatorPolicy"),
);Sources
Pending editorial review. No editorial sources are listed yet.