New user sign up using AWS Builder ID
New user sign up using AWS Builder ID is currently unavailable on re:Post. To sign up, please use the AWS Management Console instead.
Wie gewähre ich kontoübergreifenden Zugriff auf die Amazon Bedrock-API?
Ich möchte die Amazon Bedrock-API für mehrere AWS-Konten verwenden.
Kurzbeschreibung
Wenn du die Amazon Bedrock-API kontoübergreifend verwendest, verwalte die Berechtigungen für den API-Client in einem Konto und hoste die Workloads in anderen Konten.
Bevor du den kontoübergreifenden Zugriff für die Amazon Bedrock-API einrichtest, stelle sicher, dass du auf die Basismodelle zugreifen kannst. Informationen zum Anfordern des Zugriffs findest du unter Modellzugriff hinzufügen.
Hinweis: Informationen zu kontoübergreifenden bewährten Methoden findest du unter Bewährte Sicherheitsmethoden in AWS Identity and Access Management (IAM, Identitäts- und Zugriffsmanagement).
Lösung
In der folgenden Auflösung enthält Konto A die Basismodelle. Konto B enthält das Amazon SageMaker-Notebook, das die Amazon Bedrock-API in Konto A aufruft, um auf die Basismodelle zuzugreifen.
Konto A
Gehe wie folgt vor, um eine IAM-Rolle zu erstellen, die Zugriff auf Amazon Bedrock bietet:
- Öffne die IAM-Konsole.
- Erstelle eine IAM-Rolle für Konto A.
- Stelle sicher, dass die IAM-Rolle über die AmazonBedrockFullAccess-Richtlinie verfügt, um den Zugriff auf Amazon Bedrock zu ermöglichen.
- Füge die Berechtigungen zum Aufrufen des SageMaker-Notebooks in Konto B hinzu:
{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Principal":{ "Service":[ "sagemaker.amazonaws.com", "events.amazonaws.com", "bedrock.amazonaws.com" ], "AWS":[ "arn:aws:iam::`<Account B ID>`:role/RoleB" ] }, "Action":"sts:AssumeRole" } ] }
Konto B
Gehe wie folgt vor, um die Rolle in Konto A zu übernehmen:
- Öffne die IAM-Konsole.
- Erstelle eine IAM-Rolle für das SageMaker-Notebook, das im Konto ausgeführt werden soll.
- Stelle sicher, dass die IAM-Richtlinie zulässt, dass die Rolle in Konto B die Rolle in Konto A übernimmt:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "sts:AssumeRole" ], "Resource": [ "arn:aws:iam::`<Account A ID>`:role/RoleA" ] } ] }
Nach der Konfiguration verwendet die Rolle in Konto B temporäre Boto3-Anmeldeinformationen, um die Rolle in Konto A zu übernehmen.
Testen des Einrichtens von Konto B
Verwende die Rolle, die der IAM-Richtlinie in Konto B angefügt ist, um die folgende Zelle auf einem beliebigen SageMaker-Notebook auszuführen:
import boto3 # ARN of Role A to assume role_to_assume = 'arn:aws:iam::`<Account A ID>`:role/RoleA' # Use STS to assume role credentials = boto3.client('sts').assume_role( RoleArn=role_to_assume, RoleSessionName='RoleBSession' )['Credentials'] # Create Bedrock client with temporary credentials bedrock_session = boto3.session.Session( aws_access_key_id=credentials['AccessKeyId'], aws_secret_access_key=credentials['SecretAccessKey'], aws_session_token=credentials['SessionToken'] ) bedrock = bedrock_session.client('bedrock-runtime')
Der Amazon Bedrock-Client kann jetzt die temporären Anmeldeinformationen der Rolle in Konto A verwenden, um APIs aufzurufen.
Bewährte Methoden
Wenn du die Amazon Bedrock-API kontoübergreifend verwendest, wende die folgenden bewährten Methoden an:
- Überprüfe die AWS CloudTrail-Protokolle auf Fehler und Verifizierungen. Die Protokolle zeigen die AssumeRole-Ereignisse von AWS Security Token Service (STS) in Konto B und die Amazon Bedrock-Ereignisse in Konto A.
- Die Standarddauer der übernommenen Rolle beträgt 1 Stunde. Du kannst jedoch den Parameter DurationSeconds verwenden, um die Dauer zu ändern. Die Dauer darf die maximale Sitzungsdauer der Rolle nicht überschreiten.
Ähnliche Videos


Relevanter Inhalt
- AWS OFFICIALAktualisiert vor 4 Monaten
- AWS OFFICIALAktualisiert vor einem Jahr
- AWS OFFICIALAktualisiert vor einem Jahr