AWS managed policies for Amazon Bedrock - Amazon Bedrock

AWS managed policies for Amazon Bedrock

To add permissions to users, groups, and roles, it's easier to use AWS managed policies than to write policies yourself. It takes time and expertise to create IAM customer managed policies that provide your team with only the permissions they need. To get started quickly, you can use our AWS managed policies. These policies cover common use cases and are available in your AWS account. For more information about AWS managed policies, see AWS managed policies in the IAM User Guide.

AWS services maintain and update AWS managed policies. You can't change the permissions in AWS managed policies. Services occasionally add additional permissions to an AWS managed policy to support new features. This type of update affects all identities (users, groups, and roles) where the policy is attached. Services are most likely to update an AWS managed policy when a new feature is launched or when new operations become available. Services do not remove permissions from an AWS managed policy, so policy updates won't break your existing permissions.

Additionally, AWS supports managed policies for job functions that span multiple services. For example, the ReadOnlyAccess AWS managed policy provides read-only access to all AWS services and resources. When a service launches a new feature, AWS adds read-only permissions for new operations and resources. For a list and descriptions of job function policies, see AWS managed policies for job functions in the IAM User Guide.

AWS managed policy: AmazonBedrockFullAccess

You can attach the AmazonBedrockFullAccess policy to your IAM identities.

This policy grants administrative permissions that allow the user permission to create, read, update, and delete Amazon Bedrock resources.

Note

Fine-tuning and model access require extra permissions. See Allow access to third-party model subscriptions and Permissions to access training and validation files and to write output files in S3 for more information.

Permissions details

This policy includes the following permissions:

  • ec2 (Amazon Elastic Compute Cloud) – Allows permissions to describe VPCs, subnets, and security groups.

  • iam (AWS Identity and Access Management) – Allows principals to pass roles, but only allows IAM roles with "Amazon Bedrock" in them to be passed to the Amazon Bedrock service. The permissions are restricted to bedrock.amazonaws.com for Amazon Bedrock operations.

  • kms (AWS Key Management Service) – Allows principals to describe AWS KMS keys and aliases.

  • bedrock (Amazon Bedrock) – Allows principals read and write access to all actions in the Amazon Bedrock control plane and runtime service.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "BedrockAll", "Effect": "Allow", "Action": [ "bedrock:*" ], "Resource": "*" }, { "Sid": "DescribeKey", "Effect": "Allow", "Action": [ "kms:DescribeKey" ], "Resource": "arn:*:kms:*:::*" }, { "Sid": "APIsWithAllResourceAccess", "Effect": "Allow", "Action": [ "iam:ListRoles", "ec2:DescribeVpcs", "ec2:DescribeSubnets", "ec2:DescribeSecurityGroups" ], "Resource": "*" }, { "Sid": "PassRoleToBedrock", "Effect": "Allow", "Action": [ "iam:PassRole" ], "Resource": "arn:aws:iam::*:role/*AmazonBedrock*", "Condition": { "StringEquals": { "iam:PassedToService": [ "bedrock.amazonaws.com" ] } } } ] }

AWS managed policy: AmazonBedrockReadOnly

You can attach the AmazonBedrockReadOnly policy to your IAM identities.

This policy grants read-only permissions that allow users to view all resources in Amazon Bedrock.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AmazonBedrockReadOnly", "Effect": "Allow", "Action": [ "bedrock:GetFoundationModel", "bedrock:ListFoundationModels", "bedrock:ListTagsForResource", "bedrock:GetFoundationModelAvailability", "bedrock:GetModelInvocationLoggingConfiguration", "bedrock:GetProvisionedModelThroughput", "bedrock:ListProvisionedModelThroughputs", "bedrock:GetModelCustomizationJob", "bedrock:ListModelCustomizationJobs", "bedrock:ListCustomModels", "bedrock:GetCustomModel", "bedrock:GetModelInvocationJob", "bedrock:ListModelInvocationJobs", "bedrock:GetGuardrail", "bedrock:ListGuardrails", "bedrock:GetEvaluationJob", "bedrock:ListEvaluationJobs", "bedrock:GetInferenceProfile", "bedrock:ListInferenceProfiles" "bedrock:ListImportedModels", "bedrock:GetImportedModel", "bedrock:ListModelImportJobs", "bedrock:GetModelImportJob" ], "Resource": "*" } ] }

