Utilisation des scripts Amazon Detective Python - Amazon Detective

Le contenu de l'Amazon Detective Administration Guide est désormais consolidé dans le Amazon Detective User Guide. Le support standard d'Amazon Detective Administration Guide arrivera à expiration le 8 mai 2024.

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Utilisation des scripts Amazon Detective Python

Amazon Detective fournit un ensemble de scripts Python open source dans le référentiel Scripts multi-comptes GitHub Amazon-detective. Les scripts nécessitent Python 3.

Vous pouvez les utiliser pour effectuer les tâches suivantes :

  • Activer Detective pour un compte administrateur dans toutes les régions.

    Lorsque vous activez Detective, vous pouvez attribuer des valeurs de balise au graphique de comportement.

  • Ajouter des comptes membres aux graphiques de comportement d’un compte administrateur dans toutes les régions.

  • Envoyer éventuellement des e-mails d’invitation aux comptes membres. Vous pouvez également configurer la demande afin qu’aucun e-mail d’invitation ne soit envoyé.

  • Supprimer les comptes membres des graphiques de comportement d’un compte administrateur dans toutes les régions.

  • Désctiver Detective pour un compte administrateur dans toutes les régions. Lorsqu’un compte administrateur désactive Detective, le graphique de comportement du compte administrateur dans chaque région est désactivé.

Vue d’ensemble du script enableDetective.py

Le script enableDetective.py effectue les opérations suivantes :

  1. Il active Detective pour un compte administrateur dans chaque région spécifiée, si Detective n’est pas déjà activé sur le compte administrateur dans cette région.

    Lorsque vous activez Detective, vous pouvez attribuer des valeurs de balise au graphique de comportement.

  2. Il envoie éventuellement des invitations depuis le compte administrateur vers les comptes membres spécifiés pour chaque graphique de comportement.

    Les e-mails d’invitation utilisent le contenu du message par défaut et ne peuvent pas être personnalisés.

    Vous pouvez également configurer la demande pour ne pas envoyer d’e-mails d’invitation.

  3. Accepte automatiquement les invitations pour les comptes membres.

    Comme le script accepte automatiquement les invitations, les comptes membres peuvent ignorer ces messages.

    Nous vous recommandons de contacter directement les comptes membres pour les informer que les invitations sont acceptées automatiquement.

Vue d’ensemble du script disableDetective.py

Le script disableDetective.py supprime les comptes membres spécifiés des graphiques de comportement du compte administrateur dans les régions spécifiées.

Il fournit également une option permettant de désactiver Detective pour le compte administrateur dans les régions spécifiées.

Autorisations requises pour les scripts

Les scripts nécessitent un rôle AWS préexistant dans le compte administrateur et dans tous les comptes membres que vous ajoutez ou supprimez.

Note

Le nom du rôle doit être le même dans tous les comptes.

Les meilleures pratiques recommandées par la politique IAM consistent à utiliser les rôles les moins étendus. Pour exécuter le flux de travail du script consistant à créer un graphique, à créer des membres et à ajouter des membres au graphique, les autorisations requises sont les suivantes :

  • Détective : CreateGraph (créer graphique)

  • Détective : CreateMembers (créer des membres)

  • Détective : DeleteGraph (supprimer graphique)

  • Détective : DeleteMembers (supprimer des membres)

  • Détective : ListGraphs (liste des graphiques)

  • Détective : ListMembers (liste des membres)

  • Détective : AcceptInvitation (accepter l’invitation)

Relation d’approbation de rôle

La relation d'approbation de rôle doit permettre à votre instance ou à vos informations d’identification locales d’assumer le rôle.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::<ACCOUNTID>:user/<USERNAME>" }, "Action": "sts:AssumeRole" } ] }

Si vous ne disposez pas d’un rôle commun incluant les autorisations requises, vous devez créer un rôle avec au moins ces autorisations dans chaque compte membre. Vous devez également créer le rôle dans le compte administrateur.

Lorsque vous créez le rôle, veillez à exécuter les actions suivantes :

  • Utilisez le même nom de rôle dans chaque compte.

  • Ajoutez les autorisations requises ci-dessus (recommandé) ou sélectionnez la politique gérée AmazonDetectiveFullAccess.

  • Ajoutez un bloc de relation de confiance entre les rôles, comme indiqué ci-dessus.

Vous pouvez également utiliser le modèle EnableDetective.yaml AWS CloudFormation afin d’automatiser ce processus. Comme le modèle ne crée que des ressources globales, il peut être exécuté dans n’importe quelle région.

Configuration de l’environnement d’exécution pour les scripts Python

Vous pouvez exécuter les scripts depuis une instance EC2 ou depuis une machine locale.

Lancement et configuration d'une instance EC2

L’une des options pour l’exécution des scripts consiste à les exécuter à partir d’une instance EC2.

Pour lancer et configurer une instance EC2
  1. Lancez une instance EC2 dans votre compte administrateur. Pour avoir des détails sur la manière de lancer une instance EC2, consultez Démarrer avec les instances Amazon EC2 Linux dans le Guide de l'utilisateur d'Amazon EC2 pour instances Linux.

  2. Associez à l’instance un rôle IAM doté des autorisations permettant à l’instance d’appeler depuis le compte administrateur AssumeRole.

    Si vous avez utilisé le modèle EnableDetective.yaml AWS CloudFormation, un rôle d’instance avec un profil nommé EnableDetective a été créé.

    Sinon, pour plus d’informations sur la création d’un rôle d’instance, consultez l’article de blog Remplacer ou associer facilement un rôle IAM à une instance EC2 existante à l’aide de la console EC2.

  3. Installer le logiciel requis  :

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

    • RPM : sudo yum -y install python3-pip python3 git

    • Boto (version minimum 1.15) : sudo pip install boto3

  4. Clonez le référentiel sur l’instance EC2.

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

