View a markdown version of this page

Creazione di un ruolo di servizio per Agent per Amazon Bedrock - Amazon Bedrock

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Creazione di un ruolo di servizio per Agent per Amazon Bedrock

Per utilizzare un ruolo di servizio personalizzato per gli agenti anziché quello creato automaticamente da Amazon Bedrock, crea un ruolo IAM e assegna le seguenti autorizzazioni seguendo la procedura descritta in Creazione di un ruolo per delegare le autorizzazioni a un servizio. AWS

  • Policy di attendibilità

  • Una policy contenente le seguenti autorizzazioni basate sull’identità:

    • Accesso ai modelli Amazon Bedrock di base.

    • Accesso agli oggetti Amazon S3 contenenti gli schemi OpenAPI per i gruppi di operazioni presenti nei tuoi agenti.

    • Autorizzazioni per consentire ad Amazon Bedrock di eseguire query sulle knowledge base che desideri collegare ai tuoi agenti.

    • Se una delle seguenti situazioni riguarda il tuo caso d’uso, aggiungi l’istruzione alla policy o aggiungi una policy con l’istruzione al ruolo di servizio:

      • (Facoltativo) Se abiliti la collaborazione multiagente, le autorizzazioni per ottenere gli alias e invocare gli agenti collaboratori.

      • (Facoltativo) Se associ un throughput assegnato all’alias dell’agente, le autorizzazioni per eseguire l’invocazione del modello utilizzando tale throughput.

      • (Facoltativo) Se associ un guardrail al tuo agente, le autorizzazioni per applicare quel guardrail. Se il guardrail è crittografato con una chiave KMS, il ruolo di servizio avrà bisogno anche delle autorizzazioni per decrittografare la chiave.

      • (Facoltativo) Se crittografi l’agente con una chiave KMS, le autorizzazioni per decrittografare la chiave.

Inoltre, che utilizzi o meno un ruolo personalizzato, devi collegare una policy basata sulle risorse alle funzioni Lambda dei gruppi di operazioni presenti nei tuoi agenti, in modo da fornire al ruolo di servizio le autorizzazioni necessarie per accedere alle funzioni. Per ulteriori informazioni, consulta Resource-based policy per consentire ad Amazon Bedrock di richiamare una funzione Lambda del gruppo di azioni.

Relazione di attendibilità

La seguente policy di attendibilità consente ad Amazon Bedrock di assumere questo ruolo e creare e gestire agenti. Sostituisci se necessario. ${values} La policy contiene chiavi di condizione opzionali (vedi Chiavi di condizione Amazon Bedrock e chiavi di contesto delle condizioni globali AWS) nel campo Condition che ti consigliamo di utilizzare come best practice di sicurezza.

Nota

Come procedura consigliata per motivi di sicurezza, sostituiscili * con ID agente specifici dopo averli creati.

