Crea un ruolo di servizio per Amazon Bedrock Agents - 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à.

Crea un ruolo di servizio per Amazon Bedrock Agents

Per utilizzare un ruolo di servizio personalizzato per gli agenti anziché quello creato automaticamente da Amazon Bedrock, crea un IAM ruolo 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 base di Amazon Bedrock.

    • Accesso agli oggetti Amazon S3 contenenti OpenAPI schemi per i gruppi di azione dei tuoi agenti.

    • Autorizzazioni per Amazon Bedrock per interrogare le knowledge base che desideri allegare ai tuoi agenti.

    • Se una delle seguenti situazioni si riferisce al tuo caso d'uso, aggiungi la dichiarazione alla policy o aggiungi una policy con la dichiarazione al ruolo di servizio:

      • (Facoltativo) Se associate un Provisioned Throughput all'alias dell'agente, autorizzazioni per eseguire la chiamata del modello utilizzando quel Provisioned Throughput.

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

      • (Facoltativo) Se crittografate il vostro agente con una KMS chiave, autorizzazioni per decrittografare la chiave.

Indipendentemente dal fatto che utilizzi o meno un ruolo personalizzato, devi anche allegare una policy basata sulle risorse alle funzioni Lambda per i gruppi di azioni dei tuoi agenti per fornire le autorizzazioni affinché il ruolo di servizio acceda alle funzioni. Per ulteriori informazioni, consulta Policy basata sulle risorse per consentire ad Amazon Bedrock di richiamare una funzione Lambda del gruppo di azioni.

Relazione di attendibilità

La seguente politica di fiducia consente ad Amazon Bedrock di assumere questo ruolo e creare e gestire agenti. Sostituisci il ${values} se necessario. La policy contiene chiavi di condizione opzionali (vedi Condition keys for Amazon Bedrock e AWS global condition context keys) nel Condition campo che ti consigliamo di utilizzare come best practice di sicurezza.

Nota

Come best practice per motivi di sicurezza, sostituisci il * con un agente specifico IDs dopo averli creati.

{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Principal": { "Service": "bedrock.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "${account-id}" }, "ArnLike": { "AWS:SourceArn": "arn:aws:bedrock:${region}:${account-id}:agent/*" } } }] }

Autorizzazioni basate sull'identità per il ruolo di servizio Agenti

Allega la seguente politica per fornire le autorizzazioni per il ruolo di servizio, sostituendo ${values} se necessario. La politica contiene le seguenti dichiarazioni. Ometti una dichiarazione se non è applicabile al tuo caso d'uso. La policy contiene chiavi di condizione opzionali (vedi Condition keys for Amazon Bedrock e AWS global condition context keys) nel Condition campo che ti consigliamo di utilizzare come best practice di sicurezza.

Nota