AWS managed policy: AmazonBedrockStudioPermissionsBoundary

Note
  • This policy is a permissions boundary. A permissions boundary sets the maximum permissions that an identity-based policy can grant to an IAM principal. You should not use and attach Amazon Bedrock Studio permissions boundary policies on your own. Amazon Bedrock Studio permissions boundary policies should only be attached to Amazon Bedrock Studio managed roles. For more information on permissions boundaries, see Permissions boundaries for IAM entities in the IAM User Guide.

  • The current version of Amazon Bedrock Studio continues to expect a similar policy named AmazonDataZoneBedrockPermissionsBoundary to exist in your AWS account. For more information, see Step 2: Create permissions boundary, service role, and provisioning role.

When you create Amazon Bedrock Studio projects, apps, and components, Amazon Bedrock Studio applies this permissions boundary to the IAM roles produced when creating those resources.

Amazon Bedrock Studio uses the AmazonBedrockStudioPermissionsBoundary managed policy to limit permissions of the provisioned IAM principal it is attached to. Principals might take the form of the user roles that Amazon DataZone can assume on behalf of Amazon Bedrock Studio users, and then conduct actions such as reading and writing Amazon S3 objects or invoking Amazon Bedrock agents.

The AmazonBedrockStudioPermissionsBoundary policy grants read and write access for Amazon Bedrock Studio to services such as Amazon S3, Amazon Bedrock, Amazon OpenSearch Serverless, and AWS Lambda. The policy also gives read and write permissions to some infrastructure resources that are required to use these services such as AWS Secrets Manager secrets, Amazon CloudWatch log groups, and AWS KMS keys.

