

• La AWS Systems Manager CloudWatch dashboard non sarà più disponibile dopo il 30 aprile 2026. I clienti possono continuare a utilizzare la CloudWatch console Amazon per visualizzare, creare e gestire le proprie CloudWatch dashboard Amazon, proprio come fanno oggi. Per ulteriori informazioni, consulta la [documentazione di Amazon CloudWatch Dashboard](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Dashboards.html). 

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

# Configurazione di Maintenance Windows
<a name="setting-up-maintenance-windows"></a>

Prima che gli utenti nel tuo Account AWS siano in grado di creare e pianificare attività per le finestre di manutenzione tramite Maintenance Windows, uno strumento di AWS Systems Manager, devono essere concesse loro le autorizzazioni necessarie. Inoltre, è necessario creare un ruolo di servizio IAM per le finestre di manutenzione e la policy IAM da allegare ad esso.

**Prima di iniziare**  
Oltre alle autorizzazioni configurate in questa sezione, è necessario che le entità IAM (utenti, ruoli o gruppi) che funzioneranno con le finestre di manutenzione dispongano già delle autorizzazioni generali relative alle finestre di manutenzione. È possibile concedere queste autorizzazioni assegnando la policy IAM `AmazonSSMFullAccess` alle Entità, oppure assegnando un'altra policy IAM personalizzata che fornisce un insieme più piccolo di autorizzazioni di accesso per Systems Manager che copre le attività delle finestre di manutenzione.