Se crittografi il tuo agente con una KMS chiave gestita dal cliente, consulta la sezione Crittografia delle risorse dell'agente per ulteriori autorizzazioni da aggiungere.

  • Autorizzazioni per utilizzare i modelli di base di Amazon Bedrock per eseguire l'inferenza dei modelli sui prompt utilizzati nell'orchestrazione del tuo agente.

  • Autorizzazioni per accedere agli API schemi dei gruppi di azioni del tuo agente in Amazon S3. Ometti questa dichiarazione se il tuo agente non ha gruppi di azione.

  • Autorizzazioni per accedere alle knowledge base associate al tuo agente. Ometti questa dichiarazione se il tuo agente non ha basi di conoscenza associate.

  • Autorizzazioni per accedere a terze parti (Pinecone oppure Redis Enterprise Cloud) knowledge base associata al tuo 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.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "Allow model invocation for orchestration", "Effect": "Allow", "Action": [ "bedrock:InvokeModel" ], "Resource": [ "arn:aws:bedrock:${region}::foundation-model/anthropic.claude-v2", "arn:aws:bedrock:${region}::foundation-model/anthropic.claude-v2:1", "arn:aws:bedrock:${region}::foundation-model/anthropic.claude-instant-v1" ] }, { "Sid": "Allow access to action group API schemas in S3", "Effect": "Allow", "Action": [ "s3:GetObject" ], "Resource": [ "arn:aws:s3:::bucket/path/to/schema" ], "Condition": { "StringEquals": { "aws:ResourceAccount": "${account-id}" } } }, { "Sid": "Query associated knowledge bases", "Effect": "Allow", "Action": [ "bedrock:Retrieve", "bedrock:RetrieveAndGenerate" ], "Resource": [ "arn:aws:bedrock:${region}:${account-id}:knowledge-base/knowledge-base-id" ] }, { "Sid": "Associate a third-party knowledge base with your agent", "Effect": "Allow", "Action": [ "bedrock:AssociateThirdPartyKnowledgeBase", ], "Resource": "arn:aws:bedrock:${region}:${account-id}:knowledge-base/knowledge-base-id", "Condition": { "StringEquals" : { "bedrock:ThirdPartyKnowledgeBaseCredentialsSecretArn": "arn:aws:kms:${region}:${account-id}:key/${key-id}" } } } ] }

(Facoltativo) Policy basata sull'identità per consentire ad Amazon Bedrock di utilizzare Provisioned Throughput con il tuo alias di agente

Se associ un Provisioned Throughput a un alias del tuo agente, allega la seguente politica basata sull'identità al ruolo di servizio o aggiungi la dichiarazione alla policy in. Autorizzazioni basate sull'identità per il ruolo di servizio Agenti

{ "Version": "2012-10-17", "Statement": [ { "Sid": "Use a Provisioned Throughput in model invocation", "Effect": "Allow", "Action": [ "bedrock:InvokeModel", "bedrock:GetProvisionedModelThroughput" ], "Resource": [ "arn:aws:bedrock:{${region}}:{${account-id}}:${provisioned-model-id}" ] } ] }

(Facoltativo) Policy basata sull'identità per consentire ad Amazon Bedrock di utilizzare i guardrail con il tuo agente

Se associ un guardrail al tuo agente, allega la seguente politica basata sull'identità al ruolo di servizio o aggiungi la dichiarazione alla policy in. Autorizzazioni basate sull'identità per il ruolo di servizio Agenti

{ "Version": "2012-10-17", "Statement": [ { "Sid": "Apply a guardrail to your agent", "Effect": "Allow", "Action": "bedrock:ApplyGuardrail", "Resource": [ "arn:aws:bedrock:{${region}}:{${account-id}}:guardrail/${guardrail-id}" ] } ] }

(Facoltativo) Policy basata sull'identità per consentire ad Amazon Bedrock di accedere ai file da S3 da utilizzare con l'interpretazione del codice

Se abilitiAbilita l'interpretazione del codice in Amazon Bedrock, allega la seguente politica basata sull'identità al ruolo di servizio o aggiungi la dichiarazione alla politica in Autorizzazioni basate sull'identità per il ruolo di servizio Agenti.

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

Policy basata sulle risorse per consentire ad Amazon Bedrock di richiamare una funzione Lambda del gruppo di azioni

Segui la procedura descritta 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, sostituendo il ${values} se necessario. La policy contiene chiavi di condizione opzionali (vedi Condition keys for Amazon Bedrock e AWS global condition context keys) nel Condition campo che ti consigliamo di utilizzare come best practice di sicurezza.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "Allow Amazon Bedrock to access action group Lambda function", "Effect": "Allow", "Principal": { "Service": "bedrock.amazonaws.com" }, "Action": "lambda:InvokeFunction", "Resource": "arn:aws:lambda:${region}:${account-id}:function:function-name", "Condition": { "StringEquals": { "AWS:SourceAccount": "${account-id}" }, "ArnLike": { "AWS:SourceArn": "arn:aws:bedrock:${region}:${account-id}:agent/${agent-id}" } } } ] }