View a markdown version of this page

Voraussetzungen - Amazon SageMaker KI

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