

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

# Ruoli IAM per AWS esperimenti FIS
<a name="getting-started-iam-service-role"></a>

AWS Identity and Access Management (IAM) è un AWS servizio che aiuta un amministratore a controllare in modo sicuro l'accesso alle AWS risorse. Per utilizzare AWS FIS, è necessario creare un ruolo IAM che conceda a AWS FIS le autorizzazioni necessarie affinché AWS FIS possa eseguire esperimenti per conto dell'utente. Questo ruolo dell'esperimento viene specificato quando si crea un modello di esperimento. Per un esperimento con account singolo, la policy IAM per il ruolo dell'esperimento deve concedere l'autorizzazione a modificare le risorse specificate come obiettivi nel modello di esperimento. Per un esperimento con più account, il ruolo dell'esperimento deve concedere al ruolo di orchestratore l'autorizzazione ad assumere il ruolo IAM per ogni account di destinazione. Per ulteriori informazioni, consulta [Autorizzazioni per esperimenti con più account](multi-account-prerequisites.md#permissions).

Ti consigliamo di seguire la pratica di sicurezza standard che prevede la concessione del privilegio minimo. Puoi farlo specificando risorse ARNs o tag specifici nelle tue politiche.

Per aiutarti a iniziare rapidamente a usare AWS FIS, forniamo politiche AWS gestite che puoi specificare quando crei un ruolo sperimentale. In alternativa, puoi anche utilizzare queste politiche come modello mentre crei i tuoi documenti politici in linea.

