

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à.

# Creazione di un ruolo di servizio EMR Studio
<a name="emr-studio-service-role"></a>

## Informazioni sul ruolo di servizio EMR Studio
<a name="emr-studio-about-service-role"></a>

Ogni EMR Studio utilizza un ruolo IAM con autorizzazioni che consentono allo Studio di interagire con altri servizi. AWS Questo ruolo di servizio deve includere autorizzazioni che consentano a EMR Studio di stabilire un canale di rete sicuro tra Workspace e cluster, di archiviare i file Amazon S3 Control del notebook e di accedervi Gestione dei segreti AWS mentre collega un Workspace a un repository Git.

Utilizza il ruolo di servizio Studio (anziché le policy di sessione) per definire tutte le autorizzazioni di accesso ad Amazon S3 per l'archiviazione dei file notebook e per definire autorizzazioni di accesso Gestione dei segreti AWS .

## Come creare un ruolo di servizio per EMR Studio su Amazon EC2 o Amazon EKS
<a name="emr-studio-service-role-instructions"></a>

1. Segui le istruzioni in [Creazione di un ruolo per delegare le autorizzazioni a un servizio per creare il ruolo di AWS servizio con la seguente politica](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html) di fiducia. 
**Importante**  
La policy di affidabilità riportata di seguito include le chiavi di condizione globale [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn) e [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount) per limitare le autorizzazioni che concedi a EMR Studio a determinate risorse del tuo account. In questo modo puoi proteggerti dal [problema del "confused deputy"](https://docs.aws.amazon.com/IAM/latest/UserGuide/confused-deputy.html).

------
#### [ JSON ]

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
       {
         "Sid": "AllowSTSAssumerole",
         "Effect": "Allow",
         "Principal": {
           "Service": "elasticmapreduce.amazonaws.com"
         },
         "Action": "sts:AssumeRole",
         "Condition": {
           "StringEquals": {
             "aws:SourceAccount": "123456789012"
           },
           "ArnLike": {
             "aws:SourceArn": "arn:aws:elasticmapreduce:*:123456789012:*"
           }
         }
       }
     ]
   }
   ```

------

1. Rimuovere le autorizzazioni di ruolo predefinite. Quindi, includere le autorizzazioni dalla seguente policy di autorizzazione IAM di esempio. In alternativa, è possibile creare una policy personalizzata che utilizzi [Autorizzazioni del ruolo di servizio EMR Studio](#emr-studio-service-role-permissions-table).
**Importante**  
Affinché il controllo degli accessi basato su tag di Amazon EC2 funzioni con EMR Studio, devi impostare l'accesso per l'API `ModifyNetworkInterfaceAttribute` come mostrato nella seguente policy.
Affinché EMR Studio funzioni con il ruolo di servizio, le istruzioni seguenti devono rimanere invariate: `AllowAddingEMRTagsDuringDefaultSecurityGroupCreation` e `AllowAddingTagsDuringEC2ENICreation`.
Per utilizzare la policy di esempio, è necessario taggare le seguenti risorse con la chiave `"for-use-with-amazon-emr-managed-policies"` e il valore `"true"`.  
Amazon Virtual Private Cloud (VPC) designato per EMR Studio.
Ogni sottorete che si desidera utilizzare con Studio.
Qualsiasi gruppo di sicurezza EMR Studio personalizzato. È necessario applicare tag a tutti i gruppi di sicurezza creati durante il periodo di anteprima di EMR Studio se si desidera continuare a utilizzarli. 
Segreti Gestione dei segreti AWS mantenuti dagli utenti di Studio per collegare i repository Git a un Workspace.
Puoi applicare i tag alle risorse utilizzando la scheda **Tag** nella schermata delle risorse pertinente nella sezione Console di gestione AWS.

   Se applicabile, modifica `{{*}}` in `"Resource":"{{*}}"` nella policy seguente per specificare il nome della risorsa Amazon (ARN) delle risorse che l'istruzione copre per i tuoi casi d'uso.

------
#### [ JSON ]

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
       {
         "Sid": "AllowEMRReadOnlyActions",
         "Effect": "Allow",
         "Action": [
           "elasticmapreduce:ListInstances",
           "elasticmapreduce:DescribeCluster",
           "elasticmapreduce:ListSteps"
         ],
         "Resource": [
           "*"
         ]
       },
       {
         "Sid": "AllowEC2ENIActionsWithEMRTags",
         "Effect": "Allow",
         "Action": [
           "ec2:CreateNetworkInterfacePermission",
           "ec2:DeleteNetworkInterface"
         ],
         "Resource": [
           "arn:aws:ec2:*:*:network-interface/*"
         ],
         "Condition": {
           "StringEquals": {
             "aws:ResourceTag/for-use-with-amazon-emr-managed-policies": "true"
           }
         }
       },
       {
         "Sid": "AllowEC2ENIAttributeAction",
         "Effect": "Allow",
         "Action": [
           "ec2:ModifyNetworkInterfaceAttribute"
         ],
         "Resource": [
           "arn:aws:ec2:*:*:instance/*",
           "arn:aws:ec2:*:*:network-interface/*",
           "arn:aws:ec2:*:*:security-group/*"
         ]
       },
       {
         "Sid": "AllowEC2SecurityGroupActionsWithEMRTags",
         "Effect": "Allow",
         "Action": [
           "ec2:AuthorizeSecurityGroupEgress",
           "ec2:AuthorizeSecurityGroupIngress",
           "ec2:RevokeSecurityGroupEgress",
           "ec2:RevokeSecurityGroupIngress",
           "ec2:DeleteNetworkInterfacePermission"
         ],
         "Resource": [
           "*"
         ],
         "Condition": {
           "StringEquals": {
             "aws:ResourceTag/for-use-with-amazon-emr-managed-policies": "true"
           }
         }
       },
       {
         "Sid": "AllowDefaultEC2SecurityGroupsCreationWithEMRTags",
         "Effect": "Allow",
         "Action": [
           "ec2:CreateSecurityGroup"
         ],
         "Resource": [
           "arn:aws:ec2:*:*:security-group/*"
         ],
         "Condition": {
           "StringEquals": {
             "aws:RequestTag/for-use-with-amazon-emr-managed-policies": "true"
           }
         }
       },
       {
         "Sid": "AllowDefaultEC2SecurityGroupsCreationInVPCWithEMRTags",
         "Effect": "Allow",
         "Action": [
           "ec2:CreateSecurityGroup"
         ],
         "Resource": [
           "arn:aws:ec2:*:*:vpc/*"
         ],
         "Condition": {
           "StringEquals": {
             "aws:ResourceTag/for-use-with-amazon-emr-managed-policies": "true"
           }
         }
       },
       {
         "Sid": "AllowAddingEMRTagsDuringDefaultSecurityGroupCreation",
         "Effect": "Allow",
         "Action": [
           "ec2:CreateTags"
         ],
         "Resource": [
           "arn:aws:ec2:*:*:security-group/*"
         ],
         "Condition": {
           "StringEquals": {
             "aws:RequestTag/for-use-with-amazon-emr-managed-policies": "true",
             "ec2:CreateAction": "CreateSecurityGroup"
           }
         }
       },
       {
         "Sid": "AllowEC2ENICreationWithEMRTags",
         "Effect": "Allow",
         "Action": [
           "ec2:CreateNetworkInterface"
         ],
         "Resource": [
           "arn:aws:ec2:*:*:network-interface/*"
         ],
         "Condition": {
           "StringEquals": {
             "aws:RequestTag/for-use-with-amazon-emr-managed-policies": "true"
           }
         }
       },
       {
         "Sid": "AllowEC2ENICreationInSubnetAndSecurityGroupWithEMRTags",
         "Effect": "Allow",
         "Action": [
           "ec2:CreateNetworkInterface"
         ],
         "Resource": [
           "arn:aws:ec2:*:*:subnet/*",
           "arn:aws:ec2:*:*:security-group/*"
         ],
         "Condition": {
           "StringEquals": {
             "aws:ResourceTag/for-use-with-amazon-emr-managed-policies": "true"
           }
         }
       },
       {
         "Sid": "AllowAddingTagsDuringEC2ENICreation",
         "Effect": "Allow",
         "Action": [
           "ec2:CreateTags"
         ],
         "Resource": [
           "arn:aws:ec2:*:*:network-interface/*"
         ],
         "Condition": {
           "StringEquals": {
             "ec2:CreateAction": "CreateNetworkInterface"
           }
         }
       },
       {
         "Sid": "AllowEC2ReadOnlyActions",
         "Effect": "Allow",
         "Action": [
           "ec2:DescribeSecurityGroups",
           "ec2:DescribeNetworkInterfaces",
           "ec2:DescribeTags",
           "ec2:DescribeInstances",
           "ec2:DescribeSubnets",
           "ec2:DescribeVpcs"
         ],
         "Resource": [
           "*"
         ]
       },
       {
         "Sid": "AllowSecretsManagerReadOnlyActionsWithEMRTags",
         "Effect": "Allow",
         "Action": [
           "secretsmanager:GetSecretValue"
         ],
         "Resource": [
           "arn:aws:secretsmanager:*:*:secret:*"
         ],
         "Condition": {
           "StringEquals": {
             "aws:ResourceTag/for-use-with-amazon-emr-managed-policies": "true"
           }
         }
       },
       {
         "Sid": "AllowWorkspaceCollaboration",
         "Effect": "Allow",
         "Action": [
           "iam:GetUser",
           "iam:GetRole",
           "iam:ListUsers",
           "iam:ListRoles",
           "sso:GetManagedApplicationInstance",
           "sso-directory:SearchUsers"
         ],
         "Resource": [
           "*"
         ]
       }
     ]
   }
   ```

