Uso de scripts de Detective Python para administrar cuentas - Amazon Detective

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. Los scripts requieren Python 3.

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:

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

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

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

  2. 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, se EnableDetective 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.

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

  4. 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
  1. Compruebe que haya configurado en la máquina local las credenciales de la cuenta de administrador que tiene permiso para llamar a AssumeRole.

  2. Instale el software necesario:

    • Python 3

    • Boto (versión mínima: 1.15)

    • GitHub scripts

    Plataforma

    Instrucciones de configuración

    Windows

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

    2. Abra un símbolo del sistema.

    3. Ejecute pip install boto3 para instalar Boto.

    4. Descargue el código fuente del script desde (). GitHub https://github.com/aws-samples/amazon-detective-multiaccount-scripts

    Mac

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

    2. Abra un símbolo del sistema.

    3. Ejecute pip install boto3 para instalar Boto.

    4. Descargue el código fuente del script desde () GitHub . https://github.com/aws-samples/amazon-detective-multiaccount-scripts

    Linux

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

    2. Ejecute sudo pip install boto3 para instalar Boto.

    3. 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
  1. Copia el .csv archivo en el amazon-detective-multiaccount-scripts directorio de tu EC2 instancia o máquina local.

  2. Cambie al directorio de amazon-detective-multiaccount-scripts.

  3. Ejecute el script enableDetective.py.

    enableDetective.py --master_account administratorAccountID --assume_role roleName --input_file inputFileName --tags tagValueList --enabled_regions regionList --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 key=value. Por ejemplo:

--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
  1. Copie el archivo .csv en el directorio amazon-detective-multiaccount-scripts.

  2. 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 script disableDetective.py de la siguiente forma:

    disabledetective.py --master_account administratorAccountID --assume_role roleName --input_file inputFileName --disabled_regions regionList
  3. 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_role roleName --input_file inputFileName --disabled_regions regionList --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.