View a markdown version of this page

Berechtigungen für AgentCore Gateway einrichten - Amazon Grundgestein AgentCore

Berechtigungen für AgentCore Gateway einrichten

Um Amazon Bedrock AgentCore Gateway und seine Funktionen nutzen zu können, müssen Sie die folgenden Berechtigungen berücksichtigen:

  1. builder/user Gateway-Berechtigungen — Berechtigungen, die einem Gateway-Builder oder -Benutzer gewährt werden, damit er AgentCore Gateways erstellen, verwalten und/oder verwenden kann.

  2. Berechtigungen für Gateway-Dienstrollen — Berechtigungen, die für eine Servicerolle bereitgestellt werden, die Sie für Ihr Gateway erstellen werden. Diese Berechtigungen ermöglichen es dem Amazon AgentCore Bedrock-Service, Aktionen im Namen der Identität durchzuführen, die das Gateway aufruft.

  3. Resource-based Berechtigungen — Mit Ressourcen verknüpfte Berechtigungen, um der Gateway-Servicerolle den Zugriff darauf zu ermöglichen. Sie nehmen den Amazon-Ressourcennamen (ARN) der Gateway-Servicerolle als Teil der Principal ressourcenbasierten Richtlinie auf.

  4. Ressourcenbasierte Gateway-Richtlinien — Richtlinien, die direkt an Ihre Gateway-Ressourcen angehängt sind, um zu kontrollieren, welche Prinzipale sie aufrufen können. Weitere Informationen finden Sie in den Resource-based Richtlinien für Amazon Bedrock AgentCore.

Anmerkung

Wenn Sie keine benutzerdefinierten Berechtigungen einrichten möchten, können Sie die folgenden Optionen zur einfachen Einrichtung verwenden: * Hängen Sie das BedrockAgentCoreFullAccessan eine IAM-Identität an, damit diese Gateways erstellen, verwalten und aufrufen kann. * Verwenden Sie die AWS Management Console oder AgentCore CLI, um eine AgentCore Gateway-Servicerolle mit den richtigen Berechtigungen und Gateway-Ziele mit den richtigen ressourcenbasierten Richtlinien zu erstellen, damit die Servicerolle auf sie zugreifen kann.

Wählen Sie ein Thema aus, um mehr zu erfahren:

Gateway Builder und Benutzerberechtigungen

Damit eine Identität Gateways erstellen, verwalten oder verwenden kann, müssen Sie der IAM-Identität eine identitätsbasierte Richtlinie hinzufügen, damit sie Amazon Bedrock-Aktionen ausführen kann. AgentCore-related Für umfassende Berechtigungen können Sie die verwaltete Richtlinie verwenden. BedrockAgentCoreFullAccess

Für mehr Sicherheit und Kontrolle können Sie Ihre eigene benutzerdefinierte Richtlinie erstellen, indem Sie die Berechtigungen in der Vollzugriffsrichtlinie reduzieren. Mit der folgenden Richtlinie kann eine Identität beispielsweise Aktionen ausführen, die sich auf das AgentCore Gateway beziehen, aber nicht auf andere AgentCore Dienste wie AgentCore Runtime oder AgentCore Browser:

{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "bedrock-agentcore:*Gateway*", "bedrock-agentcore:*WorkloadIdentity", "bedrock-agentcore:*CredentialProvider", "bedrock-agentcore:*Token*", "bedrock-agentcore:*Access*" ], "Resource": "arn:aws:bedrock-agentcore:*:*:*gateway*" } ] }
Die folgende benutzerdefinierte Richtlinie ist restriktiver und erlaubt nur Lesezugriff auf Gateways und Gateway-Ziele
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "bedrock-agentcore:ListGateways", "bedrock-agentcore:GetGateway", "bedrock-agentcore:ListGatewayTargets", "bedrock-agentcore:GetGatewayTarget" ], "Resource": "arn:aws:bedrock-agentcore:*:*:*gateway*" } ] }

Gateway-Zugriffsberechtigungen (eingehende Autorisierung)