**Topics**
+ [Controllo degli accessi alle finestre di manutenzione tramite la console](configuring-maintenance-window-permissions-console.md)
+ [Controlla l'accesso alle finestre di manutenzione utilizzando AWS CLI](configuring-maintenance-window-permissions-cli.md)

# Controllo degli accessi alle finestre di manutenzione tramite la console
<a name="configuring-maintenance-window-permissions-console"></a>

Le procedure seguenti descrivono come utilizzare la AWS Systems Manager console per creare le autorizzazioni e i ruoli richiesti per le finestre di manutenzione.

**Topics**
+ [Attività 1: crea una policy personalizzata per il ruolo di servizio della finestra di manutenzione tramite la console](#create-custom-policy-console)
+ [Attività 2: crea un ruolo di servizio personalizzato per le finestre di manutenzione tramite la console](#create-custom-role-console)
+ [Attività 3: concedi le autorizzazioni per l'uso del ruolo di servizio agli utenti che registrano le attività della finestra di manutenzione tramite la console](#allow-maintenance-window-access-console)
+ [Attività 4: impedisci agli utenti specificati di registrare le attività della finestra di manutenzione tramite la console](#deny-maintenance-window-access-console)

## Attività 1: crea una policy personalizzata per il ruolo di servizio della finestra di manutenzione tramite la console
<a name="create-custom-policy-console"></a>

Le attività della finestra di manutenzione richiedono un ruolo IAM per concedere le autorizzazioni necessarie per l'esecuzione sulle risorse di destinazione. Le autorizzazioni vengono fornite tramite una policy IAM collegata al ruolo. I tipi di attività eseguite e gli altri requisiti operativi determinano il contenuto di questa policy. Forniamo una policy di base da poter adattare alle proprie esigenze. A seconda delle attività e dei tipi di attività eseguite dalle finestre di manutenzione, è possibile che non tutte le autorizzazioni in questa policy siano necessarie, mentre potrebbe rendersi necessario includere autorizzazioni aggiuntive. Dovrai collegare questa policy al ruolo che creerai successivamente in [Attività 2: crea un ruolo di servizio personalizzato per le finestre di manutenzione tramite la console](#create-custom-role-console).

**Per creare una policy personalizzata tramite la console**

1. Aprire la console IAM all'indirizzo [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. Nel pannello di navigazione, scegli **Policy** e **Crea policy**.

1. Nella sezione **Editor di policy**, scegli l'opzione **JSON**.

1. Sostituisci i contenuti di default con il seguente:

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": [
                   "ssm:SendCommand",
                   "ssm:CancelCommand",
                   "ssm:ListCommands",
                   "ssm:ListCommandInvocations",
                   "ssm:GetCommandInvocation",
                   "ssm:GetAutomationExecution",
                   "ssm:StartAutomationExecution",
                   "ssm:ListTagsForResource",
                   "ssm:DescribeInstanceInformation",
                   "ssm:GetParameters"
               ],
               "Resource": "*"
           },
           {
               "Effect": "Allow",
               "Action": [
                   "states:DescribeExecution",
                   "states:StartExecution"
               ],
               "Resource": [
                   "arn:aws:states:*:*:execution:*:*",
                   "arn:aws:states:*:*:stateMachine:*"
               ]
           },
           {
               "Effect": "Allow",
               "Action": [
                   "lambda:InvokeFunction"
               ],
               "Resource": [
                   "arn:aws:lambda:*:*:function:*"
               ]
           },
           {
               "Effect": "Allow",
               "Action": [
                   "resource-groups:ListGroups",
                   "resource-groups:ListGroupResources"
               ],
               "Resource": [
                   "*"
               ]
           },
           {
               "Effect": "Allow",
               "Action": [
                   "tag:GetResources"
               ],
               "Resource": [
                   "*"
               ]
           },
           {
               "Effect": "Allow",
               "Action": "iam:PassRole",
               "Resource": "arn:aws:iam::111122223333:role/maintenance-window-role-name",
               "Condition": {
                   "StringEquals": {
                       "iam:PassedToService": [
                           "ssm.amazonaws.com"
                       ]
                   }
               }
           }
       ]
   }
   ```

------

1. Modifica il contenuto JSON secondo necessità per le attività di manutenzione eseguite nel tuo account. Le modifiche apportate sono specifiche per le operazioni pianificate. 

   Esempio:
   + Puoi fornire Amazon Resource Names (ARNs) per funzioni e macchine a stati specifiche invece di utilizzare i qualificatori wildcard (\$1).
   + Se non hai intenzione di eseguire AWS Step Functions attività, puoi rimuovere le `states` autorizzazioni e (). ARNs
   + Se non hai intenzione di eseguire AWS Lambda attività, puoi rimuovere le `lambda` autorizzazioni e. ARNs
   + Se non prevedi l'esecuzione di attività di automazione, puoi rimuovere le autorizzazioni `ssm:GetAutomationExecution` e `ssm:StartAutomationExecution`.
   + Aggiungi le autorizzazioni supplementari che potrebbero essere necessarie per l'esecuzione delle attività. Ad esempio, alcune operazioni di automazione utilizzano gli stack di AWS CloudFormation . Pertanto, servono le autorizzazioni `cloudformation:CreateStack`, `cloudformation:DescribeStacks` e `cloudformation:DeleteStack`. 

     Un altro esempio: il runbook Automation `AWS-CopySnapshot` richiede le autorizzazioni per creare uno snapshot Amazon Elastic Block Store (Amazon EBS). Pertanto, il ruolo di servizio richiede l’autorizzazione `ec2:CreateSnapshot`. 

     Per informazioni sulle autorizzazioni di ruolo necessarie per i runbook di automazione, consulta le descrizioni dei runbook nella [Documentazione di riferimento ai runbook di automazione AWS Systems Manager](https://docs.aws.amazon.com/systems-manager-automation-runbooks/latest/userguide/automation-runbook-reference.html).

1. Dopo aver completato le revisioni delle policy, scegli **Successivo**.

1. Alla voce **Nome policy**, inserisci un nome che la identifichi come la policy utilizzata dal ruolo di servizio che crei. Ad esempio: **my-maintenance-window-role-policy**.

1. (Facoltativo) Nella sezione **Aggiungi tag**, aggiungi una o più coppie tag chiave-valore per organizzare, monitorare o controllare l'accesso per questa policy. 

1. Scegli **Crea policy**.

   Prendi nota del nome specificato per la policy. Vi farai riferimento nella procedura successiva, [Attività 2: crea un ruolo di servizio personalizzato per le finestre di manutenzione tramite la console](#create-custom-role-console).

## Attività 2: crea un ruolo di servizio personalizzato per le finestre di manutenzione tramite la console
<a name="create-custom-role-console"></a>

La policy che hai creato nell'attività precedente è associata al ruolo di servizio della finestra di manutenzione che crei in questa attività. Quando gli utenti registrano un'attività della finestra di manutenzione, specificano questo ruolo IAM come parte della configurazione dell'attività. Le autorizzazioni in questo ruolo consentono a Systems Manager di eseguire attività nelle finestre di manutenzione per conto tuo.

**Importante**  
In precedenza, la console Systems Manager offriva la possibilità di scegliere il ruolo collegato ai servizi IAM AWS gestito `AWSServiceRoleForAmazonSSM` da utilizzare come ruolo di manutenzione per le attività. Non è più consigliato utilizzare questo ruolo e la relativa policy associata, `AmazonSSMServiceRolePolicy`, per le attività della finestra di manutenzione. Se stai ancora utilizzando questo ruolo per le attività della finestra di manutenzione, ti invitiamo a interromperne l'utilizzo. Invece, crea il tuo ruolo IAM che abiliti la comunicazione tra Systems Manager e altri Servizi AWS quando vengono eseguite le attività della finestra di manutenzione.

Utilizza la seguente procedura per creare un ruolo di servizio personalizzato per Maintenance Windows in modo che Systems Manager possa eseguire le attività Maintenance Windows per tuo conto. Collegherai la policy che hai creato nell'attività precedente al ruolo di servizio personalizzato che andrai a creare.

**Per creare un ruolo di servizio personalizzato per le finestre di manutenzione tramite la console**

1. Aprire la console IAM all'indirizzo [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. Nel pannello di navigazione, scegli **Ruoli** e quindi **Crea ruolo**.

1. Per **Seleziona un'entità attendibile**, effettua le seguenti selezioni:

   1. Per **Tipo di entità attendibile**, scegli **Servizio AWS **.

   1. Alla voce **Caso d'uso**, scegli **Systems Manager**

   1. Scegli **Systems Manager**.

      L'immagine seguente evidenzia la posizione dell'opzione Systems Manager.  
![\[Systems Manager è una delle opzioni per Caso d'uso.\]](http://docs.aws.amazon.com/it_it/systems-manager/latest/userguide/images/iam_use_cases_for_MWs.png)

1. Scegli **Successivo**. 

1. Nella sezione **Policy di autorizzazione**, nella barra di ricerca, inserisci il nome della policy creata in [Attività 1: crea una policy personalizzata per il ruolo di servizio della finestra di manutenzione tramite la console](#create-custom-policy-console), seleziona il campo accanto al suo nome, quindi scegli **Successivo**.

1. In **Nome ruolo**, inserisci un nome che identifichi questo ruolo come un ruolo Maintenance Windows. Ad esempio: **my-maintenance-window-role**.

1. (Facoltativo) Modificare la descrizione predefinita del ruolo per rispecchiarne lo scopo. Ad esempio: **Performs maintenance window tasks on your behalf**.

1. Per il **passaggio 1: seleziona le entità attendibili**, verifica che la seguente policy sia visualizzata nel campo **Politica attendibile**.

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

****  

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

------

1. Per il **passaggio 2: aggiungi le autorizzazioni**, verifica che la politica creata in [Attività 1: crea una policy personalizzata per il ruolo di servizio della finestra di manutenzione tramite la console](#create-custom-policy-console) sia presente.

1. (Facoltativo) Nel **passaggio 3: aggiungi tag**, aggiungi una o più coppie tag chiave-valore per organizzare, monitorare o controllare l'accesso per questo ruolo. 

1. Scegli **Crea ruolo**. Il sistema visualizza di nuovo la pagina **Ruoli**.

1. Scegli il nome del ruolo IAM appena creato.

1. Copia o annota il nome del ruolo e il valore **ARN** nell'area **Riepilogo**. Gli utenti nel tuo account specificano queste informazioni quando creano finestre di manutenzione.

## Attività 3: concedi le autorizzazioni per l'uso del ruolo di servizio agli utenti che registrano le attività della finestra di manutenzione tramite la console
<a name="allow-maintenance-window-access-console"></a>

La concessione agli utenti delle autorizzazioni di accesso al ruolo di servizio personalizzato per la finestra di manutenzione consente loro di utilizzarlo con le attività delle finestre di manutenzione. Si tratta di un'aggiunta alle autorizzazioni già concesse agli utenti per lavorare con i comandi dell'API di Systems Manager dello strumento Maintenance Windows. Questo ruolo IAM trasmette le autorizzazioni necessarie per eseguire un'attività della finestra di manutenzione. Di conseguenza, un utente non può registrare le attività con una finestra di manutenzione utilizzando il ruolo di servizio personalizzato senza la possibilità di passare queste autorizzazioni IAM.

Quando registri un'attività con una finestra di manutenzione, devi specificare un ruolo di servizio per eseguire le operazioni dell'attività effettiva. È il ruolo che assume il servizio durante l'esecuzione di attività per conto dell'utente. Prima di ciò, per registrare l'attività stessa, assegna la policy IAM `PassRole` a un'entità IAM (come un utente o un gruppo). Ciò consente all'entità IAM di specificare, nell'ambito della registrazione di tali attività nella finestra di manutenzione, il ruolo da utilizzare durante l'esecuzione delle attività. Per informazioni, consulta [Concedi autorizzazioni utente per il passaggio di un ruolo a Servizio AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_passrole.html) nella *Guida per l'utente IAM*.

**Per configurare le autorizzazioni per gli utenti che registrano le attività della finestra di manutenzione**

Se a un'entità IAM (utente, ruolo o gruppo) vengono assegnate le autorizzazioni di amministratore, l'utente o il ruolo IAM ha accesso alle funzionalità delle finestre di manutenzione. Per le entità IAM senza autorizzazioni di amministratore, un amministratore deve concedere le seguenti autorizzazioni all'entità IAM. Queste sono le autorizzazioni minime necessarie per registrare le attività con una finestra di manutenzione:
+ La policy gestita `AmazonSSMFullAccess` o una policy che fornisce autorizzazioni analoghe.
+ Le seguenti autorizzazioni `iam:PassRole` e `iam:ListRoles`.

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

****  

  ```
  {
      "Version":"2012-10-17",		 	 	 
      "Statement": [
          {
              "Effect": "Allow",
              "Action": "iam:PassRole",
              "Resource": "arn:aws:iam::111122223333:role/my-maintenance-window-role"
          },
          {
              "Effect": "Allow",
              "Action": "iam:ListRoles",
              "Resource": "arn:aws:iam::111122223333:role/"
          },
          {
              "Effect": "Allow",
              "Action": "iam:ListRoles",
              "Resource": "arn:aws:iam::111122223333:role/aws-service-role/ssm.amazonaws.com/"
          }
      ]
  }
  ```

------

  *my-maintenance-window-role*rappresenta il nome del ruolo di servizio personalizzato per la finestra di manutenzione creato in precedenza.

  *account-id*rappresenta l'ID del tuo Account AWS. L'aggiunta di questa autorizzazione per la risorsa `arn:aws:iam::account-id:role/` consente a un utente di visualizzare e scegliere tra i ruoli del cliente nella console quando crea un'attività della finestra di manutenzione. L'aggiunta di questa autorizzazione per `arn:aws:iam::account-id:role/aws-service-role/ssm.amazonaws.com/` consente a un utente di scegliere il ruolo collegato ai servizi di Systems Manager nella console quando crea un'attività della finestra di manutenzione. 

  Per fornire l’accesso, aggiungi autorizzazioni agli utenti, gruppi o ruoli:
  + Utenti e gruppi in AWS IAM Identity Center:

    Crea un set di autorizzazioni. Segui le istruzioni riportate nella pagina [Create a permission set](https://docs.aws.amazon.com//singlesignon/latest/userguide/howtocreatepermissionset.html) (Creazione di un set di autorizzazioni) nella *Guida per l’utente di AWS IAM Identity Center *.
  + Utenti gestiti in IAM tramite un provider di identità:

    Crea un ruolo per la federazione delle identità. Segui le istruzioni riportate nella pagina [Create a role for a third-party identity provider (federation)](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_roles_create_for-idp.html) della *Guida per l’utente IAM*.
  + Utenti IAM:
    + Crea un ruolo che l’utente possa assumere. Segui le istruzioni riportate nella pagina [Create a role for an IAM user](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_roles_create_for-user.html) della *Guida per l’utente IAM*.
    + (Non consigliato) Collega una policy direttamente a un utente o aggiungi un utente a un gruppo di utenti. Segui le istruzioni riportate nella pagina [Aggiunta di autorizzazioni a un utente (console)](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_users_change-permissions.html#users_change_permissions-add-console) nella *Guida per l’utente IAM*.

**Per configurare le autorizzazioni per i gruppi autorizzati a registrare le attività della finestra di manutenzione tramite la console**

1. Aprire la console IAM all'indirizzo [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. Nel pannello di navigazione, seleziona **Gruppi di utenti**.

1. Nell'elenco dei gruppi, seleziona il nome del gruppo desiderato a cui assegnare l'autorizzazione `iam:PassRole` oppure, se necessario, crea un nuovo gruppo 

1. Nella scheda **Autorizzazioni**, scegli **Aggiungi autorizzazioni, Crea policy in linea**.

1. Nella sezione **Editor di policy**, scegli l'opzione **JSON** e sostituisci i contenuti di default del campo con quanto segue.

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": "iam:PassRole",
               "Resource": "arn:aws:iam::111122223333:role/my-maintenance-window-role"
           },
           {
               "Effect": "Allow",
               "Action": "iam:ListRoles",
               "Resource": "arn:aws:iam::111122223333:role/"
           },
           {
               "Effect": "Allow",
               "Action": "iam:ListRoles",
               "Resource": "arn:aws:iam::111122223333:role/aws-service-role/ssm.amazonaws.com/"
           }
       ]
   }
   ```

------

   *my-maintenance-window-role*rappresenta il nome del ruolo della finestra di manutenzione personalizzata creato in precedenza.

   *account-id*rappresenta l'ID del tuo Account AWS. L'aggiunta di questa autorizzazione per la risorsa `arn:aws:iam::account-id:role/` consente a un utente di visualizzare e scegliere tra i ruoli del cliente nella console quando crea un'attività della finestra di manutenzione. L'aggiunta di questa autorizzazione per `arn:aws:iam::account-id:role/aws-service-role/ssm.amazonaws.com/` consente a un utente di scegliere il ruolo collegato ai servizi di Systems Manager nella console quando crea un'attività della finestra di manutenzione. 

1. Scegli **Next (Successivo)**.

1. Alla pagina **Esamina e crea**, inserisci un nome nel campo **Nome policy** per identificare questa policy `PassRole`, ad esempio **my-group-iam-passrole-policy**, quindi scegli **Crea policy**.

## Attività 4: impedisci agli utenti specificati di registrare le attività della finestra di manutenzione tramite la console
<a name="deny-maintenance-window-access-console"></a>

Puoi negare il `ssm:RegisterTaskWithMaintenanceWindow` permesso agli utenti del tuo Account AWS gruppo a cui non desideri di registrare attività nelle finestre di manutenzione. Ciò fornisce un ulteriore livello di prevenzione per gli utenti che non devono registrare le attività della finestra di manutenzione.

**Per configurare le autorizzazioni per i gruppi non autorizzati a registrare le attività della finestra di manutenzione tramite la console**

1. Aprire la console IAM all'indirizzo [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. Nel pannello di navigazione, seleziona **Gruppi di utenti**.

1. Nell'elenco dei gruppi, seleziona il nome del gruppo a cui desideri negare l'autorizzazione `ssm:RegisterTaskWithMaintenanceWindow` oppure, se necessario, crea un nuovo gruppo.

1. Nella scheda **Autorizzazioni**, scegli **Aggiungi autorizzazioni, Crea policy in linea**.

1. Nella sezione **Editor di policy**, scegli l'opzione **JSON** e successivamente sostituisci i contenuti di default del campo con quanto segue.

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Deny",
               "Action": "ssm:RegisterTaskWithMaintenanceWindow",
               "Resource": "*"
           }
       ]
   }
   ```

------

1. Scegli **Next (Successivo)**.

1. Alla pagina **Esamina e crea**, alla voce **Nome policy**, inserisci un nome per identificare questa policy, ad esempio **my-groups-deny-mw-tasks-policy**, quindi scegli **Crea policy**.

# Controlla l'accesso alle finestre di manutenzione utilizzando AWS CLI
<a name="configuring-maintenance-window-permissions-cli"></a>

Le procedure seguenti descrivono come utilizzare AWS Command Line Interface (AWS CLI) per creare le autorizzazioni e i ruoli richiesti perMaintenance Windows, uno strumento in. AWS Systems Manager

**Topics**
+ [Attività 1: crea file di policy di fiducia e di policy gestita dal cliente in formato JSON](#create-custom-policy-json-files-cli)
+ [Attività 2: Creare e verificare un ruolo di servizio personalizzato per le finestre di manutenzione utilizzando AWS CLI](#create-custom-role-cli)
+ [Attività 3: concedere le autorizzazioni a utenti specifici per registrare le attività della finestra di manutenzione utilizzando il AWS CLI](#allow-maintenance-window-access-cli)
+ [Attività 4: Impedire agli utenti specificati di registrare le attività della finestra di manutenzione utilizzando AWS CLI](#deny-maintenance-window-access-cli)

## Attività 1: crea file di policy di fiducia e di policy gestita dal cliente in formato JSON
<a name="create-custom-policy-json-files-cli"></a>

Le attività della finestra di manutenzione richiedono un ruolo IAM per concedere le autorizzazioni necessarie per l'esecuzione sulle risorse di destinazione. Le autorizzazioni vengono fornite tramite una policy IAM collegata al ruolo. I tipi di attività eseguite e gli altri requisiti operativi determinano il contenuto di questa policy. Forniamo una policy di base da poter adattare alle proprie esigenze. A seconda delle attività e dei tipi di attività eseguite dalle finestre di manutenzione, è possibile che non tutte le autorizzazioni in questa policy siano necessarie, mentre potrebbe rendersi necessario includere autorizzazioni aggiuntive. 

In questa attività, specificherai le autorizzazioni necessarie per il ruolo della finestra di manutenzione personalizzata in un paio di file JSON. Dovrai collegare questa policy al ruolo che creerai successivamente in [Attività 2: Creare e verificare un ruolo di servizio personalizzato per le finestre di manutenzione utilizzando AWS CLI](#create-custom-role-cli). 

**Per creare file di policy di fiducia e di policy gestita dal cliente**

1. Copiare e incollare la seguente policy di attendibilità in un file di testo. Salva il file con il nome ed estensione seguenti: **mw-role-trust-policy.json**.

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

****  

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

------

1. Copia e incolla la seguente policy JSON in un file di testo diverso. Nella stessa directory in cui hai creato il primo file, salva questo file con il nome e l'estensione seguenti: **mw-role-custom-policy.json**.

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": [
                   "ssm:SendCommand",
                   "ssm:CancelCommand",
                   "ssm:ListCommands",
                   "ssm:ListCommandInvocations",
                   "ssm:GetCommandInvocation",
                   "ssm:GetAutomationExecution",
                   "ssm:StartAutomationExecution",
                   "ssm:ListTagsForResource",
                   "ssm:GetParameters"
               ],
               "Resource": "*"
           },
           {
               "Effect": "Allow",
               "Action": [
                   "states:DescribeExecution",
                   "states:StartExecution"
               ],
               "Resource": [
                   "arn:aws:states:*:*:execution:*:*",
                   "arn:aws:states:*:*:stateMachine:*"
               ]
           },
           {
               "Effect": "Allow",
               "Action": [
                   "lambda:InvokeFunction"
               ],
               "Resource": [
                   "arn:aws:lambda:*:*:function:*"
               ]
           },
           {
               "Effect": "Allow",
               "Action": [
                   "resource-groups:ListGroups",
                   "resource-groups:ListGroupResources"
               ],
               "Resource": [
                   "*"
               ]
           },
           {
               "Effect": "Allow",
               "Action": [
                   "tag:GetResources"
               ],
               "Resource": [
                   "*"
               ]
           },
           {
               "Effect": "Allow",
               "Action": "iam:PassRole",
               "Resource": "arn:aws:iam::111122223333:role/maintenance-window-role-name",
               "Condition": {
                   "StringEquals": {
                       "iam:PassedToService": [
                           "ssm.amazonaws.com"
                       ]
                   }
               }
           }
       ]
   }
   ```

