94
Amazon Simple Storage Service (S3) es una popular solución de almacenamiento proporcionada por Amazon Web Services (AWS) que permite a los usuarios almacenar y recuperar grandes cantidades de datos. Al usar S3, es fundamental asegurarse de que el acceso a sus depósitos de S3 se controle correctamente para mantener la seguridad y la privacidad de sus datos.
Una forma de lograrlo es mediante la política de depósito de AWS S3. En esta publicación de blog, exploraremos cómo controlar el acceso a los depósitos de S3 mediante políticas de depósitos de S3 basadas en grupos y en recursos.
Crear un depósito sin acceso público
Antes de configurar los controles de acceso, comencemos creando un depósito S3 sin acceso público. De manera predeterminada, cuando crea un depósito S3, es privado e inaccesible para el público. Sin embargo, es crucial verificar que su depósito no tenga configuraciones de acceso público. Para crear un depósito privado, siga estos pasos:
- Inicie sesión en su Consola de administración de AWS usando tu raíz usuario.
- Navegue hasta el servicio Amazon S3.
- Clickea en el «Crear cubo» botón.
- Proporcione un nombre de depósito único y seleccione la región de AWS.
- Deje todas las configuraciones predeterminadas intactas, asegurándose de que “Bloquear todo el acceso público» está habilitado.
- Complete el proceso de creación del depósito haciendo clic en «Crear cubo» botón.
Con esta configuración, tenemos un depósito S3 privado, lo que garantiza que los usuarios no autorizados no puedan acceder a su contenido.
Crear un usuario de IAM sin permisos
Para demostrar la efectividad de las políticas de depósito de S3 para controlar el acceso, creemos un usuario de IAM sin permisos. IAM (Administración de identidad y acceso) es un servicio proporcionado por AWS que le permite administrar el acceso de los usuarios a varios recursos de AWS.
Al crear un usuario sin permisos, podemos mostrar cómo las políticas de depósito de S3 anulan los permisos de IAM para otorgar acceso a recursos específicos.
Para crear un usuario de IAM sin permisos, siga estos pasos:
- Navegue hasta el servicio IAM en la Consola de administración de AWS.
- Haga clic en «Usuarios» y luego «Agregar usuarios.”
- Proporcione un nombre para el usuario, marque la casilla «Proporcionar acceso de usuario a la Consola de administración de AWS” y seleccione la casilla “Quiero crear un usuario de IAM” opción como el tipo de usuario.
- Especifica el contraseña personalizada y haga clic Próximo.
- Omita el paso de configuración de permisos y haga clic en Próximo.
- Haga clic en «Crear usuario» bajo la «Revisar y crear» paso.
- Una vez creado el usuario, anote el URL de inicio de sesión de la consola y Contraseña de la consola. Usaremos estas credenciales para probar las políticas del depósito más adelante.
- Además, anote el ARN del usuario de IAM. Lo necesitará cuando asigne la política de depósito de S3.
- Abra una nueva pestaña privada o de incógnito en su navegador y vaya a la URL de inicio de sesión de la consola en el paso anterior.
- Inicie sesión como usuario de IAM ingresando el nombre de usuario y la contraseña de IAM. El ID de la cuenta ya está rellenado previamente.
- Navegue a los cubos S3 y verá un cartel rojo que dice: «No tienes permisos para enumerar segmentos.”
Este mensaje confirma que el depósito de S3 es privado y nadie más puede acceder a él, excepto el usuario que lo creó.
Método 1: Política de depósito de S3 basada en grupos (IAM)
La asignación de permisos a través de políticas es más manejable con grupos en lugar de por usuario. Sin embargo, no puede aplicar directamente una política de depósito de S3 a un grupo porque un grupo no está categorizado como principal.
Para implementar una política de depósito de S3 basada en grupos, debemos crear un grupo y una política personalizada en línea adjunta a él.
Crear un grupo de usuarios de IAM
En este ejemplo, crearemos un grupo llamado grupo de demostración s3. El s3-demo-usuario El usuario de IAM será miembro de este grupo.
- En la consola de IAM, haga clic en Grupos de usuarios → Crear grupo.
- Ingrese el nombre del grupo, seleccione los usuarios para agregar y haga clic en Crea un grupo.
Cree una política de depósito de S3 en línea para ver la lista de depósitos
Una vez que se crea el grupo, vamos a crear una política en línea para permitir que sus miembros enumeren los depósitos de S3.
- Haz clic en el nuevo grupo que creaste.
- Hacer clic permisos → Agregar permisos → Crear política en línea.
- Haga clic en el JSON para mostrar el editor JSON y pegue el siguiente código:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowListMyBuckets", "Effect": "Allow", "Action": "s3:ListAllMyBuckets", "Resource": "*" } ] }
- Hacer clic Próximo.
- Introduzca el nombre de la política y haga clic en Crear política.
La política ha sido creada.
- Vuelva a su usuario de IAM y vaya a la consola de depósitos de S3. El usuario de IAM ahora puede enumerar los depósitos de S3. Verá que el usuario tiene «Permisos insuficientes», lo que se espera.
Cree una política de depósito S3 en línea con permisos de lectura y escritura
En este paso, crearemos otra política de depósito de S3 en línea que permita a los usuarios leer y escribir en el depósito de S3 y sus objetos.
- Hacer clic permisos → Agregar permisos → Crear política en línea.
- Haga clic en el JSON para mostrar el editor JSON y pegue el siguiente código:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowReadWrite", "Effect": "Allow", "Action": [ "s3:PutObject", "s3:GetObjectAcl", "s3:GetObject", "s3:ListBucket", "s3:PutObjectAcl" ], "Resource": [ "arn:aws:s3:::pvtbucket0713", "arn:aws:s3:::pvtbucket0713/*" ] } ] }
- Reemplazar pvtbucket0713 con el nombre de su depósito S3 y haga clic en Próximo.
- Introduzca el nombre de la política y haga clic en Crear política.
Se ha creado la política de depósito S3 en línea.
Método 2: Política de depósito de S3 basada en recursos
Este método creará la política de depósito de S3 directamente en el depósito de S3, no como una política de IAM. Las políticas de depósito solo aceptan entidades principales válidas, lo que significa que los grupos no se pueden usar para permisos basados en recursos.
Asigne el permiso ListMyBuckets al usuario de IAM
- En la consola de IAM, seleccione el usuario de IAM.
- Hacer clic Permisos → Agregar permisos → Crear política en línea.
- Haga clic en JSON para abrir el editor de políticas JSON y pegue el siguiente código:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowListAllMyBuckets", "Effect": "Allow", "Action": "s3:ListAllMyBuckets", "Resource": "*" } ] }
- Después de pegar el código, haga clic en Próximo.
- Introduzca el nombre de la política y haga clic en Crear política.
Ya agregó el permiso ListAllMyBuckets al usuario de IAM.
Agregar una política de depósito de S3 basada en recursos con permisos de lectura y escritura
- Navegue a la consola de S3, seleccione el depósito de S3 y haga clic en permisos.
- Desplácese hacia abajo hasta el Política de depósitos sección y haga clic en Editar.
- Pegue el siguiente código en el editor de políticas. Esta política permite al usuario de IAM enumerar el depósito y sus objetos y leer y escribir objetos.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowListReadWrite", "Principal": { "AWS": "arn:aws:iam::679743624295:user/s3-demo-user" }, "Effect": "Allow", "Action": [ "s3:ListBucket", "s3:GetObject", "s3:GetObjectAcl", "s3:PutObject", "s3:PutObjectAcl" ], "Resource": [ "arn:aws:s3:::pvtbucket0713", "arn:aws:s3:::pvtbucket0713/*" ] } ] }
- Reemplazar «arn:aws:iam::679743624295:user/s3-demo-user” con el ARN de su usuario de IAM.
- Reemplazar pvtbucket0713 con el nombre de su depósito S3.
- Desplácese hasta la parte inferior y haga clic en Guardar cambios.
La nueva política de depósito de S3 se guardará correctamente si todo va bien.
Probar la política de depósito de S3
Vuelva a su usuario de IAM, vaya a la consola de depósitos de S3 y abra el depósito de S3. Como era de esperar, el depósito aún no tiene objetos.
- Como era de esperar, el depósito aún no tiene objetos. Hacer clic Subir.
- Arrastrar y soltar archivos o haga clic Agregar archivos o Agregar carpeta.
- Una vez que haya agregado todos los archivos y carpetas, haga clic en Subir.
- Si todo va bien, el archivo se cargará y verá una confirmación similar a la captura de pantalla a continuación. Hacer clic Cerca.
Ha subido correctamente un archivo con permisos de la política de depósito de S3.
Conclusión
Controlar el acceso a sus depósitos S3 es un aspecto crucial para mantener la seguridad y la integridad de sus datos. Las políticas de depósito de AWS S3 proporcionan un mecanismo eficaz para controlar el acceso y anular los permisos de IAM cuando sea necesario.
Al aprovechar las políticas de depósito de S3 en línea basadas en grupos o las políticas de depósito de S3 basadas en recursos, puede aplicar controles de acceso granulares y asegurarse de que solo las entidades autorizadas puedan interactuar con sus depósitos de S3.
Revise y actualice periódicamente sus políticas de acceso a medida que evolucionan sus requisitos para mantener sus datos seguros y protegidos.