Utilizzo degli script di Amazon Detective Python per gestire gli account - Amazon Detective

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 Amazon Detective Python per gestire gli account

Amazon Detective fornisce un set di script Python open source nel GitHub repository 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

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.

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

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

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

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

Nota

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

Le best practice consigliate 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, la creazione di membri e l'aggiunta di membri al grafico, 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.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::<ACCOUNTID>:user/<USERNAME>" }, "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 AmazonDetectiveFullAccessgestita.

  • Aggiungi il blocco di relazioni di attendibilità tra ruoli come discusso in precedenza.

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

Configurazione dell'ambiente di esecuzione per gli script Python

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

Avvio e configurazione di un'istanza EC2

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 nella Amazon EC2 User Guide.

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

    Se hai utilizzato il EnableDetective.yaml AWS 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.

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

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

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

  2. Installa il software richiesto:

    • Python 3

    • Boto (versione minima 1.15)

    • GitHub script

    Piattaforma

    Istruzioni di configurazione

    Windows

    1. Installa Python 3 (https://www.python.org/downloads/windows/).

    2. Apri un prompt dei comandi.

    3. Per installare Boto, esegui: pip install boto3

    4. Scarica il codice sorgente dello script da GitHub (https://github.com/aws-samples/amazon-detective-multiaccount-scripts).

    Mac

    1. Installa Python 3 (https://www.python.org/downloads/mac-osx/).

    2. Apri un prompt dei comandi.

    3. Per installare Boto, esegui: pip install boto3

    4. Scarica il codice sorgente dello script da GitHub (https://github.com/aws-samples/amazon-detective-multiaccount-scripts).

    Linux

    1. Per installare Python 3, esegui uno dei comandi riportati:

      • sudo apt-get -y install install python3-pip python3 git

      • sudo yum install git python

    2. Per installare Boto, esegui: sudo pip install boto3

    3. Clona il codice sorgente dello script da https://github.com/aws-samples/amazon-detective-multiaccount-scripts.

Creazione di un elenco .csv di account membri da aggiungere o rimuovere

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

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.

  2. Passare alla directory amazon-detective-multiaccount-scripts.

  3. 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. Per 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. Per 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

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.

  2. 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
  3. 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.

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