JSON
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "bedrock.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "123456789012" }, "ArnLike": { "AWS:SourceArn": "arn:aws:bedrock:us-east-1:123456789012:agent/*" } } } ] }

Identity-based autorizzazioni per il ruolo di servizio Agenti

Allega la seguente politica per fornire le autorizzazioni per il ruolo di servizio, ${values} sostituendole se necessario. La policy contiene le seguenti istruzioni. Ometti un’istruzione se non è applicabile al tuo caso d’uso. La policy contiene chiavi di condizione facoltative (vedi Chiavi di condizione per Amazon Bedrock e Chiavi di contesto delle condizioni globali di AWS) nel campo Condition che ti consigliamo di utilizzare come best practice di sicurezza.

Nota

Se crittografi l’agente con una chiave KMS gestita dal cliente, consulta Crittografia delle risorse degli agenti per gli agenti creati prima del 22 gennaio 2025 per informazioni su eventuali autorizzazioni ulteriori da aggiungere.

  • Autorizzazioni per ricorrere ai modelli di fondazione di Amazon Bedrock per eseguire l’inferenza dei modelli sui prompt utilizzati nell’orchestrazione dell’agente.

  • Autorizzazioni per accedere agli schemi API dei gruppi di operazioni dell’agente in Amazon S3. Ometti questa dichiarazione se il tuo agente non dispone di gruppi di operazioni.

  • Autorizzazioni per accedere alle knowledge base associate all’agente. Ometti questa dichiarazione se l’agente non dispone di knowledge base associate.

  • Autorizzazioni per accedere a una knowledge base di terze parti (Pinecone o Redis Enterprise Cloud) associata all’agente. Ometti questa dichiarazione se la tua knowledge base è proprietaria (Amazon OpenSearch Serverless o Amazon Aurora) o se il tuo agente non dispone di knowledge base associate.

  • Autorizzazioni per accedere a un prompt da Gestione dei prompt. Ometti questa dichiarazione se non intendi testare un prompt da Gestione dei prompt con il tuo agente nella console Amazon Bedrock.

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "AgentModelInvocationPermissions", "Effect": "Allow", "Action": [ "bedrock:InvokeModel" ], "Resource": [ "arn:aws:bedrock:us-east-1::foundation-model/anthropic.claude-v2", "arn:aws:bedrock:us-east-1::foundation-model/anthropic.claude-v2:1", "arn:aws:bedrock:us-east-1::foundation-model/anthropic.claude-instant-v1" ] }, { "Sid": "AgentActionGroupS3", "Effect": "Allow", "Action": [ "s3:GetObject" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket/SchemaJson" ], "Condition": { "StringEquals": { "aws:ResourceAccount": "123456789012" } } }, { "Sid": "AgentKnowledgeBaseQuery", "Effect": "Allow", "Action": [ "bedrock:Retrieve", "bedrock:RetrieveAndGenerate" ], "Resource": [ "arn:aws:bedrock:us-east-1:123456789012:knowledge-base/knowledge-base-id" ] }, { "Sid": "Agent3PKnowledgeBase", "Effect": "Allow", "Action": [ "bedrock:AssociateThirdPartyKnowledgeBase" ], "Resource": "arn:aws:bedrock:us-east-1:123456789012:knowledge-base/knowledge-base-id", "Condition": { "StringEquals": { "bedrock:ThirdPartyKnowledgeBaseCredentialsSecretArn": "arn:aws:kms:us-east-1:123456789012:key/KeyId" } } }, { "Sid": "AgentPromptManagementConsole", "Effect": "Allow", "Action": [ "bedrock:GetPrompt" ], "Resource": [ "arn:aws:bedrock:us-east-1:123456789012:prompt/prompt-id" ] } ] }
Importante

Se il tuo agente utilizza direttamente un profilo di inferenza anziché un modello di base, devi apportare le seguenti modifiche alla dichiarazione: AgentModelInvocationPermissions

  • Aggiungere il profilo di inferenza ARN all'Resourceelenco. Il formato è arn:aws:bedrock:region:account-id:inference-profile/inference-profile-id.

  • Aggiungi le seguenti azioni all'Actionelenco:

    • bedrock:InvokeModelWithResponseStream

    • bedrock:GetInferenceProfile

    • bedrock:GetFoundationModel

(Facoltativo) Identity-based policy per consentire ad Amazon Bedrock di utilizzare Provisioned Throughput con il tuo alias di agente

Se associ un Throughput assegnato a un alias dell’agente, collega la policy basata sull’identità indicata di seguito al ruolo di servizio o aggiungi l’istruzione alla policy in Identity-based autorizzazioni per il ruolo di servizio Agenti.

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "UseProvisionedThroughput", "Effect": "Allow", "Action": [ "bedrock:InvokeModel", "bedrock:GetProvisionedModelThroughput" ], "Resource": [ "arn:aws:bedrock:us-east-1:123456789012:provisioned-model/${provisioned-model-id}" ] } ] }

(Facoltativo) Identity-based policy per consentire ad Amazon Bedrock di associare e richiamare agenti collaboratori

Se abiliti la collaborazione multiagente, collega la seguente policy basata sull’identità al ruolo di servizio o aggiungi l’istruzione alla policy in Identity-based autorizzazioni per il ruolo di servizio Agenti.

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "AmazonBedrockAgentMultiAgentsPolicyProd", "Effect": "Allow", "Action": [ "bedrock:GetAgentAlias", "bedrock:InvokeAgent" ], "Resource": [ "arn:aws:bedrock:us-east-1:123456789012:agent-alias/${agent-id}/${agent-alias-id}" ] } ] }

Identity-based Politica (facoltativa) per consentire ad Amazon Bedrock di utilizzare i guardrail con il tuo agente

Se associ un guardrail al tuo agente, collega la policy basata sull’identità indicata di seguito al ruolo di servizio o aggiungi l’istruzione alla policy in Identity-based autorizzazioni per il ruolo di servizio Agenti.

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "ApplyGuardrail", "Effect": "Allow", "Action": "bedrock:ApplyGuardrail", "Resource": [ "arn:aws:bedrock:us-east-1:123456789012:guardrail/${guardrail-id}" ] } ] }

(Facoltativo) Identity-based policy per consentire ad Amazon Bedrock di accedere ai file da S3 da utilizzare con l'interpretazione del codice

Se abilitiAbilitazione dell’interpretazione del codice in Amazon Bedrock, allega la seguente politica basata sull'identità al ruolo di servizio o aggiungi la dichiarazione alla politica nelle Identity-based autorizzazioni per il ruolo di servizio Agenti.

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "AmazonBedrockAgentFileAccess", "Effect": "Allow", "Action": [ "s3:GetObject", "s3:GetObjectVersion", "s3:GetObjectVersionAttributes", "s3:GetObjectAttributes" ], "Resource": [ "arn:aws:s3:::[[customerProvidedS3BucketWithKey]]" ] } ] }

Resource-based policy per consentire ad Amazon Bedrock di richiamare una funzione Lambda del gruppo di azioni

Segui i passaggi indicati in Utilizzo delle politiche basate sulle risorse per Lambda e collega la seguente politica basata sulle risorse a una funzione Lambda per consentire ad Amazon Bedrock di accedere alla funzione Lambda per i gruppi di azione del tuo agente, sostituendola se necessario. ${values} La policy contiene chiavi di condizione opzionali (vedi Chiavi di condizione Amazon Bedrock e chiavi di contesto delle condizioni globali AWS) nel campo Condition che ti consigliamo di utilizzare come best practice di sicurezza.

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "AccessLambdaFunction", "Effect": "Allow", "Principal": { "Service": "bedrock.amazonaws.com" }, "Action": "lambda:InvokeFunction", "Resource": "arn:aws:lambda:us-east-1:123456789012:function:function-name", "Condition": { "StringEquals": { "AWS:SourceAccount": "123456789012" }, "ArnLike": { "AWS:SourceArn": "arn:aws:bedrock:us-east-1:123456789012:agent/${agent-id}" } } } ] }