Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Voraussetzungen
Multi-turn RL verwendet die SageMaker CreateJob KI-API, für die zusätzlich zu den bestehenden Voraussetzungen für die Modellanpassung zusätzliche Berechtigungen erforderlich sind. Die folgende Tabelle fasst zusammen, was neu ist und was bereits behandelt wurde.
| Was | Status | Hinweise |
|---|---|---|
| Vertrauensrichtlinie: job.sagemaker.amazonaws.com | Neu | CreateJob Erforderlich für API |
| Vertrauensrichtlinie: bedrock-agentcore.amazonaws.com | Neu | Erforderlich für die Agent-Laufzeitrolle (nur Pfad) AgentCore |
| PassRole: job.sagemaker.amazonaws.com | Neu | Bestehende Voraussetzungen beziehen sich nur auf sagemaker.amazonaws.com |
| Berufliche Aktionen (, usw.) CreateJob DescribeJob | Neu | Nicht drin AmazonSageMakerFullAccess |
| Bedrock-Agentcore: ListAgentRuntimes | Neu | Erforderlich für den Studio Runtime Picker |
| Bedrock-Agent-Core: ListAgentRuntimeVersions | Neu | Erforderlich für die Studio-Versionsauswahl |
| AmazonSageMakerJobFullAccess verwaltete Richtlinie | Neu | Der Rolle zur Auftragsausführung zuordnen |
| AmazonSageMakerJobRuntimeAccess verwaltete Richtlinie | Neu | An die Laufzeitrolle des Agenten anhängen |
| Lambda, Bedrock-Bereitstellung, S3, KMS, MLFlow, CloudWatch | Schon abgedeckt | Über bestehende Voraussetzungen oder verwaltete Richtlinien |
Rolle des Anrufers
{ "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 — lässt den Anrufer die Ausführungsrolle delegieren an. job.sagemaker.amazonaws.com
Verwaltete Richtlinien
Multi-turn RL verwendet zwei AWS verwaltete Richtlinien. Ordnen Sie jede Rolle der entsprechenden Rolle zu, bevor Sie einen Job erstellen.
AmazonSageMakerJobFullAccess— Fügen Sie die Rolle zur SageMaker KI-Jobausführung hinzu (zu der RoleArn Sie übergehenCreateJob).
Diese Richtlinie gewährt dem Job die Berechtigungen, die er während der Ausführung benötigt: read/write Zugriff auf Trainingsdaten und Checkpoints in S3, KMS-Berechtigungen für die S3-side Verschlüsselung, Zugriff auf SageMaker AI-Hub-Inhalte und Modellpakete, MLflow-Versuchsverfolgung, Agentenaufruf über Bedrock AgentCore oder Lambda, VPC-Netzwerkschnittstellenverwaltung und Logs Writes. CloudWatch Referenz:. AmazonSageMakerJobFullAccess
AmazonSageMakerJobRuntimeAccess— an die Agenten-Runtime-Rolle anhängen (die Rolle, unter der Ihr Agent läuft, egal ob auf Bedrock AgentCore oder hinter einem Lambda-Forwarder). Diese Richtlinie gewährt den Runtime-APIs, die Ihr Agent während eines Rollouts aufruft:sagemaker:Sample,sagemaker:SampleWithResponseStream, sagemaker:CompleteRollout und. sagemaker:UpdateReward sagemaker:CallWithBearerToken Referenz: AmazonSageMakerJobRuntimeAccess.
Aktualisierungen der Vertrauensrichtlinien
Fügen job.sagemaker.amazonaws.com Sie der Vertrauensrichtlinie Ihrer Ausführungsrolle Folgendes hinzu:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "job.sagemaker.amazonaws.com" }, "Action": ["sts:AssumeRole", "sts:TagSession"] } ] }
Wenn Sie Bedrock verwenden AgentCore, benötigt Ihre Agenten-Laufzeitrolle auch eine eigene Vertrauensrichtlinie:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "bedrock-agentcore.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
Zusätzliche Inline-Richtlinie für Studio UI
Wenn Sie Jobs über SageMaker AI Studio einreichen, fügen Sie Ihrer SageMaker AI-Domain-Ausführungsrolle die folgende Inline-Richtlinie hinzu:
{ "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}" } } } ] }
Option „Benutzerdefinierte Richtlinie“
Wenn Sie es vorziehen, Ihre eigenen Richtlinien zu definieren, anstatt die AWS verwalteten zu verwenden, verwenden Sie die folgenden Richtlinien als Ausgangspunkt.
SageMaker Rollenrichtlinie zur Ausführung von KI-Aufträgen (entsprichtAmazonSageMakerJobFullAccess):
{ "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}" } } } ] }
Vertrauensverhältnis für die Ausführungsrolle:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "job.sagemaker.amazonaws.com" }, "Action": ["sts:AssumeRole", "sts:TagSession"] } ] }
AmazonSageMakerJobRuntimeAccess gleichwertig + 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}" } } }, { "Sid": "KMSPermissionsForMTRLRuntime", "Effect": "Allow", "Action": [ "kms:Decrypt", "kms:GenerateDataKey" ], "Resource": "arn:aws:kms:*:*:key/*", "Condition": { "StringEquals": { "aws:ResourceAccount": "${aws:PrincipalAccount}" }, "StringLike": { "kms:ViaService": "sagemaker.*.amazonaws.com" } } } ] }
Vertrauensbeziehung für die Agenten-Laufzeitrolle:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "bedrock-agentcore.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
Hinweis zum Lambda-Forwarder
Die vorhandenen Lambda-Berechtigungen zur Modellanpassung decken Funktionen ab, deren Name SageMaker oder Sagemaker enthält. Wenn Ihr Lambda-Forwarder eine andere Namenskonvention verwendet, fügen Sie seinen ARN explizit hinzu:
{ "Sid": "CustomAgentLambdaPermission", "Effect": "Allow", "Action": ["lambda:InvokeFunction"], "Resource": "arn:aws:lambda:*:*:function:your-agent-forwarder-function-name", "Condition": { "StringEquals": {"aws:ResourceAccount": "${aws:PrincipalAccount}"} } }
Anderes Setup
-
Wenn Sie eine vom Kunden verwaltete VPC verwenden, finden Sie weitere Informationen unter. Konfiguration einer VPC für Multiturn-RL-Jobs
-
Wenn Sie einen vom Kunden verwalteten KMS-Schlüssel zum Verschlüsseln der Auftragseingabe und -ausgabe verwenden, müssen die Ausführungsrolle, die Anruferrolle und die Agenten-Laufzeitrolle über zusätzliche Berechtigungen verfügen. Siehe Verschlüsselung im Ruhezustand für mehrstufiges Reinforcement Learning.