------

1. Modifica il contenuto di `mw-role-custom-policy.json` in base alle necessità per le attività di manutenzione eseguite nel tuo account. Le modifiche apportate sono specifiche per le operazioni pianificate. 

   Esempio:
   + Puoi fornire Amazon Resource Names (ARNs) per funzioni e macchine a stati specifiche invece di utilizzare i qualificatori wildcard (\$1).
   + Se non hai intenzione di eseguire AWS Step Functions attività, puoi rimuovere le `states` autorizzazioni e (). ARNs
   + Se non hai intenzione di eseguire AWS Lambda attività, puoi rimuovere le `lambda` autorizzazioni e. ARNs
   + Se non prevedi l'esecuzione di attività di automazione, puoi rimuovere le autorizzazioni `ssm:GetAutomationExecution` e `ssm:StartAutomationExecution`.
   + Aggiungi le autorizzazioni supplementari che potrebbero essere necessarie per l'esecuzione delle attività. Ad esempio, alcune operazioni di automazione utilizzano gli stack di AWS CloudFormation . Pertanto, servono le autorizzazioni `cloudformation:CreateStack`, `cloudformation:DescribeStacks` e `cloudformation:DeleteStack`. 

     Un altro esempio: il runbook Automation `AWS-CopySnapshot` richiede le autorizzazioni per creare uno snapshot Amazon Elastic Block Store (Amazon EBS). Pertanto, il ruolo di servizio richiede l’autorizzazione `ec2:CreateSnapshot`. 

     Per informazioni sulle autorizzazioni di ruolo necessarie per i runbook di automazione, consulta le descrizioni dei runbook nella [Documentazione di riferimento ai runbook di automazione AWS Systems Manager](https://docs.aws.amazon.com/systems-manager-automation-runbooks/latest/userguide/automation-runbook-reference.html).

   Salva nuovamente il file dopo aver apportato le modifiche necessarie.

## Attività 2: Creare e verificare un ruolo di servizio personalizzato per le finestre di manutenzione utilizzando AWS CLI
<a name="create-custom-role-cli"></a>

La policy che hai creato nell'attività precedente è associata al ruolo di servizio della finestra di manutenzione che crei in questa attività. Quando gli utenti registrano un'attività della finestra di manutenzione, specificano questo ruolo IAM come parte della configurazione dell'attività. Le autorizzazioni in questo ruolo consentono a Systems Manager di eseguire attività nelle finestre di manutenzione per conto tuo.

**Importante**  
In precedenza, la console Systems Manager offriva la possibilità di scegliere il ruolo collegato ai servizi IAM AWS gestito `AWSServiceRoleForAmazonSSM` da utilizzare come ruolo di manutenzione per le attività. Non è più consigliato utilizzare questo ruolo e la relativa policy associata, `AmazonSSMServiceRolePolicy`, per le attività della finestra di manutenzione. Se stai ancora utilizzando questo ruolo per le attività della finestra di manutenzione, ti invitiamo a interromperne l'utilizzo. Invece, crea il tuo ruolo IAM che abiliti la comunicazione tra Systems Manager e altri Servizi AWS quando vengono eseguite le attività della finestra di manutenzione.

In questa attività, eseguirai i comandi CLI per creare il ruolo di servizio delle finestre di manutenzione, aggiungendo il contenuto della policy dai file JSON che hai creato. 

**Crea un ruolo di servizio personalizzato per le finestre di manutenzione utilizzando AWS CLI**

1. Apri AWS CLI ed esegui il seguente comando nella directory in cui hai inserito `mw-role-custom-policy.json` e`mw-role-trust-policy.json`. Il comando crea un ruolo di servizio della finestra di manutenzione chiamato `my-maintenance-window-role`, a cui collega la *policy di fiducia*.

------
#### [ Linux & macOS ]

   ```
   aws iam create-role \
       --role-name "my-maintenance-window-role" \
       --assume-role-policy-document file://mw-role-trust-policy.json
   ```

------
#### [ Windows ]

   ```
   aws iam create-role ^
       --role-name "my-maintenance-window-role" ^
       --assume-role-policy-document file://mw-role-trust-policy.json
   ```

------

   Questo sistema restituisce informazioni simili alle seguenti.

   ```
   {
       "Role": {
           "AssumeRolePolicyDocument": {
               "Version": "2012-10-17", 		 	 	 		 	 	 
               "Statement": [
                   {
                       "Action": "sts:AssumeRole",
                       "Effect": "Allow",
                       "Principal": {
                           "Service": "ssm.amazonaws.com"
                       }
                   }
               ]
           },
           "RoleId": "AROAIIZKPBKS2LEXAMPLE",
           "CreateDate": "2024-08-19T03:40:17.373Z",
           "RoleName": "my-maintenance-window-role",
           "Path": "/",
           "Arn": "arn:aws:iam::123456789012:role/my-maintenance-window-role"
       }
   }
   ```
**Nota**  
Annota i valori di `RoleName` e `Arn`. Dovrai includerli nel comando successivo.

1. Esegui il seguente comando per collegare la *policy gestita dal cliente* al ruolo. Sostituisci il *account-id* segnaposto con il tuo ID Account AWS 

------
#### [ Linux & macOS ]

   ```
   aws iam attach-role-policy \
       --role-name "my-maintenance-window-role" \
       --policy-arn "arn:aws:iam::account-id:policy/mw-role-custom-policy.json"
   ```

------
#### [ Windows ]

   ```
   aws iam attach-role-policy ^
       --role-name "my-maintenance-window-role" ^
       --policy-arn "arn:aws:iam::account-id:policy/mw-role-custom-policy.json"
   ```

------

1. Esegui il seguente comando per verificare che il ruolo sia stato creato e che la policy di fiducia sia stata collegata.

   ```
   aws iam get-role --role-name my-maintenance-window-role
   ```

   Questo comando restituisce informazioni simili alle seguenti:

   ```
   {
       "Role": {
           "Path": "/",
           "RoleName": "my-maintenance-window-role",
           "RoleId": "AROA123456789EXAMPLE",
           "Arn": "arn:aws:iam::123456789012:role/my-maintenance-window-role",
           "CreateDate": "2024-08-19T14:13:32+00:00",
           "AssumeRolePolicyDocument": {
               "Version": "2012-10-17", 		 	 	 		 	 	 
               "Statement": [
                   {
                       "Effect": "Allow",
                       "Principal": {
                           "Service": "ssm.amazonaws.com"
                       },
                       "Action": "sts:AssumeRole"
                   }
               ]
           },
           "MaxSessionDuration": 3600,
           "RoleLastUsed": {
               "LastUsedDate": "2024-08-19T14:30:44+00:00",
               "Region": "us-east-2"
           }
       }
   }
   ```

1. Esegui il seguente comando per verificare che la policy gestita dal cliente sia stata collegata al ruolo.

   ```
   aws iam list-attached-role-policies --role-name my-maintenance-window-role
   ```

   Questo comando restituisce informazioni simili alle seguenti:

   ```
   {
       "AttachedPolicies": [
           {
               "PolicyName": "mw-role-custom-policy",
               "PolicyArn": "arn:aws:iam::123456789012:policy/mw-role-custom-policy"
           }
       ]
   }
   ```

## Attività 3: concedere le autorizzazioni a utenti specifici per registrare le attività della finestra di manutenzione utilizzando il AWS CLI
<a name="allow-maintenance-window-access-cli"></a>

La concessione agli utenti delle autorizzazioni di accesso al ruolo di servizio personalizzato per la finestra di manutenzione consente loro di utilizzarlo con le attività delle finestre di manutenzione. Si tratta di un'aggiunta alle autorizzazioni già concesse agli utenti per lavorare con i comandi dell'API di Systems Manager dello strumento Maintenance Windows. Questo ruolo IAM trasmette le autorizzazioni necessarie per eseguire un'attività della finestra di manutenzione. Di conseguenza, un utente non può registrare le attività con una finestra di manutenzione utilizzando il ruolo di servizio personalizzato senza la possibilità di passare queste autorizzazioni IAM.

Quando registri un'attività con una finestra di manutenzione, devi specificare un ruolo di servizio per eseguire le operazioni dell'attività effettiva. È il ruolo che assume il servizio durante l'esecuzione di attività per conto dell'utente. Prima di ciò, per registrare l'attività stessa, assegna la policy IAM `PassRole` a un'entità IAM (come un utente o un gruppo). Ciò consente all'entità IAM di specificare, nell'ambito della registrazione di tali attività nella finestra di manutenzione, il ruolo da utilizzare durante l'esecuzione delle attività. Per informazioni, consulta [Concedi autorizzazioni utente per il passaggio di un ruolo a Servizio AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_passrole.html) nella *Guida per l'utente IAM*.

**Per configurare le autorizzazioni per gli utenti autorizzati a registrare le attività della finestra di manutenzione utilizzando AWS CLI**

1. Copia e incolla la seguente politica AWS Identity and Access Management (IAM) in un editor di testo e salvala con il nome e l'estensione di file seguenti:`mw-passrole-policy.json`.

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": "iam:PassRole",
               "Resource": "arn:aws:iam::111122223333:role/my-maintenance-window-role"
           },
           {
               "Effect": "Allow",
               "Action": "iam:ListRoles",
               "Resource": "arn:aws:iam::111122223333:role/"
           },
           {
               "Effect": "Allow",
               "Action": "iam:ListRoles",
               "Resource": "arn:aws:iam::111122223333:role/aws-service-role/ssm.amazonaws.com/"
           }
       ]
   }
   ```

------

   Sostituiscila *my-maintenance-window-role* con il nome del ruolo della finestra di manutenzione personalizzata che hai creato in precedenza.

   Sostituiscilo *account-id* con l'ID del tuo Account AWS. L'aggiunta di questa autorizzazione per la risorsa `arn:aws:iam::account-id:role/` consente agli utenti del gruppo di visualizzare e scegliere tra i ruoli dei clienti nella console quando creano un'attività della finestra di manutenzione. L'aggiunta di questa autorizzazione per `arn:aws:iam::account-id:role/aws-service-role/ssm.amazonaws.com/` consente agli utenti del gruppo di scegliere il ruolo Systems Manager collegato ai servizi nella console quando creano un'attività della finestra di manutenzione. 

1. Apri il AWS CLI.

1. Per concedere l'autorizzazione a un’entità IAM (utente o gruppo), esegui uno dei seguenti comandi.
   + **Per un'entità IAM:**

------
#### [ Linux & macOS ]

     ```
     aws iam put-user-policy \
         --user-name "user-name" \
         --policy-name "policy-name" \
         --policy-document file://path-to-document
     ```

------
#### [ Windows ]

     ```
     aws iam put-user-policy ^
         --user-name "user-name" ^
         --policy-name "policy-name" ^
         --policy-document file://path-to-document
     ```

------

     Per*user-name*, specificare l'utente che assegna le attività alle finestre di manutenzione. Per*policy-name*, specifica il nome che desideri utilizzare per identificare la politica, ad esempio**my-iam-passrole-policy**. Per*path-to-document*, specifica il percorso del file salvato nel passaggio 1. Ad esempio: `file://C:\Temp\mw-passrole-policy.json`