Zusätzlich zu den Gateway-bezogenen Berechtigungen müssen Sie auch Berechtigungen für Identitäten konfigurieren, um während des Aufrufs auf das Gateway zugreifen zu können. Sie konfigurieren diese Berechtigungen, wenn Sie die eingehende Autorisierung einrichten.

AgentCore Berechtigungen für die Gateway-Dienstrolle

Wenn Sie ein Gateway erstellen, benötigen Sie eine Servicerolle, die berechtigt ist, eine IAM-Rolle anzunehmen und im Namen der IAM-Rolle auf AWS Ressourcen und externe Dienste zuzugreifen. Sie können die Servicerolle auf folgende Weise erstellen:

  • Wenn Sie ein Gateway in der AWS Management Console oder über die AgentCore CLI erstellen, können Sie festlegen, dass AgentCore automatisch eine Servicerolle mit den erforderlichen Berechtigungen für Sie erstellt wird. Wenn Sie diese Methode bevorzugen, können Sie diese Voraussetzung überspringen.

  • Wenn Sie es vorziehen, zur besseren Anpassung Ihre eigene Servicerolle zu erstellen, müssen Sie die Rolle mit den in diesem Thema beschriebenen Berechtigungen konfigurieren. Informationen dazu, wie Sie eine Servicerolle erstellen und ihr Berechtigungen zuweisen, finden Sie unter Eine Rolle erstellen, um Berechtigungen für einen AWS Dienst zu delegieren.

Die erforderlichen Berechtigungen für eine Servicerolle finden Sie in den folgenden Themen:

Berechtigungen vertrauen

Einer Servicerolle muss eine Vertrauensrichtlinie beigefügt sein, die es dem AgentCore Dienst ermöglicht, eine IAM-Identität anzunehmen und in seinem Namen Aktionen auszuführen.

Im Folgenden finden Sie ein Beispiel für eine Vertrauensrichtlinie, die Sie verwenden können.

