Asegúrese de que el perfil de IAM esté asociado a una instancia de EC2 - Recomendaciones de AWS

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.

Asegúrese de que el perfil de IAM esté asociado a una instancia de EC2

Creado por Mansi Suratwala (AWS)

Entorno: Producción

Tecnologías: infraestructura; seguridad, identidad, conformidad

Servicios de AWS: Amazon EC2; AWS Identity and Access Management; Amazon CloudWatch; AWS Lambda; Amazon SNS

Resumen

Este patrón proporciona una plantilla de control de CloudFormation seguridad de AWS que configura una notificación automática cuando se produce una infracción del perfil de AWS Identity and Access Management (IAM) en una instancia de Amazon Elastic Compute Cloud (Amazon EC2). 

Una perfil de instancia es un contenedor de un rol de IAM, que puede utilizar para transferir información del rol a una instancia EC2 cuando la instancia se inicia.

Amazon CloudWatch Events inicia esta comprobación cuando AWS CloudTrail registra las llamadas a la API de Amazon EC2 en función de RunInstances las acciones AssociateIamInstanceProfile y. ReplaceIamInstanceProfileAssociation El activador llama a una función de AWS Lambda, que utiliza un evento de Amazon CloudWatch Events para comprobar si hay un perfil de IAM.

Si no existe un perfil de IAM, la función de Lambda inicia el envío de una notificación por correo electrónico de Amazon Simple Notification Service (Amazon SNS) que incluye la ID de cuenta de Amazon Web Services (AWS) y la región de AWS. 

Si existe un perfil de IAM, la función de Lambda comprueba si hay entradas comodín en los documentos de la política. Si existen entradas con caracteres comodín, se inicia una notificación de infracción de Amazon SNS para ayudarle a implementar una seguridad mejorada. La notificación contiene el nombre del perfil de IAM, el evento, la ID de la instancia de EC2, el nombre de la política gestionada, la infracción, la ID de cuenta y la región.

Requisitos previos y limitaciones

Requisitos previos 

  • Una cuenta activa

  • Un bucket de Amazon Simple Storage Service (Amazon S3) para el archivo .zip del código de Lambda.

Limitaciones

  • La CloudFormation plantilla de AWS debe implementarse únicamente para las RunInstances ReplaceIamInstanceProfileAssociation acciones y. AssociateIamInstanceProfile

  • El control de seguridad no supervisa la separación de los perfiles de IAM.

  • El control de seguridad no comprueba la modificación de las políticas de IAM asociadas al perfil de IAM de la instancia de EC2.

  • El control de seguridad no tiene en cuenta los permisos a nivel de recurso no compatibles que requieren el uso de "Resource":*.

Arquitectura

Pila de tecnología de destino

  • Amazon EC2

  • AWS CloudTrail

  • Amazon CloudWatch

  • AWS Lambda

  • Amazon S3

  • Amazon SNS

Arquitectura de destino

Lanzamiento de EC2, infracción del perfil de IAM CloudTrail, CloudWatch eventos, llamada Lambda, notificación enviada.

Automatizar y escalar

Puede utilizar la CloudFormation plantilla de AWS varias veces para distintas regiones y cuentas de AWS. Sólo tiene que lanzar la plantilla una vez para cada cuenta o Región.

Herramientas

Herramientas

  • Amazon EC2: Amazon EC2 proporciona capacidad informática escalable (servidores virtuales) en la nube de AWS. 

  • AWS CloudTrail: AWS le CloudTrail ayuda a habilitar la gobernanza, el cumplimiento y la auditoría operativa y de riesgos de su cuenta de AWS. Las acciones realizadas por un usuario, un rol o un servicio de AWS se registran como eventos en CloudTrail. 

  • Amazon CloudWatch Events: Amazon CloudWatch Events ofrece una transmisión casi en tiempo real de los eventos del sistema que describen los cambios en los recursos de AWS. 

  • AWS Lambda: AWS Lambda es un servicio de computación que puede usar para ejecutar código sin aprovisionar ni administrar servidores. Lambda ejecuta su código solo cuando es necesario y escala de manera automática, desde unas pocas solicitudes por día hasta miles por segundo. 

  • Amazon S3: Amazon S3 proporciona un almacenamiento de objetos altamente escalable que se puede utilizar para una amplia gama de soluciones de almacenamiento, incluidos sitios web, aplicaciones móviles, copias de seguridad y lagos de datos.

  • Amazon SNS: Amazon SNS permite a las aplicaciones y dispositivos enviar y recibir notificaciones desde la nube. 

Código

  • El archivo .zip del proyecto está disponible como adjunto.

Epics

TareaDescripciónHabilidades requeridas

Defina el bucket de S3.

Para alojar el archivo .zip de código de Lambda, seleccione o cree un bucket de S3 con un nombre único que no contenga barras diagonales al inicio. Un nombre de bucket de S3 es globalmente único y todas las cuentas de AWS comparten el espacio de nombres. Su bucket de S3 tiene que estar en la misma Región que la instancia EC2 que se está evaluando.

Arquitecto de la nube
TareaDescripciónHabilidades requeridas

Cargue el código de Lambda en el bucket de S3.

Cargue el archivo .zip de código de Lambda que se proporciona en la sección Adjuntos del bucket de S3. El bucket de S3 debe estar en la misma Región que la instancia EC2 que se está evaluando.

Arquitecto de la nube
TareaDescripciónHabilidades requeridas

Implemente la CloudFormation plantilla de AWS.

Implemente la CloudFormation plantilla de AWS que se proporciona como adjunto a este patrón. En la siguiente épica, proporcione los valores de los parámetros.

Arquitecto de la nube
TareaDescripciónHabilidades requeridas

Ponga nombre al bucket de S3.

Escriba el nombre del bucket de S3 que ha creado en la primera épica.

Arquitecto de la nube

Proporcione la clave de S3.

Proporcione la ubicación del archivo .zip del código de Lambda en su bucket de S3 sin barras diagonales iniciales (por ejemplo, <directory>/<file-name>.zip).

Arquitecto de la nube

Proporcione una dirección de correo electrónico.

Proporcione una dirección de correo electrónico activa en la que desea recibir las notificaciones de Amazon SNS.

Arquitecto de la nube

Defina el nivel de registro.

Defina el nivel y la frecuencia de registro de la función de Lambda. Info designa mensajes informativos detallados sobre el progreso de la aplicación. Error designa los eventos de error que aún podrían permitir que la aplicación siguiera ejecutándose. Warning designa situaciones potencialmente dañinas.

Arquitecto de la nube
TareaDescripciónHabilidades requeridas

Confirmar la suscripción.

Cuando la plantilla se implementa correctamente, se envía un mensaje de correo electrónico de suscripción a la dirección de correo electrónico proporcionada. Debe confirmar esta suscripción de correo electrónico para recibir las notificaciones de infracciones.

Arquitecto de la nube

Recursos relacionados

Conexiones

Para acceder al contenido adicional asociado a este documento, descomprima el archivo: attachment.zip