**Nota**  
Per concedere l'accesso di un utente alla registrazione delle attività delle finestre di manutenzione utilizzando la console di Systems Manager, è inoltre necessario assegnare la policy `AmazonSSMFullAccess` all'utente (o una policy IAM che fornisca un insieme più piccolo di autorizzazioni di accesso per Systems Manager che esegue le attività delle finestre di manutenzione). Per assegnare la policy `AmazonSSMFullAccess` all’utente, esegui questo comando.  

     ```
     aws iam attach-user-policy \
         --policy-arn "arn:aws:iam::aws:policy/AmazonSSMFullAccess" \
         --user-name "user-name"
     ```

     ```
     aws iam attach-user-policy ^
         --policy-arn "arn:aws:iam::aws:policy/AmazonSSMFullAccess" ^
         --user-name "user-name"
     ```
   + **Per un gruppo IAM:**

------
#### [ Linux & macOS ]

     ```
     aws iam put-group-policy \
         --group-name "group-name" \
         --policy-name "policy-name" \
         --policy-document file://path-to-document
     ```

------
#### [ Windows ]

     ```
     aws iam put-group-policy ^
         --group-name "group-name" ^
         --policy-name "policy-name" ^
         --policy-document file://path-to-document
     ```

------

     Per*group-name*, specifica il gruppo i cui membri assegnano le attività alle finestre di manutenzione. Per*policy-name*, specifica il nome che desideri utilizzare per identificare la politica, ad esempio**my-iam-passrole-policy**. Per*path-to-document*, specifica il percorso del file salvato nel passaggio 1. Ad esempio: `file://C:\Temp\mw-passrole-policy.json`