This policy consists of the following sets of permissions.

  • s3 – Allows read and write access to objects in Amazon S3 buckets that are managed by Amazon Bedrock Studio.

  • bedrock – Grants the ability to use Amazon Bedrock agents, knowledge bases, and guardrails that are managed by Amazon Bedrock Studio.

  • aoss – Allows API access to Amazon OpenSearch Serverless collections that are managed by Amazon Bedrock Studio.

  • lambda – Grants the ability to invoke AWS Lambda functions that are managed by Amazon Bedrock Studio.

  • secretsmanager – Allows read and write access to AWS Secrets Manager secrets that are managed by Amazon Bedrock Studio.

  • logs – Provides write access to Amazon CloudWatch Logs that are managed by Amazon Bedrock Studio.

  • kms – Grants access to use AWS keys for encrypting Amazon Bedrock Studio data.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AccessS3Buckets", "Effect": "Allow", "Action": [ "s3:ListBucket", "s3:ListBucketVersions", "s3:GetObject", "s3:PutObject", "s3:DeleteObject", "s3:GetObjectVersion", "s3:DeleteObjectVersion" ], "Resource": "arn:aws:s3:::br-studio-${aws:PrincipalAccount}-*", "Condition": { "StringEquals": { "aws:ResourceAccount": "${aws:PrincipalAccount}" } } }, { "Sid": "AccessOpenSearchCollections", "Effect": "Allow", "Action": "aoss:APIAccessAll", "Resource": "*", "Condition": { "StringEquals": { "aws:ResourceAccount": "${aws:PrincipalAccount}" } } }, { "Sid": "InvokeBedrockModels", "Effect": "Allow", "Action": [ "bedrock:InvokeModel", "bedrock:InvokeModelWithResponseStream" ], "Resource": "arn:aws:bedrock:*::foundation-model/*" }, { "Sid": "AccessBedrockResources", "Effect": "Allow", "Action": [ "bedrock:InvokeAgent", "bedrock:Retrieve", "bedrock:StartIngestionJob", "bedrock:GetIngestionJob", "bedrock:ListIngestionJobs", "bedrock:ApplyGuardrail", "bedrock:ListPrompts", "bedrock:GetPrompt", "bedrock:CreatePrompt", "bedrock:DeletePrompt", "bedrock:CreatePromptVersion", "bedrock:InvokeFlow", "bedrock:ListTagsForResource", "bedrock:TagResource", "bedrock:UntagResource" ], "Resource": "*", "Condition": { "StringEquals": { "aws:ResourceAccount": "${aws:PrincipalAccount}", "aws:ResourceTag/AmazonBedrockManaged": "true" }, "Null": { "aws:ResourceTag/AmazonDataZoneProject": "false" } } }, { "Sid": "RetrieveAndGenerate", "Effect": "Allow", "Action": "bedrock:RetrieveAndGenerate", "Resource": "*" }, { "Sid": "WriteLogs", "Effect": "Allow", "Action": [ "logs:CreateLogGroup", "logs:CreateLogStream", "logs:PutLogEvents" ], "Resource": "arn:aws:logs:*:*:log-group:/aws/lambda/br-studio-*", "Condition": { "StringEquals": { "aws:ResourceAccount": "${aws:PrincipalAccount}", "aws:ResourceTag/AmazonBedrockManaged": "true" }, "Null": { "aws:ResourceTag/AmazonDataZoneProject": "false" } } }, { "Sid": "InvokeLambdaFunctions", "Effect": "Allow", "Action": "lambda:InvokeFunction", "Resource": "arn:aws:lambda:*:*:function:br-studio-*", "Condition": { "StringEquals": { "aws:ResourceAccount": "${aws:PrincipalAccount}", "aws:ResourceTag/AmazonBedrockManaged": "true" }, "Null": { "aws:ResourceTag/AmazonDataZoneProject": "false" } } }, { "Sid": "AccessSecretsManagerSecrets", "Effect": "Allow", "Action": [ "secretsmanager:DescribeSecret", "secretsmanager:GetSecretValue", "secretsmanager:PutSecretValue" ], "Resource": "arn:aws:secretsmanager:*:*:secret:br-studio/*", "Condition": { "StringEquals": { "aws:ResourceAccount": "${aws:PrincipalAccount}", "aws:ResourceTag/AmazonBedrockManaged": "true" }, "Null": { "aws:ResourceTag/AmazonDataZoneProject": "false" } } }, { "Sid": "UseKmsKeyWithBedrock", "Effect": "Allow", "Action": [ "kms:Decrypt", "kms:GenerateDataKey" ], "Resource": "*", "Condition": { "StringEquals": { "aws:ResourceAccount": "${aws:PrincipalAccount}", "aws:ResourceTag/EnableBedrock": "true" }, "Null": { "kms:EncryptionContext:aws:bedrock:arn": "false" } } }, { "Sid": "UseKmsKeyWithAwsServices", "Effect": "Allow", "Action": [ "kms:Decrypt", "kms:GenerateDataKey" ], "Resource": "*", "Condition": { "StringEquals": { "aws:ResourceAccount": "${aws:PrincipalAccount}", "aws:ResourceTag/EnableBedrock": "true" }, "StringLike": { "kms:ViaService": [ "s3.*.amazonaws.com", "secretsmanager.*.amazonaws.com" ] } } } ] }

Amazon Bedrock updates to AWS managed policies

View details about updates to AWS managed policies for Amazon Bedrock since this service began tracking these changes. For automatic alerts about changes to this page, subscribe to the RSS feed on the Document history for the Amazon Bedrock User Guide.

Change Description Date

AmazonBedrockReadOnly – Updated policy

Amazon Bedrock updated the AmazonBedrockReadOnly policy to include read-only permissions for custom model import.

October 18, 2024

AmazonBedrockReadOnly – Updated policy

Amazon Bedrock added inference profile read-only permissions.

August 27, 2024

AmazonBedrockReadOnly – Updated policy

Amazon Bedrock updated the AmazonBedrockReadOnly policy to include read-only permissions for Amazon Bedrock Guardrails, Amazon Bedrock Model evaluation, and Amazon Bedrock Batch inference.

August 21, 2024

AmazonBedrockReadOnly – Updated policy

Amazon Bedrock added batch inference (model invocation job) read-only permissions.

August 21, 2024

AmazonBedrockStudioPermissionsBoundary – New policy

Amazon Bedrock published the first version of this policy.

July 31, 2024

AmazonBedrockReadOnly – Updated policy

Amazon Bedrock updated the AmazonBedrockReadOnly policy to include read-only permissions for Amazon Bedrock Custom Model Import.

September 3, 2024

AmazonBedrockFullAccess – New policy

Amazon Bedrock added a new policy to give users permissions to create, read, update, and delete resources.

December 12, 2023

AmazonBedrockReadOnly – New policy

Amazon Bedrock added a new policy to give users read-only permissions for all actions.

December 12, 2023

Amazon Bedrock started tracking changes

Amazon Bedrock started tracking changes for its AWS managed policies.

December 12, 2023