View a markdown version of this page

Geben Sie den Autorisierungstyp und die Anmeldeinformationen für den Zugriff auf das Gateway-Ziel an - Amazon Grundgestein AgentCore

Geben Sie den Autorisierungstyp und die Anmeldeinformationen für den Zugriff auf das Gateway-Ziel an

Im CreateGatewayTargetAnfragetext geben Sie die Konfiguration des Anmeldeinformationsanbieters im credentialProviderConfigurations Array an. Die Konfiguration hängt vom Typ der ausgehenden Autorisierung ab, den Sie einrichten. Referenzinformationen zur API-Struktur für die Konfiguration des Anmeldeinformationsanbieters finden Sie unter. CredentialProviderConfiguration Weitere Informationen zur ausgehenden Autorisierung finden Sie unter Ausgehende Autorisierung für Ihr Gateway einrichten.

Um mehr über die Konfiguration eines Anmeldeinformationsanbieters zu erfahren, wählen Sie ein Thema aus:

AgentCore Autorisierung der Gateway-Servicerolle (IAM)

Wenn Sie die IAM-Autorisierung über eine AgentCore Gateway-Dienstrolle für Ihr Ziel verwenden, geben Sie as ancredentialProviderType. GATEWAY_IAM_ROLE Die Konfiguration hängt von Ihrem Zieltyp ab.

Für Lambda-, API Gateway-, Smithy- und Connector-Ziele

Die iamCredentialProvider Konfiguration ist nicht erforderlich, da der Name des Zieldienstes dem AgentCore Gateway-Dienst bereits bekannt ist. Verwenden Sie nur die credentialProviderType Konfiguration, wie im folgenden Beispiel gezeigt:

{ "credentialProviderType": "GATEWAY_IAM_ROLE" }

Für MCP-Server- und OpenAPI-Ziele

Für MCP-Server- und OpenAPI-Ziele müssen Sie auch eine iamCredentialProvider mit dem Dienstnamen angeben, der für die Signatur von AWS Signature Version 4 (Sig V4) verwendet wird. Das Feld service ist ein Pflichtfeld. Das region Feld ist optional und entspricht standardmäßig der Region des Gateways.

{ "credentialProviderType": "GATEWAY_IAM_ROLE", "credentialProvider": { "iamCredentialProvider": { "service": "execute-api", "region": "us-west-2" } } }

In der folgenden Tabelle werden die Felder im iamCredentialProvider Objekt beschrieben:

Feld Erforderlich Beschreibung

service

Ja

Der AWS Dienstname, der für die SigV4-Signatur verwendet wird. Dieser Wert muss mit dem Dienstnamen übereinstimmen, den das Ziel bei der Überprüfung der SigV4-Signatur erwartet. Die folgenden Werte sind gebräuchlich:

  • bedrock-agentcore— Für MCP-Server, die auf Amazon Bedrock gehostet werden AgentCore, z. B. Runtime (siehe Bereitstellen von MCP-Servern in AgentCore Runtime) oder ein anderes Gateway.

  • execute-api— Für MCP-Server oder OpenAPI-Ziele hinter Amazon API Gateway.

  • lambda— Für MCP-Server hinter Lambda-Funktions-URLs.

region

Nein

Die AWS Region für die Sigv4-Signatur. Wenn nicht angegeben, wird standardmäßig die Region des Gateways verwendet.

OAuth-Autorisierung

Wenn Sie die OAuth-Autorisierung verwenden, geben Sie as an. credentialProviderType OAUTH Ordnen Sie in dem Objekt, dem das credentialProvider Feld zugeordnet ist, einem OAuthCredentialProviderObjekt einen oauthCredentialProvider Feldnamen zu und geben Sie die Werte an, die auf Ihrer Einrichtung für die ausgehende Autorisierung basieren.

Die Struktur von OAuthCredentialProviderunterscheidet sich je nach Art des Authentifizierungsmusters, das Sie einrichten. Weitere Informationen zu den verschiedenen Authentifizierungsmustern finden Sie unter Unterstützte Authentifizierungsmuster.

  • Wenn Sie eine Machine-to-Machine-Authentifizierung einrichten, die auch als Zuweisung von Client-Anmeldeinformationen oder 2-Legged OAuth (2LO) bezeichnet wird, folgen Sie der Struktur auf der Registerkarte Client-Anmeldeinformationen.

  • Wenn Sie vom Benutzer delegierten Zugriff einrichten, der auch als Authorization Code Grant oder 3-Legged OAuth (3LO) bezeichnet wird, folgen Sie der Struktur auf der Registerkarte Autorisierungscode.

  • Wenn Sie den Tokenaustausch im Namen eines Benutzers einrichten, um die Identität eines authentifizierten Benutzers an einen nachgeschalteten Dienst weiterzugeben oder ein Zugriffstoken mit dem Akteurkontext zu erhalten, folgen Sie der Struktur auf der Registerkarte Tokenaustausch (). On-behalf-of

