Utilisation des scripts Amazon Detective Python pour gérer les comptes - Amazon Detective

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 pour gérer les comptes

Amazon Detective fournit un ensemble de scripts Python open source dans le GitHub référentiel amazon-detective-multiaccount-scripts. 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 graphe de comportement.

  • Ajouter des comptes membres aux graphes 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 graphes de comportement d’un compte administrateur dans toutes les régions.

  • Désactiver Detective pour un compte administrateur dans toutes les régions. Lorsqu’un compte administrateur désactive Detective, le graphe 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 graphe de comportement.

  2. Il envoie éventuellement des invitations depuis le compte administrateur vers les comptes membres spécifiés pour chaque graphe 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 afin qu’aucun e-mail d’invitation ne soit envoyé.

  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 graphes 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 AWS rôle préexistant dans le compte administrateur et dans tous les comptes de 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 graphe, à créer des membres et à ajouter des membres au graphe, les autorisations requises sont les suivantes :

  • détective : CreateGraph

  • détective : CreateMembers

  • détective : DeleteGraph

  • détective : DeleteMembers

  • détective : ListGraphs

  • détective : ListMembers

  • détective : AcceptInvitation

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 AmazonDetectiveFullAccessgérée.

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

Pour automatiser ce processus, vous pouvez utiliser le EnableDetective.yaml AWS CloudFormation modèle. 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 en savoir plus sur le lancement d'une instance EC2, consultez Getting Started with Amazon EC2 Linux Instances dans le guide de l'utilisateur Amazon EC2.

  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 EnableDetective.yaml AWS CloudFormation modèle, 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. Installez 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. Installez le logiciel requis :

    • Python 3

    • Boto (version minimum 1.15)

    • GitHub scripts

    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échargez 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échargez 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 graphes 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 de membre contient l'identifiant du AWS compte 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 machine locale.

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

L'ID de AWS compte du compte administrateur.

roleName

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

inputFileName

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

tagValueList

(Facultatif) Une liste de valeurs de balise séparées par des virgules à attribuer à un nouveau graphe 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 graphe 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 graphe 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 graphes 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

L'ID de AWS compte du compte administrateur.

roleName

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

inputFileName

Nom du fichier .csv contenant la liste des comptes membres à supprimer des graphes 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 graphes 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.