View a markdown version of this page

Configurare le autorizzazioni per AgentCore Gateway - Amazon Bedrock AgentCore

Configurare le autorizzazioni per AgentCore Gateway

Per utilizzare Amazon Bedrock AgentCore Gateway e le sue funzionalità, devi considerare le seguenti autorizzazioni:

  1. Autorizzazioni gateway: builder/user autorizzazioni fornite a un costruttore o utente di gateway per consentirgli di creare, gestire e/o utilizzare i gateway. AgentCore

  2. Autorizzazioni per i ruoli di servizio del gateway: autorizzazioni fornite a un ruolo di servizio che creerai per il tuo gateway. Queste autorizzazioni consentono al AgentCore servizio Amazon Bedrock di eseguire azioni per conto dell'identità che richiama il gateway.

  3. Resource-based autorizzazioni: autorizzazioni associate alle risorse per consentire al ruolo del servizio gateway di accedervi. Nella policy basata sulle risorse includerai l'Amazon Resource Name (ARN) del ruolo del Principal servizio gateway.

  4. Politiche basate sulle risorse del gateway: politiche collegate direttamente alle risorse del gateway per controllare quali principali possono richiamarle. Per ulteriori informazioni, consulta Resource-based le politiche per Amazon Bedrock AgentCore.

Nota

Se preferisci non configurare autorizzazioni personalizzate, puoi utilizzare le seguenti opzioni per una configurazione semplificata: * Collegali BedrockAgentCoreFullAccessa un'identità IAM per consentirle di creare, gestire e richiamare i gateway. * Utilizza la console di AWS gestione o la AgentCore CLI per creare un ruolo di servizio AgentCore gateway con le autorizzazioni appropriate e obiettivi del gateway con le politiche basate sulle risorse appropriate per consentire al ruolo di servizio di accedervi.

Per ulteriori informazioni, scegli un argomento:

Generatore di gateway e autorizzazioni utente

Affinché un'identità sia in grado di creare, gestire o utilizzare i gateway, è necessario allegare una policy basata sull'identità all'identità IAM per consentirle di eseguire azioni Amazon Bedrock. AgentCore-related Per autorizzazioni complete, puoi utilizzare la policy gestita. BedrockAgentCoreFullAccess

Per una maggiore sicurezza e controllo, puoi creare una politica personalizzata riducendo le autorizzazioni nella politica di accesso completo. Ad esempio, la seguente politica consente a un'identità di eseguire azioni relative a AgentCore Gateway ma non ad altri AgentCore servizi, come AgentCore Runtime o 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*" } ] }
La seguente politica personalizzata è più restrittiva e consente solo l'accesso in lettura ai gateway e alle destinazioni del gateway
{ "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*" } ] }

Autorizzazioni di accesso al gateway (autorizzazione in entrata)

Oltre alle autorizzazioni relative al gateway, dovrai anche configurare le autorizzazioni per le identità per poter accedere al gateway durante la chiamata. Configurerai queste autorizzazioni quando configurerai l'autorizzazione in entrata.

AgentCore Autorizzazioni per i ruoli del servizio Gateway

Quando si crea un gateway, è necessario un ruolo di servizio con le autorizzazioni per assumere un ruolo IAM e accedere a AWS risorse e servizi esterni per conto del ruolo IAM. È possibile creare il ruolo di servizio nei seguenti modi:

  • Se crei un gateway nella console di AWS gestione o tramite la AgentCore CLI, puoi scegliere di consentire la creazione AgentCore automatica di un ruolo di servizio con le autorizzazioni necessarie. Se preferisci questo metodo, puoi ignorare questo prerequisito.

  • Se preferisci creare il tuo ruolo di servizio per una maggiore personalizzazione, dovrai configurare il ruolo con le autorizzazioni descritte in questo argomento. Per informazioni su come creare un ruolo di servizio e assegnargli autorizzazioni, consulta Creare un ruolo per delegare le autorizzazioni a un servizio. AWS

Le autorizzazioni richieste per un ruolo di servizio si trovano nei seguenti argomenti:

Autorizzazioni affidabili

A un ruolo di servizio deve essere associata una policy di fiducia che consenta al AgentCore servizio di assumere un'identità IAM e di eseguire azioni per suo conto.

Di seguito è riportato un esempio di policy di fiducia che è possibile utilizzare.

{ "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-*" } } } ] }
Nota

Poiché non conoscerai l'ARN del gateway prima di crearlo, puoi omettere il Condition campo quando crei per la prima volta il ruolo di servizio. Dopo aver creato il gateway, aggiungi nuovamente il Condition campo alla policy come procedura di sicurezza ottimale ed esegui le seguenti operazioni: * Sostituisci il valore della chiave di aws:SourceAccount condizione con l'ID dell'account a cui appartiene il gateway. * Sostituire la chiave di aws:SourceArn condizione con l'ARN del gateway.

Autorizzazioni di autorizzazione in uscita

A seconda del tipo di autorizzazione in uscita utilizzata per le destinazioni del gateway, è necessario aggiungere autorizzazioni al ruolo di servizio per consentirgli di richiamare la destinazione. Queste autorizzazioni consentono al ruolo del servizio gateway di recuperare le credenziali di autorizzazione per richiamare la destinazione. È possibile eseguire questa operazione durante il processo di configurazione dell'autorizzazione in uscita.

Autorizzazioni di accesso AWS risorse

A seconda della configurazione del gateway o delle destinazioni che si sceglie di aggiungere al gateway, potrebbe essere necessario aggiungere autorizzazioni al ruolo del servizio gateway per consentirgli di accedere AWS alle risorse. I seguenti argomenti trattano alcune risorse a cui il ruolo del servizio gateway potrebbe aver bisogno di accedere:

