View a markdown version of this page

Autorizzazioni IAM per AgentCore Runtime - Amazon Bedrock AgentCore

Autorizzazioni IAM per AgentCore Runtime

Di seguito sono riportate le autorizzazioni IAM necessarie per creare un agente in un AgentCore Runtime e le autorizzazioni per il ruolo di esecuzione necessarie a un agente per l'esecuzione in un Runtime. AgentCore Puoi anche utilizzare policy basate sulle risorse per controllare l'accesso alle tue risorse di runtime.

Per informazioni sull'utilizzo di politiche basate sulle risorse per controllare l'accesso alle risorse di AgentCore Runtime, consulta le politiche Resource-based per Amazon Bedrock. AgentCore

Usa Amazon Bedrock AgentCore

Per utilizzare Amazon Bedrock AgentCore, puoi allegare la policy BedrockAgentCoreFullAccess AWS gestita al tuo utente IAM o al tuo ruolo IAM. Questa policy AWS gestita concede ampie autorizzazioniGetWorkloadAccessTokenForUserId, tra cui l'emissione di token di accesso al carico di lavoro utilizzando stringhe di identificazione utente fornite dal chiamante senza la verifica del token IdP. Ti consigliamo di creare una policy personalizzata con solo le autorizzazioni richieste dall'applicazione, copiando le istruzioni pertinenti e limitando le risorse al tuo caso d'uso specifico. Per le implementazioni di produzione in cui l'applicazione dispone di token JWT, nega e concedi solo esplicitamente. GetWorkloadAccessTokenForUserId GetWorkloadAccessTokenForJWT Per ulteriori informazioni, consulta Get workload access token. Per utilizzare la AgentCore CLI, sono necessarie autorizzazioni aggiuntive.

Usa la AgentCore CLI

Per utilizzare la AgentCore CLI, collega la seguente policy IAM al tuo utente o ruolo IAM. Per modificare le autorizzazioni IAM, consulta Modificare le autorizzazioni per un utente IAM.

Importante

Le policy IAM create dalla AgentCore CLI sono progettate per scopi di sviluppo e test. Queste autorizzazioni garantiscono un ampio accesso per facilitare la prototipazione rapida e non sono adatte agli ambienti di produzione. Per le implementazioni di produzione, crea policy IAM personalizzate che seguano il principio del privilegio minimo e limita le autorizzazioni solo alle risorse e alle azioni specifiche richieste dalla tua applicazione Amazon Bedrock. AgentCore Per una guida completa sulla sicurezza IAM, consulta le best practice di sicurezza per Runtime. AgentCore

{ "Version":"2012-10-17", "Statement": [ { "Sid": "IAMRoleManagement", "Effect": "Allow", "Action": [ "iam:CreateRole", "iam:DeleteRole", "iam:GetRole", "iam:PutRolePolicy", "iam:DeleteRolePolicy", "iam:AttachRolePolicy", "iam:DetachRolePolicy", "iam:TagRole", "iam:ListRolePolicies", "iam:ListAttachedRolePolicies" ], "Resource": [ "arn:aws:iam::*:role/*BedrockAgentCore*", "arn:aws:iam::*:role/service-role/*BedrockAgentCore*" ] }, { "Sid": "CodeBuildProjectAccess", "Effect": "Allow", "Action": [ "codebuild:StartBuild", "codebuild:BatchGetBuilds", "codebuild:ListBuildsForProject", "codebuild:CreateProject", "codebuild:UpdateProject", "codebuild:BatchGetProjects" ], "Resource": [ "arn:aws:codebuild:*:*:project/bedrock-agentcore-*", "arn:aws:codebuild:*:*:build/bedrock-agentcore-*" ] }, { "Sid": "CodeBuildListAccess", "Effect": "Allow", "Action": [ "codebuild:ListProjects" ], "Resource": "*" }, { "Sid": "IAMPassRoleAccess", "Effect": "Allow", "Action": [ "iam:PassRole" ], "Resource": [ "arn:aws:iam::*:role/AmazonBedrockAgentCore*", "arn:aws:iam::*:role/service-role/AmazonBedrockAgentCore*" ] }, { "Sid": "CloudWatchLogsAccess", "Effect": "Allow", "Action": [ "logs:GetLogEvents", "logs:DescribeLogGroups", "logs:DescribeLogStreams" ], "Resource": [ "arn:aws:logs:*:*:log-group:/aws/bedrock-agentcore/*", "arn:aws:logs:*:*:log-group:/aws/codebuild/*" ] }, { "Sid": "S3Access", "Effect": "Allow", "Action": [ "s3:GetObject", "s3:PutObject", "s3:ListBucket", "s3:CreateBucket", "s3:PutLifecycleConfiguration" ], "Resource": [ "arn:aws:s3:::bedrock-agentcore-*", "arn:aws:s3:::bedrock-agentcore-*/*" ] }, { "Sid": "ECRRepositoryAccess", "Effect": "Allow", "Action": [ "ecr:CreateRepository", "ecr:DescribeRepositories", "ecr:GetRepositoryPolicy", "ecr:InitiateLayerUpload", "ecr:CompleteLayerUpload", "ecr:PutImage", "ecr:UploadLayerPart", "ecr:BatchCheckLayerAvailability", "ecr:GetDownloadUrlForLayer", "ecr:BatchGetImage", "ecr:ListImages", "ecr:TagResource" ], "Resource": [ "arn:aws:ecr:*:*:repository/bedrock-agentcore-*" ] }, { "Sid": "ECRAuthorizationAccess", "Effect": "Allow", "Action": [ "ecr:GetAuthorizationToken" ], "Resource": "*" } ] }