**Topics**
+ [Prerequisiti](#create-fis-role-prereqs)
+ [Opzione 1: creare un ruolo sperimentale e allegare una policy AWS gestita](#fis-role-managed-policy)
+ [Opzione 2: creare un ruolo sperimentale e aggiungere un documento programmatico in linea](#fis-role-inline-policy-document)

## Prerequisiti
<a name="create-fis-role-prereqs"></a>

Prima di iniziare, installa AWS CLI e crea la politica di attendibilità richiesta.

**Installa AWS CLI**  
Prima di iniziare, installa e configura la AWS CLI. Quando si configura il AWS CLI, vengono richieste le AWS credenziali. Gli esempi in questa procedura presuppongono che tu abbia configurato una regione predefinita. In caso contrario, aggiungi l’opzione `--region` a ogni comando. Per ulteriori informazioni, consulta [Installazione o aggiornamento della AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html) e [Configurazione della AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html).

**Creare una politica di relazione di fiducia**  
Un ruolo sperimentale deve avere una relazione di fiducia che consenta al servizio AWS FIS di assumere il ruolo. Creare un file di testo denominato `fis-role-trust-policy.json` e aggiungere la seguente politica di relazione di fiducia.    
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "Service": [
                  "fis.amazonaws.com"
                ]
            },
            "Action": "sts:AssumeRole"
        }
    ]
}
```
Si consiglia di utilizzare il le chiavi di condizione `aws:SourceAccount` e `aws:SourceArn` per proteggersi dal [problema del "confused deputy"](https://docs.aws.amazon.com/IAM/latest/UserGuide/confused-deputy.html). L'account di origine è il proprietario dell'esperimento e l'ARN di origine è l'ARN dell'esperimento. Ad esempio, dovresti aggiungere il seguente blocco di condizioni alla tua politica di fiducia.  

```
"Condition": {
    "StringEquals": {
        "aws:SourceAccount": "account_id"
    },
    "ArnLike": {
        "aws:SourceArn": "arn:aws:fis:region:account_id:experiment/*"
    }
}
```

**Aggiungi le autorizzazioni per assumere i ruoli degli account di destinazione (solo esperimenti con più account)**  
Per gli esperimenti con più account, sono necessarie autorizzazioni che consentano all'account orchestrator di assumere i ruoli di account di destinazione. Puoi modificare il seguente esempio e aggiungerlo come documento di policy in linea per assumere i ruoli degli account di destinazione:  

```
{
    "Effect": "Allow",
    "Action": "sts:AssumeRole",
    "Resource":[
        "arn:aws:iam::target_account_id:role/role_name"
    ]
}
```

## Opzione 1: creare un ruolo sperimentale e allegare una policy AWS gestita
<a name="fis-role-managed-policy"></a>

Utilizza una delle politiche AWS gestite di AWS FIS per iniziare rapidamente.

**Per creare un ruolo sperimentale e allegare una policy AWS gestita**

1. Verifica che esista una policy gestita per le azioni AWS FIS del tuo esperimento. Altrimenti, dovrai invece creare il tuo documento di policy in linea. Per ulteriori informazioni, consulta [AWS politiche gestite per AWS Fault Injection Service](security-iam-awsmanpol.md).

1. Utilizzate il seguente comando [create-role](https://docs.aws.amazon.com/cli/latest/reference/iam/create-role.html) per creare un ruolo e aggiungere la politica di fiducia che avete creato nei prerequisiti.

   ```
   aws iam create-role --role-name my-fis-role --assume-role-policy-document file://fis-role-trust-policy.json
   ```

1. Utilizza il [attach-role-policy](https://docs.aws.amazon.com/cli/latest/reference/iam/attach-role-policy.html)comando seguente per allegare la policy gestita AWS .

   ```
   aws iam attach-role-policy --role-name my-fis-role --policy-arn fis-policy-arn
   ```

   *fis-policy-arn*Dov'è uno dei seguenti:
   + arn:aws:iam::aws:policy/service-role/AWSFaultInjectionSimulatorEC2Access
   + arn:aws:iam::aws:policy/service-role/AWSFaultInjectionSimulatorECSAccess
   + arn:aws:iam::aws:policy/service-role/AWSFaultInjectionSimulatorEKSAccess
   + arn:aws:iam::aws:policy/service-role/AWSFaultInjectionSimulatorNetworkAccess
   + arn:aws:iam::aws:policy/service-role/AWSFaultInjectionSimulatorRDSAccess
   + arn:aws:iam::aws:policy/service-role/AWSFaultInjectionSimulatorSSMAccess

## Opzione 2: creare un ruolo sperimentale e aggiungere un documento programmatico in linea
<a name="fis-role-inline-policy-document"></a>

Usa questa opzione per azioni che non prevedono una policy gestita o per includere solo le autorizzazioni necessarie per il tuo esperimento specifico.

**Per creare un esperimento e aggiungere un documento di policy in linea**

1. Usa il seguente comando [create-role](https://docs.aws.amazon.com/cli/latest/reference/iam/create-role.html) per creare un ruolo e aggiungere la politica di fiducia che hai creato nei prerequisiti.

   ```
   aws iam create-role --role-name my-fis-role --assume-role-policy-document file://fis-role-trust-policy.json
   ```

1. Crea un file di testo denominato `fis-role-permissions-policy.json` e aggiungi una politica di autorizzazioni. Per un esempio da utilizzare come punto di partenza, consultate quanto segue.
   + **Azioni di iniezione dei guasti**: iniziate dalla seguente politica.

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

****  

     ```
     {
         "Version":"2012-10-17",		 	 	 
         "Statement": [
             {
                 "Sid": "AllowFISExperimentRoleFaultInjectionActions",
                 "Effect": "Allow",
                 "Action": [
                     "fis:InjectApiInternalError",
                     "fis:InjectApiThrottleError",
                     "fis:InjectApiUnavailableError"
                 ],
                 "Resource": "arn:*:fis:*:*:experiment/*"
             }
         ]
     }
     ```

------
   + **Azioni di Amazon EBS**: inizia dalla seguente policy.

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

****  

     ```
     {
         "Version":"2012-10-17",		 	 	 
         "Statement": [
             {
                 "Effect": "Allow",
                 "Action": [
                     "ec2:DescribeVolumes"
                 ],
                 "Resource": "*"
             },
             {
                 "Effect": "Allow",
                 "Action": [
                     "ec2:PauseVolumeIO"
                 ],
                 "Resource": "arn:aws:ec2:*:*:volume/*"
             }
         ]
     }
     ```

------
   + **Azioni di Amazon EC2**: inizia dalla policy di [AWSFaultInjectionSimulatorEC2accesso](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSFaultInjectionSimulatorEC2Access.html).
   + **Azioni di Amazon ECS**: inizia dalla [AWSFaultInjectionSimulatorECSAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSFaultInjectionSimulatorECSAccess.html)policy.
   + **Azioni di Amazon EKS**: inizia dalla [AWSFaultInjectionSimulatorEKSAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSFaultInjectionSimulatorEKSAccess.html)policy.
   + **Azioni di rete**: inizia dalla [AWSFaultInjectionSimulatorNetworkAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSFaultInjectionSimulatorNetworkAccess.html)politica.
   + **Azioni di Amazon RDS**: inizia dalla [AWSFaultInjectionSimulatorRDSAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSFaultInjectionSimulatorRDSAccess.html)policy.
   + **Azioni di Systems Manager**: inizia dalla [AWSFaultInjectionSimulatorSSMAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSFaultInjectionSimulatorSSMAccess.html)policy.

1. Utilizza il [put-role-policy](https://docs.aws.amazon.com/cli/latest/reference/iam/put-role-policy.html)comando seguente per aggiungere la politica di autorizzazioni creata nel passaggio precedente.

   ```
   aws iam put-role-policy --role-name my-fis-role --policy-name my-fis-policy --policy-document file://fis-role-permissions-policy.json
   ```