Se colleghi una destinazione Lambda al gateway, devi aggiungere le autorizzazioni per il ruolo del servizio AgentCore Gateway per poter richiamare la funzione effettuando le seguenti operazioni:

  • Allega una policy basata sull'identità al ruolo del servizio AgentCore Gateway che consente l'lambda:InvokeFunctionazione sulla risorsa della funzione Lambda.

  • (Se la funzione si trova in un account diverso dal ruolo del servizio gateway) Allega una policy basata sulle risorse alla funzione Lambda che consenta al responsabile del ruolo del servizio gateway di eseguire l'azione lambda:InvokeFunction sulla risorsa della funzione Lambda.

Seleziona un argomento per scoprire come configurare le autorizzazioni:

Argomenti

    ===== Allega una policy basata sull'identità al ruolo del servizio gateway

    Per consentire al ruolo del servizio gateway di accedere a una destinazione Lambda, allega la seguente policy basata sull'identità al tuo ruolo del servizio AgentCore Gateway scegliendo l'argomento in Aggiungere e rimuovere le autorizzazioni di identità IAM che si riferisce al tuo caso d'uso e seguendo i passaggi.

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

    Sostituisci l'ARN Resource sul campo con l'ARN della destinazione del tuo Lambda Function Gateway. Se il gateway ha più destinazioni Lambda, puoi aggiungere l'ARN di ogni funzione all'elenco. Resource

    ===== (Se la funzione è in un altro account) Allega una politica basata sulle risorse alla funzione Lambda

    Se la destinazione della funzione Lambda si trova in un account diverso dal ruolo del servizio gateway, è necessario allegare una policy basata sulle risorse per consentire al ruolo del servizio gateway di accedervi. Di seguito è riportato un esempio di policy che è possibile utilizzare:

    { "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" } ] }

    Sostituisci i valori dei seguenti campi:

    • AWS— Utilizza l'ARN del tuo ruolo di servizio gateway.

    • Resource— Usa l'ARN della tua funzione Lambda.

      Per scoprire come allegare una policy basata sulle risorse alla funzione Lambda che consenta al ruolo del servizio gateway di accedere alla funzione, seleziona uno dei seguenti metodi
    Console
    1. ====== Per allegare una policy basata sulle risorse alla funzione Lambda nella console di gestione AWS

    2. Segui i passaggi nella scheda Console in Visualizzazione delle politiche IAM basate sulle risorse in Lambda.

    3. Nella sezione Dichiarazioni Resource-based politiche, scegli Aggiungi autorizzazioni.

    4. Seleziona l' AWS account e compila i seguenti campi:

      • Statement ID: un identificatore univoco per l'istruzione che fornisce le autorizzazioni per il ruolo del servizio gateway per accedere alla funzione.

      • Principal: specifica l'ARN del ruolo del servizio gateway.

      • Azione: selezionalambda:InvokeFunction.

    CLI
    1. Per allegare una policy basata sulle risorse alla tua funzione Lambda utilizzando la AWS CLI, segui i passaggi descritti in Concedere l'accesso ai servizi della funzione Lambda e specifica il ruolo del servizio gateway come AWS. principal

      Puoi eseguire il codice seguente in un terminale per aggiungere le autorizzazioni relative al tuo ruolo di servizio gateway per accedere alla funzione in: 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
    Esempio

    Se prevedi di includere una definizione di strumento di destinazione del gateway da un URI Amazon S3, dovrai includere le autorizzazioni per il ruolo del servizio gateway per accedere al bucket. La AmazonS3ReadOnlyAccesspolicy è un esempio di policy che puoi associare al ruolo di servizio. Puoi estenderlo Resource alla posizione S3 per una maggiore sicurezza.

    Se intendi aggiungere un oggetto Smithy, devi aggiungere le autorizzazioni per il ruolo del servizio gateway per accedere ai AWS servizi a cui fanno riferimento i tuoi modelli Smithy. Per determinare quali autorizzazioni devono essere associate al ruolo di servizio, consulta la documentazione di quel servizio.

    Puoi aggiungere autorizzazioni al ruolo di servizio scegliendo l'argomento in Aggiungere e rimuovere le autorizzazioni di identità IAM che si riferisce al tuo caso d'uso e seguendo i passaggi.

    Ad esempio, se il target del modello Smithy accede a una tabella DynamoDB, puoi allegare la seguente policy per consentire al ruolo di servizio di eseguire operazioni DynamoDB sulla tabella:

    { "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/*" } ] }

    Le migliori pratiche per le autorizzazioni Gateway

    Segui il principio del privilegio minimo
    • Concedi solo le autorizzazioni necessarie per il funzionamento del tuo Gateway

    • Se possibile, utilizza ARN di risorse specifici anziché caratteri jolly

    • Esamina e verifica regolarmente le autorizzazioni

    Ruoli separati per funzione
    • Usa ruoli diversi per la gestione e l'esecuzione

    • Crea ruoli separati per gateway diversi con scopi diversi

    Archiviazione sicura delle credenziali
    • Archivia le chiavi API e le credenziali OAuth in Secrets Manager AWS

    • Ruotare con regolarità le credenziali

    Monitora ed esegui audit
    • Abilita la CloudTrail registrazione per le operazioni del Gateway

    • Esamina regolarmente i modelli di accesso e l'utilizzo delle autorizzazioni

    Usa le condizioni nelle politiche
    • Aggiungi condizioni per limitare quando e come le autorizzazioni possono essere utilizzate

    • Prendi in considerazione l'utilizzo di restrizioni IP di origine per le operazioni di gestione