Autorizzazioni utente per Amazon Bedrock Console AgentCore

Allega la BedrockAgentCoreFullAccesspolicy al ruolo della console. Inoltre, aggiungi le seguenti autorizzazioni per IAM se desideri che la console di servizio crei automaticamente il ruolo di esecuzione.

{ "Version": "2012-10-17", "Statement": [{ "Sid": "IAMRoleAccess", "Effect": "Allow", "Action": ["iam:CreateRole"], "Resource": ["arn:aws:iam::*:role/service-role/AmazonBedrockAgentCoreRuntimeDefaultServiceRole-*"] }, { "Sid": "IAMPolicyAccess", "Effect": "Allow", "Action": ["iam:CreatePolicy"], "Resource": ["arn:aws:iam::*:policy/service-role/AmazonBedrockAgentCoreRuntimeExecutionPolicy_*"] }, { "Sid": "IAMRolePolicyAccess", "Effect": "Allow", "Action": ["iam:AttachRolePolicy"], "Resource": ["arn:aws:iam::*:role/service-role/AmazonBedrockAgentCoreRuntimeDefaultServiceRole-*"], "Condition": { "ArnLike": { "iam:PolicyARN": "arn:aws:iam::*:policy/service-role/AmazonBedrockAgentCoreRuntimeExecutionPolicy_*" } } }] }

Ruolo di esecuzione per l'esecuzione di un agente in Runtime AgentCore

Per eseguire l'agente o lo strumento in AgentCore Runtime è necessario un ruolo di esecuzione di AWS Identity and Access Management. Per informazioni sulla creazione di un ruolo IAM, consulta Creazione di ruoli IAM.

Il ruolo di esecuzione della distribuzione AgentCore diretta di Amazon Bedrock è un ruolo IAM che Amazon Bedrock AgentCore assume per eseguire un agente. Sostituisci quanto segue:

  • us-east-1con la AWS regione che stai utilizzando

  • 123456789012con l'ID AWS del tuo account

  • agentNamecon il nome del tuo agente. Dovrai decidere il nome dell'agente prima di creare il ruolo e il AgentCore Runtime.

