

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

Multi-turn RL utilizza l'`CreateJob`API 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
<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 — consente al chiamante di delegare il ruolo di esecuzione a. `job.sagemaker.amazonaws.com`

## Policy gestite
<a name="model-customize-mtrl-prereqs-managed-policies"></a>

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 (`RoleArn`quello a cui passi`CreateJob`).

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

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

## Aggiornamenti delle politiche di fiducia
<a name="model-customize-mtrl-prereqs-trust-policy"></a>

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

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

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

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

Le autorizzazioni Lambda di personalizzazione del modello esistenti coprono le funzioni *SageMaker*con *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
<a name="model-customize-mtrl-prereqs-other-setup"></a>
+ Se utilizzi un VPC gestito dal cliente, consulta. [Configurazione di un VPC per lavori RL a turni multipli](model-customize-mtrl-vpc.md)
+ 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](model-customize-mtrl-encryption-at-rest.md).