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 de scripts 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
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 :
-
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.
-
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é.
-
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.
IAMles meilleures pratiques recommandées en matière de politique 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 à partir d'une EC2 instance ou d'une machine locale.
Lancement et configuration d'une EC2 instance
L'une des options pour exécuter les scripts consiste à les exécuter à partir d'une EC2 instance.
Pour lancer et configurer une EC2 instance
-
Lancez une EC2 instance dans votre compte administrateur. Pour en savoir plus sur le lancement d'une EC2 instance, consultez Getting Started with Amazon EC2 Linux Instances dans le guide de EC2 l'utilisateur Amazon.
-
Associez à l'instance un IAM rôle doté des autorisations permettant à l'instance d'appeler
AssumeRole
depuis le compte administrateur.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 le billet de blog Remplacer ou attacher facilement un IAM rôle à une EC2 instance existante à l'aide de la EC2 console
. -
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
-
-
Clonez le référentiel sur l'EC2instance.
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
-
Assurez-vous que vous avez configuré sur votre ordinateur local les informations d’identification de votre compte administrateur autorisé à appeler
AssumeRole
. -
Installez le logiciel requis :
-
Python 3
-
Boto (version minimum 1.15)
-
GitHub scripts
Plateforme
Instructions de configuration
Windows
-
Installez Python 3 (https://www.python.org/downloads/windows/
). -
Ouvrir une invite de commande.
-
Pour installer Boto, exécutez :
pip install boto3
-
Téléchargez le code source du script depuis GitHub (https://github.com/aws-samples/amazon-detective-multiaccount-scripts
).
Mac
-
Installez Python 3 (https://www.python.org/downloads/mac-osx/
). -
Ouvrir une invite de commande.
-
Pour installer Boto, exécutez :
pip install boto3
-
Téléchargez le code source du script depuis GitHub (https://github.com/aws-samples/amazon-detective-multiaccount-scripts
).
Linux
-
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
-
-
Pour installer Boto, exécutez :
sudo pip install boto3
-
Clonez le code source du script à partir de 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 enableDetective.py
script à partir d'une EC2 instance ou de votre machine locale.
Pour exécuter enableDetective.py
-
Copiez le
.csv
fichieramazon-detective-multiaccount-scripts
dans le répertoire de votre EC2 instance ou de votre machine locale. -
Passez au répertoire
amazon-detective-multiaccount-scripts
. -
Exécutez le script
enableDetective.py
.enableDetective.py --master_account
administratorAccountID
--assume_roleroleName
--input_fileinputFileName
--tagstagValueList
--enabled_regionsregionList
--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
. Par exemple :key
=value
--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 disableDetective.py
script à partir d'une EC2 instance ou de votre machine locale.
Pour exécuter disableDetective.py
-
Copiez le fichier
.csv
dans le répertoireamazon-detective-multiaccount-scripts
. -
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 scriptdisableDetective.py
comme suit :disabledetective.py --master_account
administratorAccountID
--assume_roleroleName
--input_fileinputFileName
--disabled_regionsregionList
-
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_roleroleName
--input_fileinputFileName
--disabled_regionsregionList
--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.
-