{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": [ "logs:DescribeLogStreams", "logs:CreateLogGroup" ], "Resource": [ "arn:aws:logs:us-east-1:123456789012:log-group:/aws/bedrock-agentcore/runtimes/*" ] }, { "Effect": "Allow", "Action": [ "logs:PutResourcePolicy" ], "Resource": [ "arn:aws:logs:us-east-1:123456789012:log-group:/aws/bedrock-agentcore/runtimes/agentName-*" ] }, { "Effect": "Allow", "Action": ["logs:DescribeLogGroups"], "Resource": ["arn:aws:logs:us-east-1:123456789012:log-group:*"] }, { "Effect": "Allow", "Action": [ "logs:CreateLogStream", "logs:PutLogEvents" ], "Resource": [ "arn:aws:logs:us-east-1:123456789012:log-group:/aws/bedrock-agentcore/runtimes/*:log-stream:*" ] }, { "Effect": "Allow", "Action": [ "xray:PutTraceSegments", "xray:PutTelemetryRecords", "xray:GetSamplingRules", "xray:GetSamplingTargets" ], "Resource": ["*"] }, { "Effect": "Allow", "Resource": "*", "Action": "cloudwatch:PutMetricData", "Condition": { "StringEquals": { "cloudwatch:namespace": "bedrock-agentcore" } } }, { "Sid": "BedrockModelInvocation", "Effect": "Allow", "Action": [ "bedrock:InvokeModel", "bedrock:InvokeModelWithResponseStream" ], "Resource": [ "arn:aws:bedrock:*::foundation-model/*", "arn:aws:bedrock:us-east-1:123456789012:*" ] }] }

Il ruolo AgentCore di esecuzione Runtime è un ruolo IAM che AgentCore Runtime assume per eseguire un agente. Sostituisci quanto segue:

  • us-east-1con la AWS regione che stai utilizzando

  • 123456789012con l'ID AWS del tuo account

  • agentNamecon il nome del tuo agente. Dovrai decidere il nome dell'agente prima di creare il ruolo e il AgentCore Runtime.

{ "Version":"2012-10-17", "Statement": [ { "Sid": "ECRImageAccess", "Effect": "Allow", "Action": [ "ecr:BatchGetImage", "ecr:GetDownloadUrlForLayer" ], "Resource": [ "arn:aws:ecr:us-east-1:123456789012:repository/*" ] }, { "Effect": "Allow", "Action": [ "logs:DescribeLogStreams", "logs:CreateLogGroup" ], "Resource": [ "arn:aws:logs:us-east-1:123456789012:log-group:/aws/bedrock-agentcore/runtimes/*" ] }, { "Effect": "Allow", "Action": [ "logs:PutResourcePolicy" ], "Resource": [ "arn:aws:logs:us-east-1:123456789012:log-group:/aws/bedrock-agentcore/runtimes/agentName-*" ] }, { "Effect": "Allow", "Action": [ "logs:DescribeLogGroups" ], "Resource": [ "arn:aws:logs:us-east-1:123456789012:log-group:*" ] }, { "Effect": "Allow", "Action": [ "logs:CreateLogStream", "logs:PutLogEvents" ], "Resource": [ "arn:aws:logs:us-east-1:123456789012:log-group:/aws/bedrock-agentcore/runtimes/*:log-stream:*" ] }, { "Sid": "ECRTokenAccess", "Effect": "Allow", "Action": [ "ecr:GetAuthorizationToken" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "xray:PutTraceSegments", "xray:PutTelemetryRecords", "xray:GetSamplingRules", "xray:GetSamplingTargets" ], "Resource": [ "*" ] }, { "Effect": "Allow", "Resource": "*", "Action": "cloudwatch:PutMetricData", "Condition": { "StringEquals": { "cloudwatch:namespace": "bedrock-agentcore" } } }, { "Sid": "GetAgentAccessToken", "Effect": "Allow", "Action": [ "bedrock-agentcore:GetWorkloadAccessToken", "bedrock-agentcore:GetWorkloadAccessTokenForJWT", "bedrock-agentcore:GetWorkloadAccessTokenForUserId" ], "Resource": [ "arn:aws:bedrock-agentcore:us-east-1:123456789012:workload-identity-directory/default", "arn:aws:bedrock-agentcore:us-east-1:123456789012:workload-identity-directory/default/workload-identity/agentName-*" ] }, {"Sid": "BedrockModelInvocation", "Effect": "Allow", "Action": [ "bedrock:InvokeModel", "bedrock:InvokeModelWithResponseStream" ], "Resource": [ "arn:aws:bedrock:*::foundation-model/*", "arn:aws:bedrock:us-east-1:123456789012:*" ] } ] }

AgentCore Politica di fiducia in Runtime

Il ruolo AgentCore di esecuzione del Runtime deve includere la seguente politica di fiducia che consente al AgentCore Runtime di assumere il ruolo.

Nella policy, sostituisci:

  • us-east-1con la AWS regione che stai utilizzando

  • 123456789012con l'ID AWS del tuo account

Per aggiungere la politica di fiducia al ruolo AgentCore di esecuzione Runtime, vai alla Console di AWS gestione, accedi al ruolo, scegli la scheda Relazioni di fiducia e scegli Modifica politica di fiducia.

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