Almacenamiento en la nube

La integración de almacenamiento en la nube permite almacenar los archivos adjuntos del chatter y del correo electrónico en la plataforma Google Cloud o Microsoft Azure en lugar del servidor de la base de datos.

El módulo se puede usar para evitar que se carguen y descarguen archivos grandes desde el servidor de una base de datos o cuando una base de datos requiere más almacenamiento de datos.

Nota

  • Los archivos generados por Odoo (por ejemplo, pedidos de venta) y los archivos de las aplicaciones Documentos/Firma electrónica siempre se almacenan en el servidor de la base de datos.

  • El límite de almacenamiento de una base de datos depende de su solución de alojamiento:

    • Odoo Online: 100 GB

    • Odoo.sh:

      • Alojamiento compartido: 512 GB

      • Alojamiento dedicado: 4 TB

    • On-premise: depende de la infraestructura que se use.

Google Cloud

Primero, regístrate e inicia sesión en Google Cloud.

Cuenta de servicio

  1. Abre la barra de navegación lateral en la consola de Google Cloud y luego ve a IAM y administración ‣ Cuentas de servicio ‣ Crear cuenta de servicio.

  2. Define un Nombre de cuenta de servicio, haz clic en Crear y continuar y luego en Listo.

    Creación de una cuenta de servicio de Google Cloud
  3. Anota el Correo electrónico de la cuenta de servicio, ya que se usará durante la configuración del bucket de almacenamiento en la nube.

  4. Haz clic en el botón (Acciones) y luego selecciona Administrar claves.

    Acceso a la acción "Administrar claves"
  5. Ve a Agregar clave ‣ Crear clave nueva, selecciona JSON como Tipo de clave y haz clic en Crear. Guarda de forma segura el archivo JSON descargado que contiene la clave. Se usará al configurar Odoo.

    Creación de una clave JSON de la cuenta de servicio de Google Cloud

Bucket de almacenamiento en la nube

  1. Abre la barra de navegación lateral en la consola de Google Cloud y luego ve a Cloud Storage ‣ Buckets ‣ Crear.

  2. Introduce un nombre de bucket siguiendo las directrices de nomenclatura de buckets y anótalo, ya que se utilizará al configurar Odoo.

  3. Configura el bucket como desees y haz clic en Crear cuando termines.

    Crear un bucket
  4. Haz clic en el botón (Más acciones) y luego selecciona Editar acceso.

    Acceder a la acción "Editar acceso" de un bucket de almacenamiento de Google Cloud
  5. Haz clic en Agregar principal y pega el correo electrónico de la cuenta de servicio en el campo Nuevos principales.

  6. Selecciona Administrador de Storage como Rol en la sección Cloud Storage y haz clic en Guardar.

    Agregar un principal a un bucket de almacenamiento de Google Cloud

Configuración en Odoo

  1. Instala el módulo Cloud Storage Google.

  2. Abre la aplicación Ajustes y selecciona Almacenamiento en la nube en la barra de navegación lateral.

  3. Selecciona Google Cloud Storage como el Proveedor de almacenamiento en la nube para nuevos adjuntos.

  4. Introduce el Nombre del bucket de Google como se estableció anteriormente.

  5. Haz clic en Subir tu archivo junto a Clave de cuenta de servicio de Google y selecciona el archivo JSON descargado.

  6. Establece un Tamaño mínimo de archivo (bytes) para que los adjuntos se almacenen en Google Cloud.

Microsoft Azure

Primero, regístrate e inicia sesión en Microsoft Azure.

Registro de aplicación

  1. En el portal de Microsoft Azure, busca el servicio Registros de aplicaciones y ábrelo.

  2. Haz clic en New registration, introduce un Name de aplicación, selecciona Accounts in any organizational directory (Any Microsoft Entra ID tenant - Multitenant) en Supported account types y haz clic en Register.

    Registrar una aplicación de Microsoft Azure
  3. Anota el Application (client) ID y el Directory (tenant) ID, ya que se usarán al configurar Odoo.

  4. Haz clic en Add a certificate or secret junto a Client credentials, haz clic en New client secret y luego en Add.

    Importante

    Por motivos de seguridad, deja el campo Expires en 180 days (6 months) o elige un intervalo de caducidad más corto. Antes de que caduque el secreto, es necesario agregar un nuevo secreto de cliente y actualizar la configuración de Odoo con el nuevo valor.

  5. Copia el Value del secreto de cliente y guárdalo de forma segura. Se usará al configurar Odoo.

    Agregar un secreto a una aplicación de Microsoft Azure

