Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Uso de scripts de Detective Python para administrar cuentas
Amazon Detective proporciona un conjunto de scripts de Python de código abierto en el GitHub repositorio amazon-detective-multiaccount-scripts
Puede utilizar estos scripts para llevar a cabo las siguientes tareas:
-
Habilitar Detective para una cuenta de administrador en varias regiones.
Al habilitar Detective, puede asignar valores de etiqueta al gráfico de comportamiento.
-
Agregar cuentas de miembros a gráficos de comportamiento de la cuenta de administrador en varias regiones.
-
Enviar correos electrónicos de invitación a cuentas de miembros. También puede configurar la solicitud para que no envíe correos electrónicos de invitación.
-
Eliminar cuentas de miembros de gráficos de comportamiento de la cuenta de administrador en varias regiones.
-
Deshabilitar Detective para una cuenta de administrador en varias regiones. Cuando una cuenta de administrador deshabilita Detective, el gráfico de comportamiento de la cuenta de administrador se deshabilita en todas las regiones.
Descripción general del script enableDetective.py
El script enableDetective.py
hace lo siguiente:
-
Habilita Detective para una cuenta de administrador en cada región especificada, siempre que la cuenta de administrador no tuviera habilitado Detective en una región.
Al utilizar el script para habilitar Detective, puede asignar valores de etiqueta al gráfico de comportamiento.
-
También puede enviar invitaciones desde la cuenta de administrador a las cuentas de miembros especificadas para cada gráfico de comportamiento.
Los mensajes de correo electrónico de invitación utilizan el formato de contenido predeterminado para mensajes, que no se puede personalizar.
También puede configurar la solicitud para que no envíe correos electrónicos de invitación.
-
Acepta automáticamente las invitaciones enviadas a cuentas de miembros.
Como el script acepta automáticamente las invitaciones, las cuentas de miembros pueden ignorar los mensajes.
Se recomienda comunicar directamente a las cuentas de miembros que las invitaciones se aceptan automáticamente.
Descripción general del script disableDetective.py
El script disableDetective.py
elimina las cuentas de miembros especificadas de los gráficos de comportamiento de la cuenta de administrador en las regiones especificadas.
También permite deshabilitar Detective para la cuenta de administrador en las regiones especificadas.
Permisos necesarios para los scripts
Los scripts requieren un AWS rol preexistente en la cuenta de administrador y en todas las cuentas de los miembros que añada o elimine.
nota
El nombre del rol debe ser el mismo en todas las cuentas.
IAMLas mejores prácticas recomendadas por la política son utilizar los roles con el mínimo alcance. Para ejecutar el flujo de trabajo del script —crear un gráfico, crear miembros y agregar miembros al gráfico , los permisos necesarios son los siguientes:
detective: CreateGraph
detective: CreateMembers
detective: DeleteGraph
detective: DeleteMembers
detective: ListGraphs
detective: ListMembers
detective: AcceptInvitation
Relación de confianza del rol
La relación de confianza del rol debe permitir que la instancia o las credenciales locales asuman el rol.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "
arn:aws:iam::<ACCOUNTID>:user/<USERNAME>
" }, "Action": "sts:AssumeRole" } ] }
Si no dispone de un rol común que incluya el permiso necesario, deberá crear un rol que incluya, como mínimo, los permisos necesarios en cada cuenta de miembro. También debe crear este rol en la cuenta de administrador.
Al crear el rol, asegúrese de hacer lo siguiente:
-
Utilice el mismo nombre de rol en cada cuenta.
-
Añada los permisos necesarios arriba (recomendado) o seleccione la política AmazonDetectiveFullAccessgestionada.
Agregue el bloque de relaciones de confianza del rol, tal como se indica más arriba.
Para automatizar este proceso, puede utilizar la EnableDetective.yaml
AWS CloudFormation
plantilla. Como la plantilla solo crear recursos globales, se puede ejecutar en cualquier región.
Configuración del entorno de ejecución para scripts de Python
Puede ejecutar los scripts desde una EC2 instancia o desde una máquina local.
Lanzar y configurar una EC2 instancia
Una opción para ejecutar los scripts es ejecutarlos desde una EC2 instancia.
Para lanzar y configurar una EC2 instancia
-
Lanza una EC2 instancia en tu cuenta de administrador. Para obtener más información sobre cómo lanzar una EC2 instancia, consulte Introducción a las instancias de Amazon EC2 Linux en la Guía del EC2 usuario de Amazon.
-
Adjunta a la instancia un IAM rol que tenga permisos que permitan a la instancia llamar desde
AssumeRole
la cuenta de administrador.Si usaste la
EnableDetective.yaml
AWS CloudFormation plantilla, seEnableDetective
creó un rol de instancia con un perfil denominado.De lo contrario, para obtener información sobre la creación de un rol de instancia, consulta la entrada del blog Cómo reemplazar o adjuntar fácilmente un IAM rol a una EC2 instancia existente mediante la EC2 consola
. -
Instale el software necesario:
-
APT:
sudo apt-get -y install python3-pip python3 git
-
RPM:
sudo yum -y install python3-pip python3 git
-
Boto (versión mínima: 1.15):
sudo pip install boto3
-
-
Clona el repositorio en la EC2 instancia.
git clone https://github.com/aws-samples/amazon-detective-multiaccount-scripts.git
Configuración de una máquina local para ejecutar los scripts
También puede ejecutar los scripts desde una máquina local.
Configuración de una máquina local para ejecutar los scripts
-
Compruebe que haya configurado en la máquina local las credenciales de la cuenta de administrador que tiene permiso para llamar a
AssumeRole
. -
Instale el software necesario:
-
Python 3
-
Boto (versión mínima: 1.15)
-
GitHub scripts
Plataforma
Instrucciones de configuración
Windows
-
Instale Python 3 (https://www.python.org/downloads/windows/
). -
Abra un símbolo del sistema.
-
Ejecute
pip install boto3
para instalar Boto. -
Descargue el código fuente del script desde (). GitHub https://github.com/aws-samples/amazon-detective-multiaccount-scripts
Mac
-
Instale Python 3 (https://www.python.org/downloads/mac-osx/
). -
Abra un símbolo del sistema.
-
Ejecute
pip install boto3
para instalar Boto. -
Descargue el código fuente del script desde () GitHub . https://github.com/aws-samples/amazon-detective-multiaccount-scripts
Linux
-
Para instalar Python 3, ejecute uno de los siguientes comandos:
-
sudo apt-get -y install install python3-pip python3 git
-
sudo yum install git python
-
-
Ejecute
sudo pip install boto3
para instalar Boto. -
Clona el código fuente del script desde https://github.com/aws-samples/amazon-detective-multiaccount-scripts
.
-
Creación de una lista en formato .csv
con las cuentas de miembros para agregar o eliminar
Para identificar las cuentas de miembros que quiera agregar a gráficos de comportamiento o eliminar de estos, es necesario proporcionar un archivo .csv
que contenga una lista con las cuentas.
Se agrega una cuenta por línea. Cada entrada de la cuenta de un miembro contiene el ID de la AWS cuenta y la dirección de correo electrónico del usuario raíz de la cuenta.
Vea el siguiente ejemplo:
111122223333,srodriguez@example.com 444455556666,rroe@example.com
Ejecución de enableDetective.py
Puede ejecutar el enableDetective.py
script desde una EC2 instancia o desde su máquina local.
Para ejecutar enableDetective.py
-
Copia el
.csv
archivo en elamazon-detective-multiaccount-scripts
directorio de tu EC2 instancia o máquina local. -
Cambie al directorio de
amazon-detective-multiaccount-scripts
. -
Ejecute el script
enableDetective.py
.enableDetective.py --master_account
administratorAccountID
--assume_roleroleName
--input_fileinputFileName
--tagstagValueList
--enabled_regionsregionList
--disable_email
Al ejecutar el script, sustituya los siguientes valores:
administratorAccountID
-
El ID de AWS cuenta de la cuenta de administrador.
roleName
-
El nombre del AWS rol que se va a asumir en la cuenta de administrador y en la cuenta de cada miembro.
inputFileName
-
El nombre del archivo
.csv
que contiene la lista con las cuentas de miembros que se van a agregar a los gráficos de comportamiento de la cuenta de administrador. tagValueList
-
(Opcional) Una lista de valores de etiqueta separados por comas que se asignan a un nuevo gráfico de comportamiento.
El formato de los valores de etiqueta es
. Por ejemplo:key
=value
--tags Department=Finance,Geo=Americas
regionList
-
(Opcional) Una lista de valores separados por comas con las regiones en las que se agregarán cuentas de miembros al gráfico de comportamiento de la cuenta de administrador. Por ejemplo:
--enabled_regions us-east-1,us-east-2,us-west-2
Es posible que la cuenta de administrador no haya habilitado Detective en una región. En ese caso, el script habilita Detective y crea un nuevo gráfico de comportamiento para la cuenta de administrador.
Si no proporciona una lista de regiones, el script funciona en todas las regiones compatibles con Detective.
--disable_email
-
(Opcional) Si se incluye, Detective no envía correos electrónicos de invitación a cuentas de miembros.
Ejecución de disableDetective.py
Puede ejecutar el disableDetective.py
script desde una EC2 instancia o desde su máquina local.
Para ejecutar disableDetective.py
-
Copie el archivo
.csv
en el directorioamazon-detective-multiaccount-scripts
. -
Si desea utilizar el archivo
.csv
para eliminar las cuentas de miembros indicadas en una lista especificada de regiones de los gráficos de comportamiento de la cuenta de administrador, ejecute el scriptdisableDetective.py
de la siguiente forma:disabledetective.py --master_account
administratorAccountID
--assume_roleroleName
--input_fileinputFileName
--disabled_regionsregionList
-
Para deshabilitar Detective en la cuenta de administrador para todas las regiones, ejecute el script
disableDetective.py
con la marca--delete-master
.disabledetective.py --master_account
administratorAccountID
--assume_roleroleName
--input_fileinputFileName
--disabled_regionsregionList
--delete_master
Al ejecutar el script, sustituya los siguientes valores:
administratorAccountID
-
El ID de AWS cuenta de la cuenta de administrador.
roleName
-
El nombre del AWS rol que se va a asumir en la cuenta de administrador y en la cuenta de cada miembro.
inputFileName
-
El nombre del archivo
.csv
que contiene la lista con las cuentas de miembros que se van a eliminar de los gráficos de comportamiento de la cuenta de administrador.Debe proporcionar un archivo
.csv
aunque vaya a deshabilitar Detective. regionList
-
(Opcional) Una lista de regiones separadas por comas en la que se puede realizar una de las siguientes acciones:
-
Eliminar cuentas de miembros de gráficos de comportamiento de la cuenta de administrador
-
Si la marca
--delete-master
está incluida, deshabilitar Detective
Por ejemplo:
--disabled_regions us-east-1,us-east-2,us-west-2
Si no proporciona una lista de regiones, el script funciona en todas las regiones compatibles con Detective.
-