

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

# Utilizzo degli script di Detective Python per gestire gli account
<a name="detective-github-scripts"></a>

Amazon Detective fornisce un set di script Python open source nel repository. GitHub [amazon-detective-multiaccount-scripts](https://github.com/aws-samples/amazon-detective-multiaccount-scripts) Gli script richiedono Python 3.

Puoi utilizzarli per completare le attività seguenti:
+ Abilita Detective per un account amministratore in tutte le Regioni.

  Quando abiliti Detective, puoi assegnare i valori dei tag al grafico di comportamento.
+ Aggiungi gli account membri ai grafici di comportamento di un account amministratore in tutte le Regioni.
+ Facoltativamente, invia le e-mail di invito agli account membri. Puoi anche configurare la richiesta per non inviare e-mail di invito.
+ Rimuovi gli account membri dai grafici di comportamento di un account amministratore in tutte le Regioni.
+ Disabilita Detective per un account amministratore in tutte le Regioni. Quando un account amministratore disabilita Detective, il grafico di comportamento dell'account amministratore in ciascuna Regione viene disabilitato.

## Panoramica dello script `enableDetective.py`
<a name="enabledetective-script-overview"></a>

Lo script `enableDetective.py` svolge le seguenti funzioni:

1. Abilita Detective per un account amministratore in ogni Regione specificata, se l'account amministratore non ha già abilitato Detective in quella Regione.

   Quando utilizzi lo script per abilitare Detective, puoi assegnare i valori dei tag al grafico di comportamento.

1. Facoltativamente, invia gli inviti dall'account amministratore agli account membri specificati per ogni grafico di comportamento.

   I messaggi e-mail di invito utilizzano il contenuto predefinito dei messaggi e non possono essere personalizzati.

   Puoi anche configurare la richiesta per non inviare e-mail di invito.

1. Accetta automaticamente gli inviti per gli account membri.

   Poiché lo script accetta automaticamente gli inviti, gli account membri possono ignorare questi messaggi.

   Ti consigliamo di contattare direttamente gli account membri per avvisarli che gli inviti vengono accettati automaticamente.

## Panoramica dello script `disableDetective.py`
<a name="disabledetective-script-overview"></a>

Lo script `disableDetective.py` elimina gli account dei membri specificati dai grafici di comportamento dell'account amministratore nelle Regioni specificate.

Fornisce inoltre un'opzione per disabilitare Detective per l'account amministratore nelle Regioni specificate.

## Autorizzazioni richieste per gli script
<a name="github-scripts-permissions"></a>

Gli script richiedono un AWS ruolo preesistente nell'account amministratore e in tutti gli account membro che aggiungi o rimuovi.

**Nota**  
Il nome del ruolo deve essere lo stesso in tutti gli account.

Le [best practice consigliate](https://docs.aws.amazon.com/detective/latest/userguide/security_iam_id-based-policy-examples.html#security_iam_service-with-iam-policy-best-practices) della policy IAM prevedono l'utilizzo di ruoli con meno ambito. Per eseguire il flusso di lavoro dello script che prevede la [creazione di un grafico](https://docs.aws.amazon.com/detective/latest/APIReference/API_CreateGraph.html), la [creazione di membri](https://docs.aws.amazon.com/detective/latest/APIReference/API_CreateMembers.html) e l'[aggiunta di membri al grafico](https://docs.aws.amazon.com/detective/latest/APIReference/API_AcceptInvitation.html), le autorizzazioni richieste sono:
+ investigatore: CreateGraph
+ investigatore: CreateMembers
+ investigatore: DeleteGraph
+ investigatore: DeleteMembers
+ investigatore: ListGraphs
+ investigatore: ListMembers
+ investigatore: AcceptInvitation

**Relazione di attendibilità del ruolo**

La relazione di attendibilità tra i ruoli deve consentire all'istanza o alle credenziali locali di assumere il ruolo.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
            "AWS": "arn:aws:iam::{{123456789012}}:user/{{john_doe}}"
            },
            "Action": "sts:AssumeRole"
        }
    ]
}
```

------

Se non disponi di un ruolo comune che includa le autorizzazioni richieste, devi creare un ruolo con almeno tali autorizzazioni in ogni account membro. È inoltre necessario creare il ruolo nell'account amministratore.

Quando crei il ruolo, assicurati di completare le seguenti operazioni:
+ Usa lo stesso nome di ruolo in ogni account.
+ Aggiungi le autorizzazioni richieste sopra (consigliate) o seleziona la politica [AmazonDetectiveFullAccess](https://docs.aws.amazon.com/detective/latest/userguide/security-iam-awsmanpol.html#security-iam-awsmanpol-amazondetectivefullaccess)gestita.
+ Aggiungi il blocco di relazioni di attendibilità tra ruoli come discusso in precedenza.

Per automatizzare questo processo, puoi utilizzare il `EnableDetective.yaml` CloudFormation modello. Poiché il modello crea solo risorse globali, può essere eseguito in qualsiasi Regione.

## Configurazione dell'ambiente di esecuzione per gli script Python
<a name="github-script-setup"></a>

Puoi eseguire gli script da un'istanza EC2 o dal tuo computer locale.

### Avvio e configurazione di un'istanza EC2
<a name="github-setup-ec2-instance"></a>

Un'opzione per eseguire gli script è eseguirli da un'istanza EC2.

**Avvio e configurazione di un'istanza EC2**

1. Avvia un'istanza EC2 nel tuo account amministratore. Per informazioni dettagliate su come avviare un'istanza EC2, consulta la [Guida introduttiva alle istanze Amazon EC2 Linux](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EC2_GetStarted.html) nella Amazon *EC2 User Guide*.

1. Collega all'istanza un ruolo IAM con le autorizzazioni necessarie per consentire all'istanza di effettuare chiamate a `AssumeRole`all'interno dell'account amministratore.

   Se hai utilizzato il `EnableDetective.yaml` CloudFormation modello, è stato creato un ruolo di istanza con un profilo denominato. `EnableDetective`

   Altrimenti, per informazioni sulla creazione di un ruolo di istanza, consulta il post del blog [Sostituisci o collega facilmente un ruolo IAM a un'istanza EC2 esistente utilizzando la console EC2](https://aws.amazon.com/blogs//security/easily-replace-or-attach-an-iam-role-to-an-existing-ec2-instance-by-using-the-ec2-console/).

1. Installa il software richiesto:
   + **APT:** `sudo apt-get -y install python3-pip python3 git`
   + **RPM:** `sudo yum -y install python3-pip python3 git`
   + **Boto (versione minima 1.15):** `sudo pip install boto3`

1. Clona il repository sull'istanza EC2.

   ```
   git clone https://github.com/aws-samples/amazon-detective-multiaccount-scripts.git
   ```

### Configurazione di un computer locale per eseguire gli script
<a name="github-setup-local-machine"></a>

È inoltre possibile eseguire gli script dal computer locale.

**Configurare un computer locale per eseguire gli script**

1. Assicurati di aver configurato sul tuo computer locale le credenziali per il tuo account amministratore che dispone dell'autorizzazione per chiamare `AssumeRole`.

1. Installa il software richiesto:
   + Python 3
   + Boto (versione minima 1.15)
   + GitHub script    
[See the AWS documentation website for more details](http://docs.aws.amazon.com/it_it/detective/latest/userguide/detective-github-scripts.html)

## Creazione di un elenco `.csv` di account membri da aggiungere o rimuovere
<a name="github-scripts-csv-file"></a>

Per identificare gli account membro da aggiungere o rimuovere dai grafici di comportamento, fornisci un file `.csv` contenente l'elenco degli account.

Ogni account viene riportato su una riga separata. Ogni voce dell'account membro contiene l'ID AWS dell'account e l'indirizzo e-mail dell'utente root dell'account.

Fai riferimento al file di esempio seguente:

```
111122223333,srodriguez@example.com
444455556666,rroe@example.com
```

## Esecuzione di `enableDetective.py`
<a name="github-scripts-execute-enabledetective"></a>

Puoi eseguire lo script `enableDetective.py` da un'istanza EC2 o dal tuo computer locale.

**Per eseguire `enableDetective.py`**

1. Copia il file `.csv` nella directory `amazon-detective-multiaccount-scripts` dell'istanza EC2 o del computer locale.

1. Passare alla directory `amazon-detective-multiaccount-scripts`.

1. Eseguire lo script `enableDetective.py`.

   ```
   enableDetective.py --master_account {{administratorAccountID}} --assume_role {{roleName}} --input_file {{inputFileName}} --tags {{tagValueList}} --enabled_regions {{regionList}}  --disable_email
   ```

Quando esegui lo script, sostituisci i seguenti valori:

`{{administratorAccountID}}`  
L' AWS ID dell'account dell'amministratore.

`{{roleName}}`  
Il nome del AWS ruolo da assumere nell'account amministratore e in ogni account membro.

`{{inputFileName}}`  
Il nome del file `.csv` contenente l'elenco degli account membri da aggiungere ai grafici di comportamento dell'account amministratore.

`{{tagValueList}}`  
(Facoltativo) Un elenco di valori di tag separati da virgole da assegnare a un nuovo grafico di comportamento.  
Per ogni valore di tag, il formato è `{{key}}={{value}}`. Esempio:  

```
--tags Department=Finance,Geo=Americas
```

`{{regionList}}`  
(Facoltativo) Un elenco separato da virgole di Regioni in cui aggiungere gli account membri al grafico di comportamento dell'account amministratore. Esempio:  

```
--enabled_regions us-east-1,us-east-2,us-west-2
```
L'account amministratore potrebbe non avere già abilitato Detective in una Regione. In tal caso, lo script abilita Detective e crea un nuovo grafico di comportamento per l'account amministratore.  
Se non fornisci un elenco di Regioni, lo script agirà su tutte le Regioni supportate da Detective.

`--disable_email`  
(Facoltativo) Se inclusa, Detective non invia e-mail di invito agli account membri.

## Esecuzione di `disableDetective.py`
<a name="github-scripts-execute-disabledetective"></a>

Puoi eseguire lo script `disableDetective.py` da un'istanza EC2 o dal tuo computer locale.

**Per eseguire `disableDetective.py`**

1. Copia i file `.csv` nella directory `amazon-detective-multiaccount-scripts`.

1. Per utilizzare il file `.csv` per eliminare gli account membri elencati dai grafici di comportamento dell'account amministratore in un elenco specificato di Regioni, esegui lo script `disableDetective.py` come segue:

   ```
   disabledetective.py --master_account {{administratorAccountID}} --assume_role {{roleName}} --input_file {{inputFileName}} --disabled_regions {{regionList}}
   ```

1. Per disabilitare Detective per l'account amministratore in tutte le Regioni, esegui lo script `disableDetective.py` con il flag `--delete-master`.

   ```
   disabledetective.py --master_account {{administratorAccountID}} --assume_role {{roleName}} --input_file {{inputFileName}} --disabled_regions {{regionList}} --delete_master
   ```

Quando esegui lo script, sostituisci i seguenti valori:

`{{administratorAccountID}}`  
L' AWS ID dell'account dell'amministratore.

`{{roleName}}`  
Il nome del AWS ruolo da assumere nell'account amministratore e in ogni account membro.

`{{inputFileName}}`  
Il nome del file `.csv` contenente l'elenco degli account membri da rimuovere dai grafici di comportamento dell'account amministratore.  
Devi fornire un file `.csv` anche se stai disabilitando Detective.

`{{regionList}}`  
(Facoltativo) Un elenco separato da virgole di Regioni in cui completare una delle seguenti operazioni:  
+ Rimuovi gli account membri dai grafici di comportamento dell'account amministratore.
+ Se il flag `--delete-master` è incluso, disabilita Detective.
Esempio:  

```
--disabled_regions us-east-1,us-east-2,us-west-2
```
Se non fornisci un elenco di Regioni, lo script agirà su tutte le Regioni supportate da Detective.