------

1. Offri al ruolo di servizio l'accesso in lettura e scrittura alla tua posizione Amazon S3 per EMR Studio. Utilizza il seguente set minimo di autorizzazioni. Per ulteriori informazioni, consulta l'esempio [Amazon S3: consente l'accesso in lettura e scrittura agli oggetti di un bucket S3, in modo programmatico e nella console](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_examples_s3_rw-bucket-console.html).

   ```
   "s3:PutObject",
   "s3:GetObject",
   "s3:GetEncryptionConfiguration",
   "s3:ListBucket",
   "s3:DeleteObject"
   ```

   Se si crittografa il bucket Amazon S3, devi includere le seguenti autorizzazioni per AWS Key Management Service.

   ```
   "kms:Decrypt",
   "kms:GenerateDataKey",
   "kms:ReEncryptFrom",
   "kms:ReEncryptTo",
   "kms:DescribeKey"
   ```

1. Se desideri controllare l'accesso ai segreti Git a livello di utente, aggiungi autorizzazioni basate su tag a `secretsmanager:GetSecretValue` nella **policy del ruolo utente** di EMR Studio e rimuovi le autorizzazioni alla policy `secretsmanager:GetSecretValue` dalla **policey del ruolo di servizio** di EMR Studio. Per ulteriori informazioni sull'impostazione di autorizzazioni utente granulari, consulta [Creazione di policy di autorizzazione per gli utenti di EMR Studio](emr-studio-user-permissions.md#emr-studio-permissions-policies).

## Ruolo di servizio minimo per EMR Serverless
<a name="emr-studio-service-role-serverless"></a>

Se desideri eseguire carichi di lavoro interattivi con EMR Serverless tramite notebook di EMR Studio, utilizza la stessa policy di attendibilità utilizzata per configurare EMR Studio nella sezione precedente, [Come creare un ruolo di servizio per EMR Studio su Amazon EC2 o Amazon EKS](#emr-studio-service-role-instructions).

Per la tua policy IAM, la policy minima valida prevede le seguenti autorizzazioni. Aggiorna `{{bucket-name}}` con il nome del bucket che intendi utilizzare quando configuri EMR Studio e WorkSpace. EMR Studio utilizza il bucket per il backup delle istanze WorkSpaces e dei file notebook nel Studio. 

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "ObjectActions",
      "Effect": "Allow",
      "Action": [
        "s3:PutObject",
        "s3:GetObject",
        "s3:DeleteObject"
      ],
      "Resource": [
        "arn:aws:s3:::{{bucket-name}}/*"
      ]
    },
    {
      "Sid": "BucketActions",
      "Effect": "Allow",
      "Action": [
        "s3:ListBucket",
        "s3:GetEncryptionConfiguration"
      ],
      "Resource": [
        "arn:aws:s3:::{{bucket-name}}"
      ]
    }
  ]
}
```

------

Se intendi utilizzare un bucket Amazon S3 crittografato, aggiungi le seguenti autorizzazioni al policy:

```
"kms:Decrypt",
"kms:GenerateDataKey",
"kms:ReEncryptFrom",
"kms:ReEncryptTo",
"kms:DescribeKey"
```

## Autorizzazioni del ruolo di servizio EMR Studio
<a name="emr-studio-service-role-permissions-table"></a>

Nella tabella seguente sono elencate le operazioni eseguite da EMR Studio utilizzando il ruolo di servizio, insieme alle operazioni IAM necessarie per ogni operazione.


| Operation | Azioni | 
| --- | --- | 
| Stabilisci un canale di rete protetto tra un Workspace e un cluster EMR ed esegui le azioni di eliminazione necessarie. |  <pre>"ec2:CreateNetworkInterface", <br />"ec2:CreateNetworkInterfacePermission", <br />"ec2:DeleteNetworkInterface", <br />"ec2:DeleteNetworkInterfacePermission", <br />"ec2:DescribeNetworkInterfaces", <br />"ec2:ModifyNetworkInterfaceAttribute", <br />"ec2:AuthorizeSecurityGroupEgress", <br />"ec2:AuthorizeSecurityGroupIngress", <br />"ec2:CreateSecurityGroup",<br />"ec2:DescribeSecurityGroups", <br />"ec2:RevokeSecurityGroupEgress",<br />"ec2:DescribeTags",<br />"ec2:DescribeInstances",<br />"ec2:DescribeSubnets",<br />"ec2:DescribeVpcs",<br />"elasticmapreduce:ListInstances", <br />"elasticmapreduce:DescribeCluster", <br />"elasticmapreduce:ListSteps"</pre>  | 
| Usa le credenziali Git archiviate in Gestione dei segreti AWS per collegare i repository Git a un Workspace. |  <pre>"secretsmanager:GetSecretValue"</pre>  | 
| Applica i AWS tag all'interfaccia di rete e ai gruppi di sicurezza predefiniti creati da EMR Studio durante la configurazione del canale di rete sicuro. Per ulteriori informazioni, consulta [Assegnazione di tag alle risorse AWS](https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html). |  <pre>"ec2:CreateTags"</pre>  | 
| Accedi o carica i file notebook e i metadati in Amazon S3. | <pre>"s3:PutObject",<br />"s3:GetObject",<br />"s3:GetEncryptionConfiguration",<br />"s3:ListBucket",<br />"s3:DeleteObject" </pre>Se utilizzi un bucket Amazon S3 crittografato, devi includere le seguenti autorizzazioni.<pre>"kms:Decrypt",<br />"kms:GenerateDataKey",<br />"kms:ReEncryptFrom",<br />"kms:ReEncryptTo",<br />"kms:DescribeKey"</pre> | 
| Abilita e configura la collaborazione di Workspace. |  <pre>"iam:GetUser",<br />"iam:GetRole",<br />"iam:ListUsers",<br />"iam:ListRoles",<br />"sso:GetManagedApplicationInstance",<br />"sso-directory:SearchUsers",<br />"sso:DescribeApplication",<br />"sso:DescribeInstance"</pre>  | 
| [Crittografa i notebook e i file dell'area di lavoro EMR Studio utilizzando chiavi gestite dal cliente (CMK) con AWS Key Management Service](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-studio-workspace-storage-encryption)  |  <pre>"kms:Decrypt",<br />"kms:GenerateDataKey",<br />"kms:ReEncryptFrom",<br />"kms:ReEncryptTo",<br />"kms:DescribeKey"</pre>  | 