Cuenta de almacenamiento

  1. Busca el servicio Storage accounts, ábrelo y haz clic en Create.

  2. Haz clic en Create new debajo del campo Resource group, introduce un Name y haz clic en OK.

  3. Introduce un Storage account name único y anótalo, ya que se usará al configurar Odoo.

  4. Configura la cuenta de almacenamiento como desees y, cuando termines, haz clic en Review + create y luego en Create.

    Crear una cuenta de almacenamiento de Microsoft Azure

Contenedor

  1. Abre tu recurso de cuenta de almacenamiento, por ejemplo buscándolo por su nombre, y selecciona Containers en Data storage en la barra de navegación lateral.

  2. Introduce un Name, anótalo ya que se usará al configurar Odoo, y haz clic en Create.

    Crear un contenedor de almacenamiento de Microsoft Azure

Uso compartido de recursos

  1. Selecciona Resource sharing (CORS) en Settings en la barra de navegación lateral de la cuenta de almacenamiento.

  2. Crea una primera regla de servicio blob CORS:

    • Orígenes permitidos: *

    • Métodos permitidos: GET

    • Encabezados permitidos: Content-Type

    • Encabezados expuestos: Content-Type

    • Edad máxima: 0

  3. Crea una segunda regla de servicio de blob CORS y haz clic en Guardar:

    • Orígenes permitidos: *

    • Métodos permitidos: PUT

    • Encabezados permitidos: content-type,x-ms-blob-type

    • Encabezados expuestos: content-type,x-ms-blob-type

    • Edad máxima: 0

    Crear reglas CORS de cuenta de almacenamiento de Microsoft Azure

Asignación de rol

  1. Selecciona Control de acceso (IAM) en la barra lateral de navegación de la cuenta de almacenamiento, luego haz clic en Agregar y selecciona Agregar asignación de rol.

  2. Busca Colaborador de datos de blobs de almacenamiento y haz clic en Siguiente.

    Nota

    Para eliminar el permiso delete innecesario, crea un rol personalizado y busca el nombre del rol personalizado en su lugar.

  3. Haz clic en Seleccionar miembros, introduce el nombre de la aplicación registrada anteriormente, selecciónala y haz clic en Seleccionar.

  4. Haz clic en Revisar y asignar dos veces.

    Agregar un miembro a un contenedor
Rol personalizado

Nota

Este paso es opcional. Sin embargo, eliminar el permiso delete evitaría que cualquiera que logre acceder a las credenciales del almacenamiento en la nube pueda eliminar archivos.

  1. Abre tu recurso de suscripción, por ejemplo buscando su nombre, selecciona Control de acceso (IAM) en la barra lateral de navegación, haz clic en Agregar y selecciona Agregar rol personalizado.

  2. Selecciona la pestaña JSON y haz clic en Editar. Copia el código siguiente, añade tu subscription-id bajo assignableScopes y cambia el roleName (Custom role) si lo deseas, pégalo y haz clic en Guardar.

{
    "properties": {
        "roleName": "Custom role",
        "description": "",
        "assignableScopes": [
            "/subscriptions/subscription-id"
        ],
        "permissions": [
            {
                "actions": ["Microsoft.Storage/storageAccounts/blobServices/generateUserDelegationKey/action"],
                "notActions": [],
                "dataActions": ["Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read", "Microsoft.Storage/storageAccounts/blobServices/containers/blobs/add/action"],
                "notDataActions": []
            }
        ]
    }
}

Configuración en Odoo

  1. Instala el módulo Cloud Storage Azure.

  2. Abre la aplicación Ajustes y selecciona Almacenamiento en la nube en la barra de navegación lateral.

  3. Selecciona Azure Cloud Azure como Proveedor de almacenamiento en la nube para nuevos archivos adjuntos.

  4. Introduce:

  5. Establece un Tamaño mínimo de archivo (bytes) para que los archivos adjuntos se almacenen en Microsoft Azure.