Wählen Sie eine der folgenden Methoden aus:

Beispiel
Client credentials
  1. Geben Sie grantType as anCLIENT_CREDENTIALS, wie im folgenden Beispiel:

    { "credentialProviderType": "OAUTH", "credentialProvider": { "oauthCredentialProvider": { "providerArn": "string", "grantType": "CLIENT_CREDENTIALS", "scopes": [ "string", ... ], "customParameters": { "string": "string" } } } }
Authorization code
  1. Geben Sie grantType as an AUTHORIZATION_CODE und geben Sie in das defaultReturnUrl Feld die URL ein, zu der der Browser des Endbenutzers nach Erhalt des Autorisierungscodes umgeleitet werden soll, wie im folgenden Beispiel:

    { "credentialProviderType": "OAUTH", "credentialProvider": { "oauthCredentialProvider": { "providerArn": "string", "grantType": "AUTHORIZATION_CODE", "defaultReturnUrl": "string", "scopes": [ "string", ... ], "customParameters": { "string": "string" } } } }

    Weitere Informationen zur 3LO-Authentifizierung finden Sie unter OAuth 2.0-Autorisierungs-URL-Sitzungsbindung.

Token exchange (On-behalf-of)
  1. Geben Sie das als an. grantType TOKEN_EXCHANGE Das Gateway tauscht das Zugriffstoken des eingehenden Benutzers über den Anmeldeinformationsanbieter gegen ein zielgerichtetes Token aus. IdP-specific Schließen customParameters Sie alle Parameter in ein. Weitere Informationen zur Konfiguration des Anmeldeinformationsanbieters finden Sie unter On-behalf-of Tokenaustausch.

    { "credentialProviderType": "OAUTH", "credentialProvider": { "oauthCredentialProvider": { "providerArn": "string", "grantType": "TOKEN_EXCHANGE", "scopes": [ "string", ... ], "customParameters": { "subject_token_type": "urn:ietf:params:oauth:token-type:access_token" } } } }
    Anmerkung

    Das customParameters Feld übergibt Werte direkt an den Token-Endpunkt des Identitätsanbieters. Die erforderlichen Parameter variieren je nach Anbieter. Okta benötigt beispielsweise zusätzlich zu subject_token_type einen audience Parameter. Einzelheiten finden Sie in der Dokumentation Ihres Identitätsanbieters und zum On-behalf-of Token-Austausch.

Autorisierung mit API-Schlüsseln

Wenn Sie die API-Schlüsselautorisierung einrichten, geben Sie credentialProviderType as anAPI_KEY. Ordnen Sie in dem Objekt, dem das credentialProvider Feld zugeordnet ist, einem ApiKeyCredentialProviderObjekt einen apiKeyCredentialProvider Feldnamen zu und geben Sie die Werte an, die auf Ihrer Einrichtung für die ausgehende Autorisierung basieren. Die folgende JSON-Datei zeigt die Struktur:

{ "credentialProviderType": "API_KEY", "credentialProvider": { "apiKeyCredentialProvider": { "providerArn": "string", "credentialLocation": "HEADER" | "QUERY_PARAMETER", "credentialParameterName": "string", "credentialPrefix": "string" } } }

Autorisierung der IAM-Anmeldeinformationen des Anrufers

Wenn Sie möchten, dass das Gateway die IAM-Identität und die Berechtigungen des Anrufers verwendet, um Anfragen an das Downstream-Ziel zu signieren, geben Sie as an. credentialProviderType CALLER_IAM_CREDENTIALS Bei diesem Autorisierungstyp sendet das Gateway im Namen des Gateway-Aufrufers mithilfe von Sigv4 eine Anfrage an das Downstream-Ziel. Auf diese Weise kann das Downstream-Ziel IAM-Richtlinien anwenden, die darauf basieren, wer das Gateway ursprünglich angerufen hat.

Anmerkung

CALLER_IAM_CREDENTIALSist nur für Gateways verfügbar, die den Autorisierungstyp AWS_IAM oder AUTHENTICATE_ONLY als Autorisierungstyp haben.

{ "credentialProviderType": "CALLER_IAM_CREDENTIALS" }

JWT-Passthrough-Autorisierung

Wenn Sie möchten, dass das Gateway das Bearer-Token der eingehenden Anfrage ohne Änderung direkt an das Downstream-Ziel weiterleitet, geben Sie as an. credentialProviderType JWT_PASSTHROUGH Das Gateway validiert das eingehende Token und leitet es dann an das Ziel in der ausgehenden Anfrage weiter. Dies ist nützlich, wenn der Zieldienst seine eigene Autorisierung mithilfe des Tokens des ursprünglichen Aufrufers durchführt.

Anmerkung

JWT_PASSTHROUGHist nur für HTTP-Ziele (Passthrough und AgentCore Runtime) verfügbar.

{ "credentialProviderType": "JWT_PASSTHROUGH" }