Tradicionalmente, la seguridad ha sido una de las partes más complejas del desarrollo de aplicaciones. En la mayoría de las aplicaciones, los desarrolladores deben crear y ejecutar un servidor que maneje la autenticación (quién es un usuario) y la autorización (lo que puede hacer un usuario). La autenticación y la autorización son difíciles de configurar, más difíciles de hacer correctamente y fundamentales para el éxito de su producto.
Al igual que Firebase Authentication le facilita la autenticación de sus usuarios, Firebase Security Rules for Cloud Storage le facilita la autorización de usuarios y la validación de solicitudes. Las reglas de seguridad de Cloud Storage administran la complejidad por usted al permitirle especificar permisos basados en rutas. Con solo unas pocas líneas de código, puede escribir reglas de autorización que restrinjan las solicitudes de Cloud Storage a un determinado usuario o limiten el tamaño de una carga.
Firebase Realtime Database tiene una característica similar, llamada Reglas de Firebase Realtime Database .
Autenticación
Saber quiénes son sus usuarios es una parte importante de la creación de una aplicación, y Firebase Authentication proporciona una solución de autenticación fácil de usar, segura y solo del lado del cliente. Las reglas de seguridad de Firebase para almacenamiento en la nube se relacionan con la autenticación de Firebase para la seguridad basada en el usuario. Cuando un usuario se autentica con Firebase Authentication, la variable request.auth
en las reglas de seguridad de Cloud Storage se convierte en un objeto que contiene el ID único del usuario ( request.auth.uid
) y toda la demás información del usuario en el token ( request.auth.token
) . Cuando el usuario no está autenticado, request.auth
es null
. Esto le permite controlar de forma segura el acceso a los datos por usuario. Puede obtener más información en la sección Autenticación .
Autorización
Identificar a su usuario es solo una parte de la seguridad. Una vez que sepa quiénes son, necesita una forma de controlar su acceso a los archivos en Cloud Storage.
Cloud Storage le permite especificar reglas de autorización por archivo y por ruta que viven en nuestros servidores y determinar el acceso a los archivos en su aplicación. Por ejemplo, las reglas de seguridad de almacenamiento en la nube predeterminadas requieren la autenticación de Firebase para realizar operaciones de read
o write
en todos los archivos:
service firebase.storage { match /b/{bucket}/o { match /{allPaths=**} { allow read, write: if request.auth != null; } } }
Puede editar estas reglas seleccionando una aplicación de Firebase en la consola de Firebase y viendo la pestaña Rules
de la sección Almacenamiento.
Validación de datos
Las reglas de seguridad de Firebase para almacenamiento en la nube también se pueden usar para la validación de datos, incluida la validación del nombre y la ruta del archivo, así como las propiedades de los metadatos del archivo, como el tipo de contentType
y el size
.
service firebase.storage { match /b/{bucket}/o { match /images/{imageId} { // Only allow uploads of any image file that's less than 5MB allow write: if request.resource.size < 5 * 1024 * 1024 && request.resource.contentType.matches('image/.*'); } } }
Próximos pasos
Comience a planificar el desarrollo de reglas para sus depósitos de Cloud Storage.
Obtenga más información sobre cómo proteger sus datos mediante reglas de seguridad.