View a markdown version of this page

Specificare il tipo di autorizzazione e le credenziali per accedere alla destinazione del gateway - Amazon Bedrock AgentCore

Specificare il tipo di autorizzazione e le credenziali per accedere alla destinazione del gateway

Nel corpo della CreateGatewayTargetrichiesta, si specifica la configurazione del provider di credenziali nell'credentialProviderConfigurationsarray. La configurazione dipende dal tipo di autorizzazione in uscita impostato. Per informazioni di riferimento sulla struttura dell'API per la configurazione del provider di credenziali, consulta. CredentialProviderConfiguration Per ulteriori informazioni sull'autorizzazione in uscita, consulta Configurare l'autorizzazione in uscita per il gateway.

Per ulteriori informazioni sulla configurazione di un provider di credenziali, seleziona un argomento:

AgentCore Autorizzazione Gateway Service Role (IAM)

Se utilizzi l'autorizzazione IAM tramite un ruolo del servizio AgentCore Gateway per la tua destinazione, specifica credentialProviderType asGATEWAY_IAM_ROLE. La configurazione dipende dal tipo di destinazione.

Per obiettivi Lambda, API Gateway, Smithy e Connector

La iamCredentialProvider configurazione non è necessaria perché il nome del servizio di destinazione è già noto al servizio Gateway. AgentCore Utilizzate solo la credentialProviderType configurazione, come illustrato nell'esempio seguente:

{ "credentialProviderType": "GATEWAY_IAM_ROLE" }

Per server MCP e destinazioni OpenAPI

Per il server MCP e le destinazioni OpenAPI, è inoltre necessario fornire iamCredentialProvider un nome di servizio utilizzato AWS per la firma Signature Version 4 (Sig V4). Il campo service è obbligatorio. Il region campo è facoltativo e il valore predefinito è la regione del gateway.

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

La tabella seguente descrive i campi dell'oggetto: iamCredentialProvider

Campo Richiesto Descrizione

service

Il nome del AWS servizio utilizzato per la firma di SigV4. Questo valore deve corrispondere al nome del servizio che il target si aspetta durante la verifica della firma SigV4. I seguenti sono valori comuni:

  • bedrock-agentcore— Per i server MCP ospitati su Amazon Bedrock AgentCore, come il runtime (vedi Implementazione dei server MCP in AgentCore Runtime) o un altro gateway.

  • execute-api— Per server MCP o obiettivi OpenAPI supportati da Amazon API Gateway.

  • lambda— Per i server MCP protetti dagli URL della funzione Lambda.

region

No

La AWS regione per la firma di SIGv4. Se omesso, il valore predefinito è la regione del gateway.

Autorizzazione OAuth

Se si utilizza l'autorizzazione OAuth, è necessario specificare as. credentialProviderType OAUTH Nell'oggetto a cui è mappato il credentialProvider campo, mappa il nome di un oauthCredentialProvider campo su un OAuthCredentialProvideroggetto e fornisci i valori in base alla configurazione dell'autorizzazione in uscita.

La struttura di OAuthCredentialProvidervaria a seconda del tipo di pattern di autenticazione impostato. Per ulteriori informazioni sui diversi modelli di autenticazione, consulta Modelli di autenticazione supportati.

  • Se configuri l'autenticazione da macchina a macchina, nota anche come concessione di credenziali client o OAuth a 2 gambe (2LO), segui la struttura nella scheda Credenziali client.

  • Se configuri l'accesso delegato dall'utente, noto anche come concessione di codice di autorizzazione o OAuth a 3 gambe (3LO), segui la struttura nella scheda Codice di autorizzazione.

  • Se configuri lo scambio di token per conto di un utente autenticato per propagare l'identità di un utente autenticato a un servizio a valle o ottenere un token di accesso con il contesto actor, segui la struttura nella scheda Token exchange (). On-behalf-of

Selezionate uno dei seguenti metodi:

Esempio
Client credentials
  1. Specificate grantType asCLIENT_CREDENTIALS, come nell'esempio seguente:

    { "credentialProviderType": "OAUTH", "credentialProvider": { "oauthCredentialProvider": { "providerArn": "string", "grantType": "CLIENT_CREDENTIALS", "scopes": [ "string", ... ], "customParameters": { "string": "string" } } } }
Authorization code
  1. grantTypeSpecificate l'AUTHORIZATION_CODEannuncio e includete, nel defaultReturnUrl campo, l'URL a cui reindirizzare il browser dell'utente finale dopo aver ottenuto il codice di autorizzazione, come nell'esempio seguente:

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

    Per ulteriori informazioni sull'autenticazione 3LO, consulta l'associazione della sessione con URL di autorizzazione OAuth 2.0.

Token exchange (On-behalf-of)
  1. Specificare l'as. grantType TOKEN_EXCHANGE Il gateway scambia il token di accesso dell'utente in entrata con un token con ambito di destinazione tramite il provider di credenziali. Includi tutti i parametri in. IdP-specific customParameters Per ulteriori informazioni sulla configurazione del provider di credenziali, consulta On-behalf-of Token Exchange.

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

    Il customParameters campo passa i valori direttamente all'endpoint del token del provider di identità. I parametri richiesti variano in base al provider. Ad esempio, Okta richiede un audience parametro in aggiunta asubject_token_type. Consulta la documentazione e lo scambio di On-behalf-of token del tuo provider di identità per i dettagli.

Autorizzazione tramite chiave API

Se si configura l'autorizzazione della chiave API, si specifica credentialProviderType asAPI_KEY. Nell'oggetto a cui è mappato il credentialProvider campo, mappate il nome di un apiKeyCredentialProvider campo su un ApiKeyCredentialProvideroggetto e fornite i valori in base alla configurazione dell'autorizzazione in uscita. Il seguente codice JSON mostra la struttura:

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

Autorizzazione delle credenziali IAM del chiamante

Se desideri che il gateway utilizzi l'identità e le autorizzazioni IAM del chiamante per firmare le richieste verso la destinazione a valle, specifica as. credentialProviderType CALLER_IAM_CREDENTIALS Con questo tipo di autorizzazione, il gateway invia una richiesta alla destinazione a valle per conto del chiamante del gateway utilizzando SigV4. Ciò consente al target downstream di applicare le politiche IAM in base a chi ha originariamente chiamato il gateway.

Nota

CALLER_IAM_CREDENTIALSè disponibile solo per i gateway che hanno AWS_IAM o hanno AUTHENTICATE_ONLY come tipo di autorizzazione.

{ "credentialProviderType": "CALLER_IAM_CREDENTIALS" }

Autorizzazione JWT passthrough

Se desideri che il gateway passi il token bearer dalla richiesta in entrata direttamente al target a valle senza modifiche, specifica as. credentialProviderType JWT_PASSTHROUGH Il gateway convalida il token in entrata e quindi lo inoltra alla destinazione nella richiesta in uscita. Ciò è utile quando il servizio di destinazione gestisce la propria autorizzazione utilizzando il token del chiamante originale.

Nota

JWT_PASSTHROUGHè disponibile solo per destinazioni HTTP (passthrough e AgentCore Runtime).

{ "credentialProviderType": "JWT_PASSTHROUGH" }