Beispiele für identitätsbasierte Richtlinien für Amazon Bedrock Studio - Amazon Bedrock

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Beispiele für identitätsbasierte Richtlinien für Amazon Bedrock Studio

Im Folgenden finden Sie Beispielrichtlinien für Amazon Bedrock Studio.

Arbeitsbereiche verwalten

Um Amazon Bedrock Studio-Arbeitsbereiche zu erstellen und zu verwalten und Workspace-Mitglieder zu verwalten, benötigen Sie die folgenden IAM Berechtigungen.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "datazone:CreateDomain", "datazone:ListDomains", "datazone:GetDomain", "datazone:UpdateDomain", "datazone:ListProjects", "datazone:ListTagsForResource", "datazone:UntagResource", "datazone:TagResource", "datazone:SearchUserProfiles", "datazone:SearchGroupProfiles", "datazone:UpdateGroupProfile", "datazone:UpdateUserProfile", "datazone:CreateUserProfile", "datazone:CreateGroupProfile", "datazone:PutEnvironmentBlueprintConfiguration", "datazone:ListEnvironmentBlueprints", "datazone:ListEnvironmentBlueprintConfigurations", "datazone:DeleteDomain" ], "Resource": "*" }, { "Effect": "Allow", "Action": "iam:PassRole", "Resource": "*", "Condition": { "StringEquals": { "iam:passedToService": "datazone.amazonaws.com" } } }, { "Effect": "Allow", "Action": [ "kms:DescribeKey", "kms:Decrypt", "kms:CreateGrant", "kms:Encrypt", "kms:GenerateDataKey", "kms:ReEncrypt*", "kms:RetireGrant" ], "Resource": "kms key for domain" }, { "Effect": "Allow", "Action": [ "kms:ListKeys", "kms:ListAliases" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "iam:ListRoles", "iam:GetPolicy", "iam:ListAttachedRolePolicies", "iam:GetPolicyVersion" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "sso:DescribeRegisteredRegions", "sso:ListProfiles", "sso:AssociateProfile", "sso:DisassociateProfile", "sso:GetProfile", "sso:ListInstances", "sso:CreateApplication", "sso:DeleteApplication", "sso:PutApplicationAssignmentConfiguration", "sso:PutApplicationGrant", "sso:PutApplicationAuthenticationMethod" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "bedrock:ListFoundationModels", "bedrock:ListProvisionedModelThroughputs", "bedrock:ListModelCustomizationJobs", "bedrock:ListCustomModels", "bedrock:ListTagsForResource", "bedrock:ListGuardrails", "bedrock:ListAgents", "bedrock:ListKnowledgeBases", "bedrock:GetFoundationModelAvailability" ], "Resource": "*" } ] }

Grenzen der Berechtigungen

Bei dieser Richtlinie handelt es sich um eine Berechtigungsgrenze. Eine Berechtigungsgrenze legt die maximalen Berechtigungen fest, die eine identitätsbasierte Richtlinie einem IAM Prinzipal gewähren kann. Sie sollten die Grenzrichtlinien für Amazon Bedrock Studio-Berechtigungen nicht eigenständig verwenden und anhängen. Grenzrichtlinien für Amazon Bedrock Studio-Berechtigungen sollten nur an von Amazon Bedrock Studio verwaltete Rollen angehängt werden. Weitere Informationen zu Berechtigungsgrenzen finden Sie unter Berechtigungsgrenzen für IAM Entitäten im IAM Benutzerhandbuch.

Wenn Sie Amazon Bedrock Studio-Projekte, -Apps und -Komponenten erstellen, wendet Amazon Bedrock Studio diese Berechtigungsgrenze auf die IAM Rollen an, die bei der Erstellung dieser Ressourcen erstellt wurden.

Amazon Bedrock Studio verwendet die AmazonDataZoneBedrockPermissionsBoundary verwaltete Richtlinie, um die Berechtigungen des bereitgestellten IAM Prinzipals einzuschränken, an den sie angehängt ist. Principals können die Form von Benutzerrollen annehmen, die Amazon im Namen von Amazon Bedrock Studio-Benutzern übernehmen DataZone kann, und dann Aktionen wie das Lesen und Schreiben von Amazon S3 S3-Objekten oder das Aufrufen von Amazon Bedrock-Agenten ausführen.

Die AmazonDataZoneBedrockPermissionsBoundary Richtlinie gewährt Lese- und Schreibzugriff für Amazon Bedrock Studio auf Dienste wie Amazon S3, Amazon Bedrock, Amazon OpenSearch Serverless und AWS Lambda. Die Richtlinie gewährt auch Lese- und Schreibberechtigungen für einige Infrastrukturressourcen, die für die Nutzung dieser Dienste erforderlich sind, wie AWS Secrets Manager Manager-Geheimnisse, CloudWatch Amazon-Protokollgruppen und AWS KMS Schlüssel.

Diese Richtlinie besteht aus den folgenden Berechtigungssätzen.

  • s3— Ermöglicht Lese- und Schreibzugriff auf Objekte in Amazon S3 S3-Buckets, die von Amazon Bedrock Studio verwaltet werden.

  • bedrock— Gewährt die Möglichkeit, Amazon Bedrock-Agenten, Wissensdatenbanken und Guardrails zu verwenden, die von Amazon Bedrock Studio verwaltet werden.

  • aoss— Ermöglicht API den Zugriff auf Amazon OpenSearch Serverless-Sammlungen, die von Amazon Bedrock Studio verwaltet werden.

  • lambda— Ermöglicht das Aufrufen von AWS Lambda-Funktionen, die von Amazon Bedrock Studio verwaltet werden.

  • secretsmanager— Ermöglicht Lese- und Schreibzugriff auf AWS Secrets Manager Manager-Geheimnisse, die von Amazon Bedrock Studio verwaltet werden.

  • logs— Bietet Schreibzugriff auf CloudWatch Amazon-Logs, die von Amazon Bedrock Studio verwaltet werden.

  • kms— Gewährt Zugriff auf die Verwendung von AWS KMS Schlüsseln für die Verschlüsselung von Amazon Bedrock Studio-Daten.

{ "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" ] } } }, { "Sid": "GetDataZoneEnvCfnStacks", "Effect": "Allow", "Action": [ "cloudformation:GetTemplate", "cloudformation:DescribeStacks" ], "Resource": "arn:aws:cloudformation:*:*:stack/DataZone-Env-*", "Condition": { "StringEquals": { "aws:ResourceAccount": "${aws:PrincipalAccount}" }, "Null": { "aws:ResourceTag/AmazonDataZoneProject": "false" } } } ] }