Configuration d’une machine locale pour exécuter les scripts

Vous pouvez également exécuter les scripts à partir de votre ordinateur local.

Pour configurer une machine locale afin d’exécuter les scripts
  1. Assurez-vous que vous avez configuré sur votre ordinateur local les informations d’identification de votre compte administrateur autorisé à appeler AssumeRole.

  2. Installer le logiciel requis  :

    • Python 3

    • Boto (version minimum 1.15)

    • Scripts GitHub

    Plateforme

    Instructions de configuration

    Windows

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

    2. Ouvrez une invite de commande.

    3. Pour installer Boto, exécutez : pip install boto3

    4. Télécharger le code source du script depuis GitHub (https://github.com/aws-samples/amazon-detective-multiaccount-scripts).

    Mac

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

    2. Ouvrir une invite de commande.

    3. Pour installer Boto, exécutez : pip install boto3

    4. Télécharger le code source du script depuis GitHub (https://github.com/aws-samples/amazon-detective-multiaccount-scripts).

    Linux

    1. Pour installer Python 3, exécutez l’une des commandes suivantes :

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

      • sudo yum install git python

    2. Pour installer Boto, exécutez : sudo pip install boto3

    3. Télécharger le code source du script depuis https://github.com/aws-samples/amazon-detective-multiaccount-scripts.

Création d’une liste .csv de comptes membres à ajouter ou à supprimer

Pour identifier les comptes membres à ajouter ou à supprimer dans les graphiques de comportement, vous fournissez un fichier .csv contenant la liste des comptes.

Répertoriez chaque compte sur une ligne distincte. Chaque entrée de compte membre contient l’identifiant du compte AWS et l’adresse e-mail de l’utilisateur root du compte.

Consultez l’exemple suivant:

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

Exécution d’enableDetective.py

Vous pouvez exécuter le script enableDetective.py à partir d’une instance EC2 ou de votre ordinateur local.

Pour exécuter enableDetective.py
  1. Copiez le fichier .csv dans le répertoire amazon-detective-multiaccount-scripts de votre instance EC2 ou de votre ordinateur local.

  2. Passez au répertoire amazon-detective-multiaccount-scripts.

  3. Exécutez le script enableDetective.py.

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

Lorsque vous exécutez le script, remplacez les valeurs suivantes :

administratorAccountID

Identifiant du compte AWS pour le compte administrateur.

roleName

Nom du rôle AWS à assumer dans le compte administrateur et dans chaque compte membre.

inputFileName

Nom du fichier .csv contenant la liste des comptes membres à ajouter aux graphiques de comportement du compte administrateur.

tagValueList

(Facultatif) Une liste de valeurs de balise séparées par des virgules à attribuer à un nouveau graphique de comportement.

Pour chaque valeur de balise, le format est key=value. Par exemple :

--tags Department=Finance,Geo=Americas
regionList

(Facultatif) Une liste de régions séparées par des virgules dans laquelle ajouter les comptes membres au graphique de comportement du compte administrateur. Par exemple :

--enabled_regions us-east-1,us-east-2,us-west-2

Detective n’est peut-être pas encore activé sur le compte administrateur dans une région. Dans ce cas, le script active Detective et crée un nouveau graphique de comportement pour le compte administrateur.

Si vous ne fournissez pas de liste de régions, le script agit dans toutes les régions prises en charge par Detective.

--disable_email

(Facultatif) S’il est inclus, Detective n’envoie pas d’e-mails d’invitation aux comptes membres.

Exécution d’disableDetective.py

Vous pouvez exécuter le script disableDetective.py à partir d’une instance EC2 ou de votre machine locale.

Pour exécuter disableDetective.py
  1. Copiez le fichier .csv dans le répertoire amazon-detective-multiaccount-scripts.

  2. Pour utiliser le fichier .csv afin de supprimer les comptes membres répertoriés des graphiques de comportement du compte administrateur dans une liste spécifiée de régions, exécutez le script disableDetective.py comme suit :

    disabledetective.py --master_account administratorAccountID --assume_role roleName --input_file inputFileName --disabled_regions regionList
  3. Pour désactiver Detective pour le compte administrateur dans toutes les régions, exécutez le script disableDetective.py avec l’indicateur --delete-master.

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

Lorsque vous exécutez le script, remplacez les valeurs suivantes :

administratorAccountID

Identifiant de compte AWS pour le compte administrateur.

roleName

Nom du rôle AWS à assumer dans le compte administrateur et dans chaque compte membre.

inputFileName

Nom du fichier .csv contenant la liste des comptes membres à supprimer des graphiques de comportement du compte administrateur.

Vous devez fournir un fichier .csv même si vous désactivez Detective.

regionList

(Facultatif) Une liste de régions séparées par des virgules dans lesquelles effectuer l’une des opérations suivantes :

  • Supprimez les comptes membres des graphiques de comportement du compte administrateur.

  • Si l’indicateur --delete-master est inclus, désactivez Detective.

Par exemple :

--disabled_regions us-east-1,us-east-2,us-west-2

Si vous ne fournissez pas de liste de régions, le script agit dans toutes les régions prises en charge par Detective.