Catch up on everything announced at Firebase Summit, and learn how Firebase can help you accelerate app development and run your app with confidence. Learn More

Comprender las reglas de seguridad de Firebase para el almacenamiento en la nube

Organiza tus páginas con colecciones Guarda y categoriza el contenido según tus preferencias.

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.