**Nota**  
Per concedere l'accesso ai membri di un gruppo per registrare le attività per le finestre di manutenzione utilizzando la console di Systems Manager, è anche necessario assegnare la policy `AmazonSSMFullAccess` al gruppo. Per assegnare questa policy al gruppo esegui il seguente comando.  

     ```
     aws iam attach-group-policy \
         --policy-arn "arn:aws:iam::aws:policy/AmazonSSMFullAccess" \
         --group-name "group-name"
     ```

     ```
     aws iam attach-group-policy ^
         --policy-arn "arn:aws:iam::aws:policy/AmazonSSMFullAccess" ^
         --group-name "group-name"
     ```

1. Esegui il seguente comando per verificare che la policy sia stata assegnata al gruppo.

------
#### [ Linux & macOS ]

   ```
   aws iam list-group-policies \
       --group-name "group-name"
   ```

------
#### [ Windows ]

   ```
   aws iam list-group-policies ^
       --group-name "group-name"
   ```

------

## Attività 4: Impedire agli utenti specificati di registrare le attività della finestra di manutenzione utilizzando AWS CLI
<a name="deny-maintenance-window-access-cli"></a>

Puoi negare l'`ssm:RegisterTaskWithMaintenanceWindow`autorizzazione agli utenti della tua azienda Account AWS che non desideri registrare le attività nelle finestre di manutenzione. Ciò fornisce un ulteriore livello di prevenzione per gli utenti che non devono registrare le attività della finestra di manutenzione.