{ "Version":"2012-10-17", "Statement": [ { "Sid": "GatewayAssumeRolePolicy", "Effect": "Allow", "Principal": { "Service": "bedrock-agentcore.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "111122223333" }, "ArnLike": { "aws:SourceArn": "arn:aws:bedrock-agentcore:us-east-1:111122223333:gateway/gateway-name-*" } } } ] }
Anmerkung

Da Sie den Gateway-ARN nicht kennen, bevor Sie ihn erstellen, können Sie das Condition Feld weglassen, wenn Sie die Servicerolle zum ersten Mal erstellen. Nachdem Sie das Gateway erstellt haben, fügen Sie das Condition Feld aus Sicherheitsgründen wieder der Richtlinie hinzu und gehen Sie wie folgt vor: * Ersetzen Sie den Wert des aws:SourceAccount Bedingungsschlüssels durch die ID des Kontos, zu dem das Gateway gehört. * Ersetzen Sie den aws:SourceArn Bedingungsschlüssel durch den ARN des Gateways.

Autorisierungsberechtigungen für ausgehende Nachrichten

Abhängig von der Art der ausgehenden Autorisierung, die Sie für Ihre Gateway-Ziele verwenden, müssen Sie der Servicerolle Berechtigungen hinzufügen, damit sie das Ziel aufrufen kann. Diese Berechtigungen ermöglichen es der Gateway-Servicerolle, Autorisierungsdaten für den Aufruf des Ziels abzurufen. Sie können dies bei der Einrichtung der ausgehenden Autorisierung tun.

Zugriffsberechtigungen AWS Ressourcen

Abhängig von Ihrer Gateway-Konfiguration oder den Zielen, die Sie dem Gateway hinzufügen möchten, müssen Sie der Gateway-Dienstrolle möglicherweise Berechtigungen hinzufügen, damit sie auf AWS Ressourcen zugreifen kann. In den folgenden Themen werden einige Ressourcen behandelt, auf die Ihre Gateway-Servicerolle möglicherweise Zugriff benötigt:

Wenn Sie ein Lambda-Ziel an Ihr Gateway anhängen, müssen Sie Berechtigungen für die AgentCore Gateway-Dienstrolle hinzufügen, um die Funktion aufrufen zu können, indem Sie wie folgt vorgehen:

  • Fügen Sie der AgentCore Gateway-Dienstrolle eine identitätsbasierte Richtlinie hinzu, die die lambda:InvokeFunction Aktion auf der Lambda-Funktionsressource ermöglicht.

  • (Wenn sich die Funktion in einem anderen Konto als die Gateway-Servicerolle befindet) Fügen Sie der Lambda-Funktion eine ressourcenbasierte Richtlinie hinzu, die es dem Gateway-Dienstrollenprinzipal ermöglicht, die lambda:InvokeFunction Aktion auf der Lambda-Funktionsressource auszuführen.

Wählen Sie ein Thema aus, um zu erfahren, wie Sie die Berechtigungen einrichten:

Themen

    ===== Hängen Sie eine identitätsbasierte Richtlinie an die Gateway-Servicerolle an

    Um der Gateway-Servicerolle den Zugriff auf ein Lambda-Ziel zu ermöglichen, fügen Sie Ihrer AgentCore Gateway-Servicerolle die folgende identitätsbasierte Richtlinie hinzu, indem Sie das Thema unter Hinzufügen und Entfernen von IAM-Identitätsberechtigungen auswählen, das zu Ihrem Anwendungsfall passt, und folgen Sie den Schritten.

    { "Version": "2012-10-17", "Statement": [{ "Sid": "AmazonBedrockAgentCoreGatewayLambdaProd", "Effect": "Allow", "Action": [ "lambda:InvokeFunction" ], "Resource": [ "arn:aws:lambda:us-east-1:123456789012:function:FunctionName" ] }] }

    Ersetzen Sie den ARN im Resource Feld durch den ARN Ihres Lambda Function Gateway-Ziels. Wenn Ihr Gateway mehrere Lambda-Ziele hat, können Sie den ARN jeder Funktion zur Resource Liste hinzufügen.

    ===== (Wenn die Funktion in einem anderen Konto ist) Hängen Sie eine ressourcenbasierte Richtlinie an die Lambda-Funktion an

    Wenn sich das Lambda-Funktionsziel in einem anderen Konto als die Gateway-Servicerolle befindet, müssen Sie eine ressourcenbasierte Richtlinie anhängen, damit die Gateway-Servicerolle darauf zugreifen kann. Im Folgenden finden Sie ein Beispiel für eine Richtlinie, die Sie verwenden können:

    { "Version":"2012-10-17", "Statement": [ { "Sid": "LambdaAllowGatewayServiceRoleMyFunction", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::123456789012:role/MyGatewayExecutionRole" }, "Action": "lambda:InvokeFunction", "Resource": "arn:aws:lambda:us-east-1:123456789012:function:MyFunction" } ] }

    Ersetzen Sie die Werte der folgenden Felder:

    • AWS— Verwenden Sie den ARN Ihrer Gateway-Servicerolle.

    • Resource— Verwenden Sie den ARN Ihrer Lambda-Funktion.

      Um zu erfahren, wie Sie eine ressourcenbasierte Richtlinie an die Lambda-Funktion anhängen, die es Ihrer Gateway-Servicerolle ermöglicht, auf die Funktion zuzugreifen, wählen Sie eine der folgenden Methoden
    Console
    1. ====== Um eine ressourcenbasierte Richtlinie an Ihre Lambda-Funktion in der Management Console anzuhängen AWS

    2. Folgen Sie den Schritten auf der Registerkarte Konsole unter Ressourcenbasierte IAM-Richtlinien in Lambda anzeigen.

    3. Wählen Sie im Abschnitt Resource-based Richtlinienerklärungen die Option Berechtigungen hinzufügen aus.

    4. Wählen Sie AWS ein Konto aus und füllen Sie die folgenden Felder aus:

      • Statement ID — Eine eindeutige Kennung für die Anweisung, die der Gateway-Servicerolle Berechtigungen für den Zugriff auf die Funktion gewährt.

      • Principal — Geben Sie den ARN Ihrer Gateway-Servicerolle an.

      • Aktion — Wählen Sie auslambda:InvokeFunction.

    CLI
    1. Um Ihrer Lambda-Funktion mithilfe der AWS CLI eine ressourcenbasierte Richtlinie zuzuweisen, folgen Sie den Schritten unter Lambda-Funktionen Zugriff auf AWS Dienste gewähren und geben Sie Ihre Gateway-Servicerolle als an. principal

      Sie können den folgenden Code in einem Terminal ausführen, um Ihrer Gateway-Servicerolle Berechtigungen für den Zugriff auf die Funktion in hinzuzufügen: us-east-1

      aws lambda add-permission \ --function-name "MyFunction" \ --statement-id "GatewayInvoke" \ --action "lambda:InvokeFunction" \ --principal "arn:aws:iam::123456789012:role/MyGatewayServiceRole" --region us-east-1
    Beispiel

    Wenn Sie planen, eine Gateway-Ziel-Tool-Definition aus einer Amazon S3 S3-URI einzubeziehen, müssen Sie Berechtigungen für die Gateway-Servicerolle angeben, um auf den Bucket zuzugreifen. Die AmazonS3ReadOnlyAccessRichtlinie ist ein Beispiel für eine Richtlinie, die Sie der Servicerolle zuordnen können. Für mehr Sicherheit können Sie Resource den Bereich auf den S3-Standort ausweiten.

    Wenn Sie vorhaben, ein Smithy-Ziel hinzuzufügen, müssen Sie Berechtigungen für die Gateway-Dienstrolle hinzufügen, um auf AWS Dienste zuzugreifen, auf die sich Ihre Smithy-Modelle beziehen. Informationen darüber, welche Berechtigungen mit der Servicerolle verknüpft werden müssen, finden Sie in der Dokumentation des jeweiligen Dienstes.

    Sie können der Servicerolle Berechtigungen hinzufügen, indem Sie unter Hinzufügen und Entfernen von IAM-Identitätsberechtigungen das Thema auswählen, das sich auf Ihren Anwendungsfall bezieht, und die folgenden Schritte ausführen.

    Wenn Ihr Smithy-Modellziel beispielsweise auf eine DynamoDB-Tabelle zugreift, können Sie die folgende Richtlinie anhängen, damit die Servicerolle DynamoDB-Operationen an der Tabelle ausführen kann:

    { "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "dynamodb:GetItem", "dynamodb:PutItem", "dynamodb:UpdateItem", "dynamodb:DeleteItem", "dynamodb:Query", "dynamodb:Scan" ], "Resource": "arn:aws:dynamodb:*:*:table/*" } ] }

    Bewährte Methoden für Gateway-Berechtigungen

    Folgen Sie dem Prinzip der geringsten Rechte
    • Gewähren Sie nur die Berechtigungen, die für den Betrieb Ihres Gateways erforderlich sind

    • Verwenden Sie nach Möglichkeit spezifische Ressourcen-ARNs anstelle von Platzhaltern

    • Überprüfen und prüfen Sie die Berechtigungen regelmäßig

    Trennen Sie die Rollen nach Funktionen
    • Verwenden Sie unterschiedliche Rollen für Verwaltung und Ausführung

    • Erstellen Sie separate Rollen für verschiedene Gateways mit unterschiedlichen Zwecken

    Sicherer Speicher für Anmeldeinformationen
    • Speichern Sie API-Schlüssel und OAuth-Anmeldeinformationen in Secrets Manager AWS

    • Regelmäßiges Auswechseln der Anmeldeinformationen

    Überwachen und Prüfen
    • Aktivieren Sie die CloudTrail Protokollierung für Gateway-Operationen

    • Überprüfen Sie regelmäßig die Zugriffsmuster und die Verwendung von Berechtigungen

    Verwenden Sie Bedingungen in Richtlinien
    • Fügen Sie Bedingungen hinzu, um einzuschränken, wann und wie Berechtigungen verwendet werden können

    • Erwägen Sie die Verwendung von Quell-IP-Einschränkungen für Verwaltungsvorgänge