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à.
Prerequisiti
Multi-turn RL utilizza l'CreateJobAPI SageMaker AI, che richiede autorizzazioni aggiuntive oltre ai prerequisiti di personalizzazione del modello esistenti. La tabella seguente riassume le novità rispetto a quelle già coperte.
| What | Stato | Note |
|---|---|---|
| Politica di fiducia: job.sagemaker.amazonaws.com | Novità | CreateJob Richiesto per l'API |
| Politica di fiducia: bedrock-agentcore.amazonaws.com | Novità | Obbligatorio nel ruolo di runtime dell'agente (solo percorso) AgentCore |
| PassRole: job.sagemaker.amazonaws.com | Novità | I prerequisiti esistenti riguardano solo sagemaker.amazonaws.com |
| Job actions (CreateJob DescribeJob, ecc.) | Novità | Non in AmazonSageMakerFullAccess |
| bedrock-agentcore: ListAgentRuntimes | Novità | Richiesto per Studio runtime picker |
| bedrock-agentcore: ListAgentRuntimeVersions | Novità | Richiesto per il selettore di versione di Studio |
| AmazonSageMakerJobFullAccess politica gestita | Novità | Allega al ruolo di esecuzione del lavoro |
| AmazonSageMakerJobRuntimeAccess politica gestita | Novità | Associa al ruolo di runtime dell'agente |
| Lambda, implementazione Bedrock, S3, KMS, MLFlow, CloudWatch | Già coperto | Tramite prerequisiti esistenti o politiche gestite |
Ruolo chiamante
{ "Version": "2012-10-17", "Statement": [ { "Sid": "PassRoleForCreateJob", "Effect": "Allow", "Action": "iam:PassRole", "Resource": "arn:aws:iam::<account-id>:role/<ExecutionRoleName>", "Condition": { "StringEquals": { "iam:PassedToService": "job.sagemaker.amazonaws.com" } } }, { "Sid": "MTRLJobActions", "Effect": "Allow", "Action": [ "sagemaker:CreateJob", "sagemaker:DescribeJob", "sagemaker:StopJob", "sagemaker:DeleteJob" ], "Resource": "arn:aws:sagemaker:*:*:job/*", "Condition": { "StringEquals": { "aws:ResourceAccount": "${aws:PrincipalAccount}" } } }, { "Sid": "MTRLListJobsPermission", "Effect": "Allow", "Action": [ "sagemaker:ListJobs", "sagemaker:ListJobSchemaVersions", "sagemaker:DescribeJobSchemaVersion" ], "Resource": "*", "Condition": { "StringEquals": { "aws:ResourceAccount": "${aws:PrincipalAccount}" } } } ] }
PassRole — consente al chiamante di delegare il ruolo di esecuzione a. job.sagemaker.amazonaws.com
Policy gestite
Multi-turn RL utilizza due politiche AWS gestite. Associa ciascuno di essi al ruolo appropriato prima di creare un lavoro.
AmazonSageMakerJobFullAccess— assegna al ruolo di esecuzione del lavoro SageMaker AI (RoleArnquello a cui passiCreateJob).
Questa politica concede al lavoro le autorizzazioni necessarie durante l'esecuzione: read/write accesso ai dati di addestramento e ai checkpoint in S3, autorizzazioni KMS per la S3-side crittografia, accesso ai contenuti dell'hub SageMaker AI e ai pacchetti di modelli, tracciamento degli esperimenti MLFlow, invocazione degli agenti tramite Bedrock o AgentCore Lambda, gestione dell'interfaccia di rete VPC e scritture di Logs. CloudWatch Riferimento AmazonSageMakerJobFullAccess:.
AmazonSageMakerJobRuntimeAccess— associa al ruolo di runtime dell'agente (il ruolo che ricopre il tuo agente, sia su Bedrock che dietro uno AgentCore spedizioniere Lambda). Questa policy concede le API di runtime chiamate dall'agente durante un'implementazione:,,, e. sagemaker:Sample sagemaker:SampleWithResponseStream sagemaker:CompleteRollout sagemaker:UpdateReward sagemaker:CallWithBearerToken Riferimento:. AmazonSageMakerJobRuntimeAccess
Aggiornamenti delle politiche di fiducia
Aggiungi job.sagemaker.amazonaws.com alla politica di fiducia del tuo ruolo di esecuzione:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "job.sagemaker.amazonaws.com" }, "Action": ["sts:AssumeRole", "sts:TagSession"] } ] }
Se utilizzi Bedrock AgentCore, anche il tuo ruolo di agente di runtime necessita di una propria politica di fiducia:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "bedrock-agentcore.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
Policy in linea aggiuntiva per l'interfaccia utente di Studio
Se invii lavori tramite SageMaker AI Studio, aggiungi la seguente politica in linea al tuo ruolo di esecuzione del dominio SageMaker AI:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "MTRLJobActions", "Effect": "Allow", "Action": [ "sagemaker:CreateJob", "sagemaker:DescribeJob", "sagemaker:StopJob", "sagemaker:DeleteJob", "sagemaker:ListJobs", "sagemaker:ListJobSchemaVersions", "sagemaker:DescribeJobSchemaVersion" ], "Resource": "arn:aws:sagemaker:*:*:job/*", "Condition": { "StringEquals": { "aws:ResourceAccount": "${aws:PrincipalAccount}" } } }, { "Sid": "BedrockAgentCoreListPermissions", "Effect": "Allow", "Action": [ "bedrock-agentcore:ListAgentRuntimes", "bedrock-agentcore:ListAgentRuntimeVersions" ], "Resource": "*", "Condition": { "StringEquals": { "aws:ResourceAccount": "${aws:PrincipalAccount}" } } }, { "Sid": "PassRoleForCreateJob", "Effect": "Allow", "Action": "iam:PassRole", "Resource": "arn:aws:iam::*:role/*", "Condition": { "StringEquals": { "iam:PassedToService": "job.sagemaker.amazonaws.com", "aws:ResourceAccount": "${aws:PrincipalAccount}" } } } ] }
Opzione di policy personalizzata
Se preferisci definire le tue politiche anziché utilizzare quelle AWS gestite, usa quanto segue come punto di partenza.
SageMaker Politica relativa al ruolo di esecuzione del lavoro di intelligenza artificiale (equivalente aAmazonSageMakerJobFullAccess):
{ "Version": "2012-10-17", "Statement": [ { "Sid": "S3Permissions", "Effect": "Allow", "Action": [ "s3:GetObject", "s3:PutObject", "s3:ListBucket" ], "Resource": "*", "Condition": { "StringEquals": { "s3:ResourceAccount": "${aws:PrincipalAccount}" } } }, { "Sid": "KMSPermissions", "Effect": "Allow", "Action": [ "kms:Decrypt", "kms:GenerateDataKey" ], "Resource": "arn:aws:kms:*:*:key/*", "Condition": { "StringEquals": { "aws:ResourceAccount": "${aws:PrincipalAccount}" }, "StringLike": { "kms:ViaService": "s3.*.amazonaws.com" } } }, { "Sid": "KMSDescribeKey", "Effect": "Allow", "Action": "kms:DescribeKey", "Resource": "arn:aws:kms:*:*:key/*", "Condition": { "StringEquals": { "aws:ResourceAccount": "${aws:PrincipalAccount}" } } }, { "Sid": "SageMakerHubPermissions", "Effect": "Allow", "Action": [ "sagemaker:DescribeHubContent" ], "Resource": [ "arn:aws:sagemaker:*:*:hub/*", "arn:aws:sagemaker:*:*:hub-content/*" ], "Condition": { "StringEquals": { "aws:ResourceAccount": "${aws:PrincipalAccount}" } } }, { "Sid": "SageMakerModelPackagePermissions", "Effect": "Allow", "Action": [ "sagemaker:AccessModelPackage", "sagemaker:CreateModelPackage", "sagemaker:DescribeModelPackage", "sagemaker:DescribeModelPackageGroup" ], "Resource": [ "arn:aws:sagemaker:*:*:model-package/*", "arn:aws:sagemaker:*:*:model-package-group/*" ], "Condition": { "StringEquals": { "aws:ResourceAccount": "${aws:PrincipalAccount}" } } }, { "Sid": "MLflowPermissions", "Effect": "Allow", "Action": [ "sagemaker:DescribeMlflowApp", "sagemaker:CallMlflowAppApi", "sagemaker-mlflow:CreateExperiment", "sagemaker-mlflow:CreateRun", "sagemaker-mlflow:UpdateRun", "sagemaker-mlflow:LogBatch", "sagemaker-mlflow:GetExperimentByName", "sagemaker-mlflow:GetMetricHistory", "sagemaker-mlflow:GetRun", "sagemaker-mlflow:StartTrace", "sagemaker-mlflow:EndTrace", "sagemaker-mlflow:SearchTraces", "sagemaker-mlflow:ListArtifacts" ], "Resource": [ "arn:aws:sagemaker:*:*:mlflow-app/*" ], "Condition": { "StringEquals": { "aws:ResourceAccount": "${aws:PrincipalAccount}" } } }, { "Sid": "BedrockAgentCorePermissions", "Effect": "Allow", "Action": [ "bedrock-agentcore:InvokeAgentRuntime", "bedrock-agentcore:StopRuntimeSession", "bedrock-agentcore:GetAgentRuntime" ], "Resource": "arn:aws:bedrock-agentcore:*:*:runtime/*", "Condition": { "StringEquals": { "aws:ResourceAccount": "${aws:PrincipalAccount}" } } }, { "Sid": "EC2NetworkPermissions", "Effect": "Allow", "Action": [ "ec2:CreateNetworkInterface", "ec2:CreateNetworkInterfacePermission", "ec2:DescribeNetworkInterfaces", "ec2:DescribeVpcs", "ec2:DescribeSubnets", "ec2:DescribeSecurityGroups", "ec2:DescribeDhcpOptions" ], "Resource": "*", "Condition": { "StringEquals": { "aws:ResourceAccount": "${aws:PrincipalAccount}" } } }, { "Sid": "EC2NetworkInterfaceTagPermissions", "Effect": "Allow", "Action": [ "ec2:CreateTags" ], "Resource": "arn:aws:ec2:*:*:network-interface/*", "Condition": { "StringEquals": { "aws:ResourceAccount": "${aws:PrincipalAccount}", "ec2:CreateAction": "CreateNetworkInterface" } } }, { "Sid": "EC2NetworkInterfaceDeletePermissions", "Effect": "Allow", "Action": [ "ec2:DeleteNetworkInterface", "ec2:DeleteNetworkInterfacePermission" ], "Resource": "*", "Condition": { "StringEquals": { "aws:ResourceAccount": "${aws:PrincipalAccount}" } } }, { "Sid": "CloudWatchLogsPermissions", "Effect": "Allow", "Action": [ "logs:CreateLogGroup", "logs:CreateLogStream", "logs:PutLogEvents", "logs:DescribeLogStreams" ], "Resource": "arn:aws:logs:*:*:log-group:/aws/sagemaker/*", "Condition": { "StringEquals": { "aws:ResourceAccount": "${aws:PrincipalAccount}" } } }, { "Sid": "LambdaPermissions", "Effect": "Allow", "Action": [ "lambda:InvokeFunction" ], "Resource": "arn:aws:lambda:*:*:function:*", "Condition": { "StringEquals": { "aws:ResourceAccount": "${aws:PrincipalAccount}" } } } ] }
Relazione di fiducia per il ruolo di esecuzione:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "job.sagemaker.amazonaws.com" }, "Action": ["sts:AssumeRole", "sts:TagSession"] } ] }
AmazonSageMakerJobRuntimeAccess equivalente + BedrockAgentCoreFullAccess
{ "Version": "2012-10-17", "Statement": [ { "Sid": "SageMakerJobRuntimePermissions", "Effect": "Allow", "Action": [ "sagemaker:Sample", "sagemaker:SampleWithResponseStream", "sagemaker:CompleteRollout", "sagemaker:UpdateReward" ], "Resource": "arn:aws:sagemaker:*:*:job/*", "Condition": { "StringEquals": { "aws:ResourceAccount": "${aws:PrincipalAccount}" } } }, { "Sid": "BearerTokenPermissions", "Effect": "Allow", "Action": [ "sagemaker:CallWithBearerToken" ], "Resource": "*", "Condition": { "StringEquals": { "aws:ResourceAccount": "${aws:PrincipalAccount}" } } } ] }
Relazione di fiducia per il ruolo di runtime dell'agente:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "bedrock-agentcore.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
Nota sullo spedizioniere Lambda
Le autorizzazioni Lambda di personalizzazione del modello esistenti coprono le funzioni SageMakercon o sagemaker nel nome. Se il tuo server d'inoltro Lambda utilizza una convenzione di denominazione diversa, aggiungi il suo ARN in modo esplicito:
{ "Sid": "CustomAgentLambdaPermission", "Effect": "Allow", "Action": ["lambda:InvokeFunction"], "Resource": "arn:aws:lambda:*:*:function:your-agent-forwarder-function-name", "Condition": { "StringEquals": {"aws:ResourceAccount": "${aws:PrincipalAccount}"} } }
Altra configurazione
-
Se utilizzi un VPC gestito dal cliente, consulta. Configurazione di un VPC per lavori RL a turni multipli
-
Se utilizzi una chiave KMS per crittografare l'input e l'output del lavoro, il ruolo di esecuzione e il ruolo chiamante richiedono autorizzazioni aggiuntive. Per informazioni, consulta Crittografia a riposo per il reinforcement learning a più turni.