# #100DíasdeAWS | Día 13 | S3 Fundamentos de Seguridad

¡Hola a todo el mundo!

En esta edición de **#100DíasdeASW**, me refiero a un servicio del que he hablado anteriormente - **S3**. En esa publicación del **Blog** anterior hablé acerca de las diferentes clases de seguridad que existe en **S3**, cómo **S3** es un servicio tan importante, hoy estoy haciendo una publicación en el Blog sobre los aspectos de seguridad de **S3.**

Primero que todo hagamos un breve resumen de lo que es **S3**.

### ¿Qué es S3?

**S3** **(Simple Storage Service**) es la solución de almacenamiento a nivel de objeto patentada de **AWS**, que puede almacenar una cantidad casi ilimitada de objetos para cualquier caso de uso imaginable. Es un servicio extremadamente escalable, duradero y confiable que puede usar para administrar su infraestructura de **AWS**, y **S3** tiene muchos casos de uso diferentes, desde la administración de datos de registro, el manejo de análisis de **Big Data** hasta el alojamiento de un sitio web estático.

Las unidades básicas en **S3** son **Buckets** y **objetos**, que son básicamente carpetas y archivos. Esta configuración, junto con la integración con una serie de otros servicios de **S3**, puede permitir un acceso detallado a sus recursos de **S3** y permitirle crear soluciones complejas y altamente escalables en la nube de **AWS**.

Hablemos sobre las diferentes pautas de seguridad que se implementan para garantizar que sus datos estén seguros cuando usa **S3**.

*Bloqueo de todo acceso público en un* ***Bucket*** *de S3*

De forma predeterminada, cuando carga un elemento en un **Bucket** de **S3**, es completamente privado y no hay acceso a su objeto desde Internet.

Esta es una característica de seguridad extremadamente importante porque debe desmarcar activamente varias casillas en la Consola de administración de **AWS** para permitir cualquier tipo de acceso público. Vea la imagen de abajo para poner esto en contexto.

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1674714247183/ea41b09f-2692-4c3a-b19a-1e8ab967ca36.png align="center")

*Políticas de un* ***Bucket***

Las políticas de un **Bucket** son similares a los roles **AIM**, en donde puede escribir una política de un **Bucket** en JSON para tener acceso al **Bucket**. Aquí un ejemplo de una política de un **Bucket**.

```json
{ 
  "Statement": [
    {
      "Sid": "AllowEveryoneReadOnlyAccess",
      "Effect": "Allow",
      "Principal": "*",
      "Action": [ "s3:GetObject", "s3:ListBucket" ],
      "Resource": ["urn:sgws:s3:::examplebucket","urn:sgws:s3:::examplebucket/*"]
    }
  ]
}   
```

***Este ejemplo:*** Permite que todos en una cuenta tenga acceso completo, y que todos en otra cuenta tenga acceso de solo lectura a un **Bucket**.

### **ACL**

Las listas de control de acceso (**ACL**) de **Amazon S3** le permiten administrar el acceso a **Buckets** y **Objetos**. Cada **Bucket** y **Objeto** tiene una **ACL** adjunta como subrecurso. Define a qué cuentas o grupos de AWS se les concede acceso y el tipo de acceso. Cuando se recibe una solicitud para un recurso, **Amazon S3** verifica la **ACL** correspondiente para verificar que el solicitante tenga los permisos de acceso necesarios.

Cuando crea un **Bucket** o un **Objeto**, **Amazon S3** crea una **ACL** predeterminada que otorga al propietario del recurso control total sobre el recurso.

### **Object Lock**

**S3 Object Lock** bloquea la eliminación de la versión del objeto durante un período de retención que defina, para que pueda aplicar políticas de retención como una capa adicional de protección de datos o si necesita hacer cumplir las normas.

**Object Lock** implementa algo llamado modelo **WORM**, también conocido como **Write Once**, **Read Many**, lo que significa que su objeto está seguro de no ser editado, pero permite que se lea tantas veces como sea necesario.

### **Amazon Macie**

Hablaremos mucho más sobre **Amazon Macie** en una futura publicación, pero **Macie** le permite descubrir y proteger datos confidenciales a escala.

**Macie** le proporciona automáticamente un inventario completo de sus **S3 Buckets** al escanearlos para categorizar los datos. Recibe hallazgos de seguridad procesables que enumeran cualquier dato que se ajuste a estos tipos de datos confidenciales, incluida **PII** (por ejemplo, nombres de clientes y números de tarjetas de crédito) y categorías definidas por las regulaciones de privacidad, tales como **GDPR** e **HIPAA**. Este nivel adicional le brinda una capa adicional fantástica en seguridad y cumplimiento.

### **Encriptación en trásito / en reposo**

**Amazon S3** es compatible con el cifrado del lado del servidor (con tres opciones de administración de claves: **SSE-KMS**, **SSE-C**, **SSE-S3**) y el cifrado del lado del cliente para las cargas de datos. **Amazon S3** ofrece características de seguridad flexibles para bloquear el acceso de usuarios no autorizados a sus datos.

Como señalamos en la publicación de blog de ayer, también puede usar los puntos finales de Gateway para asegurarse de que sus datos no pasen por la Internet pública.

### **AWS Trusted Advisor**

Volveremos a entrar en este servicio con mucho más detalle en una futura publicación, pero **Trusted Advisor** lo ayuda al inspeccionar algún **Buckets S3** que tienen acceso público y lo alienta a cambiarlos a un estado más privado.

Este es un breve vistazo a algunas de las diferentes formas en que puede implementar las mejores prácticas de seguridad en **S3**.

### **Referencias**

[Post original de Jack Lavelle](https://towardsaws.com/100daysofaws-day-13-s3-security-fundamentals-682823c054fb)