A seconda del fatto che l'autorizzazione `ssm:RegisterTaskWithMaintenanceWindow` non venga assegnata a uno specifico utente o a un gruppo, utilizzare una delle procedure seguenti per impedire agli utenti di registrare attività con una finestra di manutenzione. 

**Per configurare le autorizzazioni per gli utenti a cui non è consentito registrare le attività delle finestre di manutenzione utilizzando il AWS CLI**

1. Copia e incolla la seguente policy IAM in un editor di testo e salvala con il seguente nome ed estensione del file: **deny-mw-tasks-policy.json**.

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Deny",
               "Action": "ssm:RegisterTaskWithMaintenanceWindow",
               "Resource": "*"
           }
       ]
   }
   ```

------

1. Aprire il. AWS CLI

1. Per concedere l'autorizzazione a un’entità IAM (utente o gruppo), esegui uno dei seguenti comandi.
   + **Per un utente:**

------
#### [ Linux & macOS ]

     ```
     aws iam put-user-policy \
         --user-name "user-name" \
         --policy-name "policy-name" \
         --policy-document file://path-to-document
     ```

------
#### [ Windows ]

     ```
     aws iam put-user-policy ^
         --user-name "user-name" ^
         --policy-name "policy-name" ^
         --policy-document file://path-to-document
     ```

------

     Per*user-name*, specificare l'utente a cui impedire l'assegnazione di attività alle finestre di manutenzione. Per*policy-name*, specifica il nome che desideri utilizzare per identificare la politica, ad esempio**my-deny-mw-tasks-policy**. Per*path-to-document*, specifica il percorso del file salvato nel passaggio 1. Ad esempio: `file://C:\Temp\deny-mw-tasks-policy.json`
   + **Per un gruppo:**

------
#### [ Linux & macOS ]

     ```
     aws iam put-group-policy \
         --group-name "group-name" \
         --policy-name "policy-name" \
         --policy-document file://path-to-document
     ```

------
#### [ Windows ]

     ```
     aws iam put-group-policy ^
         --group-name "group-name" ^
         --policy-name "policy-name" ^
         --policy-document file://path-to-document
     ```

------

     Per*group-name*, specifica il gruppo a cui impedire l'assegnazione di attività alle finestre di manutenzione. Per*policy-name*, specifica il nome che desideri utilizzare per identificare la politica, ad esempio**my-deny-mw-tasks-policy**. Per*path-to-document*, specifica il percorso del file salvato nel passaggio 1. Ad esempio: `file://C:\Temp\deny-mw-tasks-policy.json`

1. Esegui il seguente comando per verificare che la policy sia stata assegnata al gruppo.

------
#### [ Linux & macOS ]

   ```
   aws iam list-group-policies \
       --group-name "group-name"
   ```

------
#### [ Windows ]

   ```
   aws iam list-group-policies ^
       --group-name "group-name"
   ```

------