Recursos Exponibles de AWS
El objetivo de este repositorio es mantener una lista de todos los recursos de AWS que pueden exponerse públicamente y, eventualmente, aquellos que pueden compartirse con cuentas no confiables (esa sección aún está en desarrollo y no se incluye aquí).
En esta lista se aplican los siguientes conceptos:
- No se incluyen recursos que podrían exponerse indirectamente a través de otro recurso. Por ejemplo, los registros de CloudTrail pueden enviarse a un bucket S3 público, pero es el bucket S3 el que está mal configurado, por lo que CloudTrail no se enumera como un recurso que pueda hacerse público.
- Algunos recursos pueden requerir que varias cosas estén configuradas de cierta manera para considerarse públicos. Por ejemplo, un secreto de Secrets Manager cifrado con una clave KMS necesitaría tanto el secreto como la clave KMS públicas para acceder al secreto. Para los fines de esta lista, considero solo la política de recursos del secreto. De manera similar, para los clústeres de ElasticSearch administrados, se necesita tanto la política de recursos que permita el acceso público como una IP no VPC. Considero solo la política de recursos. Para una EC2, podrías crear una EC2 con una IP pública, pero asociarle un Grupo de Seguridad restringido que quizás después se abra para permitir el acceso público. Considero que la creación de la EC2 con una IP pública es la acción de interés, no la modificación del Grupo de Seguridad.
Hoja de ruta
Me gustaría que este repositorio eventualmente contenga lo siguiente:
- Comandos CLI de ejemplo para crear un recurso privado y uno público.
- Registros de CloudTrail asociados a estos dos eventos para que puedas construir y probar soluciones de monitoreo. Por ejemplo, puedes ver eventos de CloudTrail de muestra para StreamAlert aquí.
- Llamadas Describe asociadas a los recursos para mostrar cómo se ve cuando estos recursos son públicos. Por ejemplo, puedes ver respuestas JSON de muestra en los datos de prueba de CloudMapper aquí.
Repositorio ECR
Acciones:
Lambda
Permite invocar la función
Acciones:
Capa de Lambda
Acciones:
Repositorio de aplicaciones serverless
Acciones:
Backup
Documentación
Acciones:
EFS
TODO: Necesito confirmar si esto realmente puede compartirse con otras cuentas. Parte de la redacción de la documentación me lleva a pensar que quizás solo se pueda compartir con principales dentro de una cuenta.
Acciones:
Glacier
Acciones:
S3
Los buckets S3 pueden ser públicos mediante políticas y ACL. Los objetos S3 pueden ser públicos mediante ACL. Las ACL pueden configurarse al crear el bucket u objeto.
Acciones:
Rol IAM
Acciones:
Claves KMS
Acciones:
Secrets Manager
Acciones:
CloudWatch Logs
Acciones:
EventBridge
Solo permite enviar datos a una cuenta
Acciones:
Documentación
Acciones:
ElasticSearch
Acciones:
Glue
Acciones:
SNS
Acciones:
SQS
Acciones:
SES
Documentación
Acciones:
AMI
Acciones:
Imagen FPGA
Acciones:
Instantánea de EBS
Acciones:
Instantánea de RDS
Acciones:
Instantánea de clúster DB de RDS
Acciones:
API Gateway
Existen políticas de recursos asociadas (ver aquí) que podrían hacer que esto esté en múltiples categorías?
Acciones:
CloudFront
Acciones:
Redshift
Acciones:
RDS
Acciones:
EC2
Acciones:
IP elástica
Acciones:
ECS
Acciones:
Global Accelerator
Acciones:
ELB
Acciones:
Lightsail
Acciones:
Neptune
Acciones:
ElasticCache
Acciones:
EMR
Acciones: