

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
<a name="model-customize-mtrl-prereqs"></a>

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 Für API erforderlich | 
| Vertrauensrichtlinie: bedrock-agentcore.amazonaws.com | Neu | Erforderlich für die Runtime-Rolle des Agenten (nur Pfad) AgentCore  | 
| PassRole: job.sagemaker.amazonaws.com | Neu | Bestehende Voraussetzungen gelten nur für sagemaker.amazonaws.com | 
| Arbeitsaktionen (CreateJob DescribeJob, usw.) | Neu | Nicht in AmazonSageMakerFullAccess | 
| Bedrock-Agentcore: ListAgentRuntimes | Neu | Erforderlich für Studio Runtime Picker | 
| Bedrock-AgentCore: ListAgentRuntimeVersions | Neu | Erforderlich für die Studio-Versionsauswahl | 
| AmazonSageMakerJobFullAccess verwaltete Richtlinie | Neu | An die Rolle „Auftragsausführung“ anhängen | 
| AmazonSageMakerJobRuntimeAccess verwaltete Richtlinie | Neu | An die Runtime-Rolle des Agenten anhängen | 
| Lambda, Bedrock-Bereitstellung, S3, KMS, MLflow, CloudWatch | Ist bereits abgedeckt | Über bestehende Voraussetzungen oder verwaltete Richtlinien | 

## Rolle des Anrufers
<a name="model-customize-mtrl-prereqs-caller-role"></a>

```
{
  "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 — ermöglicht es dem Aufrufer, die Ausführungsrolle an zu delegieren. `job.sagemaker.amazonaws.com`

## Verwaltete Richtlinien
<a name="model-customize-mtrl-prereqs-managed-policies"></a>

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 sie der SageMaker KI-Jobausführungsrolle hinzu (die, zu der `RoleArn` Sie übergehen`CreateJob`).

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-Netzwerkschnittstellenmanagement und Log-Schreibvorgänge. CloudWatch Referenz:. [AmazonSageMakerJobFullAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonSageMakerJobFullAccess.html)

**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](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonSageMakerJobRuntimeAccess.html).

## Aktualisierungen der Vertrauensrichtlinien
<a name="model-customize-mtrl-prereqs-trust-policy"></a>

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-Runtime-Rolle 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 die Studio-Benutzeroberfläche
<a name="model-customize-mtrl-prereqs-studio-policy"></a>

Wenn Sie Jobs über SageMaker AI Studio einreichen, fügen Sie Ihrer SageMaker AI-Domänenausfü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“
<a name="model-customize-mtrl-prereqs-custom-policy"></a>

Wenn Sie es vorziehen, Ihre eigenen Richtlinien zu definieren, anstatt die AWS verwalteten zu verwenden, verwenden Sie die folgenden Richtlinien als Ausgangspunkt.

**SageMaker Rollenrichtlinie für die AI-Auftragsausführung** (entspricht`AmazonSageMakerJobFullAccess`):

```
{
  "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}"
        }
      }
    }
  ]
}
```

**Vertrauensverhältnis für die Agenten-Runtime-Rolle:**

```
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "bedrock-agentcore.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}
```

## Hinweis für Lambda-Spediteure
<a name="model-customize-mtrl-prereqs-lambda-forwarder"></a>

Die vorhandenen Lambda-Berechtigungen zur Modellanpassung decken Funktionen mit *SageMaker*oder *Sagemaker* im Namen ab. 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
<a name="model-customize-mtrl-prereqs-other-setup"></a>
+ Wenn Sie eine vom Kunden verwaltete VPC verwenden, finden Sie weitere Informationen unter. [Konfiguration einer VPC für Multiturn-RL-Jobs](model-customize-mtrl-vpc.md)
+ Wenn Sie einen KMS-Schlüssel zum Verschlüsseln der Auftragseingabe und -ausgabe verwenden, benötigen die Ausführungsrolle und die Anruferrolle zusätzliche Berechtigungen. Siehe [Verschlüsselung im Ruhezustand für mehrstufiges Reinforcement-Learning](model-customize-mtrl-encryption-at-rest.md).