IAM es identity y access management.
- Centralized access
- Shared access
- Granular permissions (por servicios)
- Federation (lo mismo que su windows AD, Facebook, etc)
- MFA
- Temporal access
- Password policies
- PCI compliant
No olvidarse que los usuarios nuevos no tienen permisos hay que asignarles una policy.
Un usuario puede tener un access key y un secret key para tener acceso en el CLI y el SDK
S3 es simple storage service
- Object based (key (nombre), value (bytes), version id -> como dropbox, metadata y subresources)
- Files de 0 a 5 tb
- Bucket es un folder
- El nombre es https://nombre.region.amazonaws.com por ejemplo https://mexicanpentester.eu-north.amazonaws.com
- No puedes usarlo para OS o para databases
- Puedes usar MFA delete
S3 Price es ridicula e insultantemente barato.
S3 versioning
- Guarda todos los archivos incluidos los borrados
- No puede ser desactivado, solo suspendido
- Puedes activar MFA para deletes
Lifecycle esta super cool, te deja mover archivos o versiones viejas de los archivos a otros pricing tiers o de plano eliminarlo después de x días.
S3 object lock es WORM (write once, read many)
Sirve para que una vez subido el archivo no lo puedas borrar por x tiempo.
- Governance mode, dependiendo del rol del usuario
- Compliance mode, nadie lo puede borrar hasta que expira el archivo
- Legal hole: es un mix de los de arriba pero es como un tag que le pones al archivo para que no se pueda borrar (como en azure)
- Puede ser para S3 y para S3 glacier. Pero con Glacier una vez que pones la policy no la puedes borrar
Performance
- Mientras más prefixes más rápido
- SSE KMS tiene limites de requests
- Puedes usar multipar uploads/downloads (no es opcional para archivos de más de 5 gb)
S3 Select te deja hacer SLQ antes de bajar los archivos
Sirve sobretodo cuando tienes cosas en zip y no quieres bajar, descomprimir y buscar.
r = s3.select_object_content( Bucket='jbarr-us-west-2', Key='sample-data/airportCodes.csv', ExpressionType='SQL', Expression="select * from s3object s where s.\"Country (Name)\" like '%United States%'", InputSerialization = {'CSV': {"FileHeaderInfo": "Use"}}, OutputSerialization = {'CSV': {}}, ) for event in r['Payload']: if 'Records' in event: records = event['Records']['Payload'].decode('utf-8') print(records) elif 'Stats' in event: statsDetails = event['Stats']['Details'] print("Stats details bytesScanned: ") print(statsDetails['BytesScanned']) print("Stats details bytesProcessed: ") print(statsDetails['BytesProcessed'])
S3 sharing across accounts
- Con bucket policies y IAM (programatic only)
- Buckets ACML y IAM (programatic only)
- Cross account IAM roles
AWS DataSync es un agent que se conecta a tu SMB o tu NFS para subir cosas.
Signed URLs y Cookies
- URLs un file
- Cookies muchos files
- EC2 usa cloufront S3 puede firmar por si mismo.
Storage Gateway
- File gateway se guarda en S3
- Volume gatwaway:
- Stored volumes para entire datasets. Toda la info esta on site y se sincroniza con la nube
- Cached volumes todo se guarda en S3 pero lo más accessed se cachea en sitio
- Virtual tape library. pues eso…
Athena S3 query por ejemplo para logs
Macie encuentra PII en tu S3