Almacenamiento en la nube

La integración de almacenamiento en la nube le permite almacenar los archivos adjuntos que se envíen al chatter y correo electrónico en las plataformas Google Cloud o Microsoft Azure y no en el servidor de la base de datos.

Puede usar este módulo para evitar que se suban o descarguen archivos demasiado grandes de o a la base de datos, o cuando una base de datos necesita más espacio de almacenamiento.

Nota

  • Los archivos que genere Odoo (como órdenes de venta) y los archivos de las aplicaciones Documentos y Firma electrónica siempre se almacenarán en el servidor de la base de datos.

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

    • Odoo en línea: 100 GB

    • Odoo.sh:

      • Alojamiento compartido: 512 GB

      • Alojamiento dedicado: 4 TB

    • Local: dependerá de la infraestructura que se use

Google Cloud

Primero, regístrese e inicie sesión en Google Cloud.

Cuenta de servicio

  1. Abra la barra lateral de navegación en la consola de Google Cloud y después vaya a IAM & Admin (IAM y administración) ‣ Service Accounts (Cuentas de servicio) ‣ Create service account (Crear una cuenta de servicio).

  2. Ingrese un Service account name (Nombre de la cuenta de servicio), haga clic en Create and continue (Crear y continuar) y después haga clic en Done (Hecho).

    Captura de pantalla de la creación de una cuenta de servicio de Google Cloud.
  3. Guarde el Correo electrónico de la cuenta de servicio, ya que se usará durante la configuración del bucket de Cloud Storage.

  4. Haga clic en el botón (Acciones) y después seleccione Manage keys (gestionar claves).

    Captura de pantalla donde se muestra la acción "Gestionar claves"
  5. Vaya a Add key (agregar clave) ‣ Create new key (crear nueva clave) y en el campo Key type (tipo de clave) seleccione JSON antes de hacer clic en Create (crear). Guarde el archivo JSON que se descargó con la clave en un lugar seguro pues se usará para realizar la configuración en Odoo.

    Captura de pantalla de la creación de una clave JSON para una cuenta de servicio de Google Cloud.

Bucket de Cloud Storage

  1. Abra la barra lateral de navegación en la consola Google Cloud y vaya a Cloud Storage ‣ Buckets ‣ Create (crear).

  2. Ingrese un nombre para el bucket que cumpla con los requisitos de nombramiento de buckets y apúntelo en algún lugar ya que lo usará cuando haga la configuración en Odoo.

  3. Haga las configuraciones que desee en el bucket y, cuando termine, haga clic en Crear.

    Captura de pantalla de la creación de un bucket.
  4. Haga clic en el botón (Más acciones) y después seleccione Edit access (Editar acceso).

    Captura de pantalla de la acción "Editar acceso" de un bucket de Google Cloud.
  5. Haga clic en Add principal (agregar principal) y, en el campo New principals (Principales nuevos), pegue el correo de la cuenta de servicio.

  6. En la sección Cloud Storage (Almacenamiento en la nube) baje al campo Role (rol), seleccione Storage Admin (administrador de almacenamiento) y haga clic en Save (guardar).

    Captura de pantalla del proceso par agregar un principal a un bucket de Google Cloud Storage.

Configuración en Odoo

  1. Instale el módulo Almacenamiento en Google Cloud.

  2. Abra la aplicación Ajustes y seleccione Almacenamiento en la nube en la barra lateral de navegación.

  3. Seleccione Cloud Storage de Google como el proveedor de almacenamiento en la nube para los nuevos archivos adjuntos.

  4. Ingrese el nombre del bucket de Google que estableció antes.

  5. Haga clic en Suba su archivo a un lado de Clave de la cuenta de servicios de Google y seleccione el archivo JSON que descargó.

  6. Establezca un Tamaño mínimo del archivo (bytes) para los archivos adjuntos que se almacenarán en Google Cloud.

Microsoft Azure

Primero, regístrese e inicie sesión en Microsoft Azure.

Registro en la aplicación

  1. En el portal de Microsoft Azure, busque el servicio Registros de aplicaciones y ábralo.

  2. Haga clic en Nuevo registro y escriba el nombre de la aplicación. En Tipos de cuenta admitidos seleccione Cuentas en cualquier directorio organizativo (cualquier inquilino de Microsoft Entra - Multitenant) y haga clic en Registrar.

    Captura de pantalla del registro de una aplicación de Microsoft Azure
  3. Apunte el identificador de la aplicación (cliente) y el identificador del directorio (inquilino) ya que usará estos datos para configurar Odoo.

  4. Seleccione Agregar un certificado o firma a un lado de credenciales del cliente, haga clic en Nuevo secreto de cliente y después en Agregar.

    Importante

    Por motivos de seguridad, configure el campo Expires (vence) en 180 días (6 meses) o seleccione un intervalo de expiración más corto. Antes de que el secreto venza deberá agregar un nuevo secreto de cliente y actualizar la configuración de Odoo con el nuevo valor.

  5. Copie el Valor del secreto del cliente y guárdelo en un lugar seguro. Esta información se usará para la configuración en Odoo.

    Captura de pantalla que muestra el proceso de agregar un secreto a una aplicación de Microsoft Azure

Cuenta de almacenamiento

  1. Busque el servicio Cuentas de almacenamiento, ábralo y haga clic en Crear.

  2. Abajo del campo Resource group (grupo de recursos) haga clic en Create new (crear nuevo), ingrese un nombre y haga clic en OK.

  3. Ingrese un nombre de cuenta de almacenamiento único y anótelo, pues usaremos esta información para realizar la configuración en Odoo.

  4. Configure la cuenta de almacenamiento como prefiera y, cuando termine, haga clic en Review + create (revisar + crear) y luego en Create (crear).

    Captura de pantalla de la creación de una cuenta de almacenamiento de Microsoft Azure.

Contenedor

  1. Abra el recurso de su cuenta de almacenamiento, para hacerlo puede buscar su nombre. En Almacenamiento de datos de la barra de navegación lateral seleccione Contenedores.

  2. Escriba un nombre y anótelo, ya que lo usará para configuración en Odoo. Haga clic en Create (crear).

    Captura de pantalla de la creación de un contenedor de almacenamiento de Microsoft Azure.

Compartir recursos

  1. Seleccione Resource sharing (CORS) (uso compartido de recursos) en los Ajustes que se encuentran en la barra lateral de navegación de la cuenta de almacenamiento.

  2. Cree una primera regla para el servicio blob de CORS:

    • Allowed origins (orígenes permitidos): *

    • Allowed methods (métodos permitidos): GET

    • Allowed headers (encabezados permitidos): Content-Type

    • Exposed headers (encabezados expuestos): Content-Type

    • Max age (edad máxima): 0

  3. Cree una segunda regla del servicio blob CORS y haga clic en Save (guardar):

    • Allowed origins (orígenes permitidos): *

    • Allowed methods (métodos permitidos): PUT

    • Allowed headers (encabezados permitidos): content-type,x-ms-blob-type

    • Exposed headers (encabezados expuestos): content-type,x-ms-blob-type

    • Max age (edad máxima): 0

    Captura de pantalla de la creación de reglas CORS para la cuenta de almacenamiento de Microsoft Azure.

Asignación de rol

  1. Seleccione Access control (IAM) (control de acceso) en la barra lateral de navegación de la cuenta de almacenamiento, haga clic en Agregar y seleccione Add role assignment (agregar asignación de rol).

  2. Busque Storage Blobs Data Contributor (contribuidor de datos de blobs de almacenamiento) y haga clic en Next siguiente.

    Nota

    Para quitar el permiso innecesario de delete (borrar), cree un rol personalizado and y en su lugar busque el nombre del rol personalizado.

  3. Haga clic en Select members (seleccionar miembros) e ingrese el nombre de la aplicación que registró antes, selecciónela y haga clic en Select (seleccionar).

  4. Haga clic en Review + assign (revisar y asignar) dos veces.

    Captura de pantalla donde se muestra el proceso de agregar un miembro a un contenedor.
Rol personalizado

Nota

Este paso es opcional. Sin embargo, si quita el permiso delete (borrar) hará que las personas que gestionen el acceso a las credenciales del almacenamiento en la nube no puedan borrar archivos.

  1. Abra el recurso de su suscripción, para hacerlo puede buscarlo por el nombre), seleccione Access control (IAM) (control de acceso) en la barra lateral de navegación, haga clic en Add (agregar) y seleccione Add custom role (agregar rol personalizado).

  2. Seleccione la pestaña JSON y haga clic en Edit (editar). Copie el código de abajo, agregue su subscription-id en assignableScopes y cambie el roleName (Custom role) (nombre del rol y rol personalizado) si lo cree necesario, cópielo y haga 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. Instale el módulo Almacenamiento en la nube Azure.

  2. Abra la aplicación Ajustes y seleccione Almacenamiento en la nube en la barra lateral de navegación.

  3. Seleccione Almacenamiento en la nube Azure como el proveedor de almacenamiento en la nube para los nuevos archivos adjuntos.

  4. Ingrese:

  5. Establezca un Tamaño mínimo del archivo (bytes) para los archivos adjuntos que se almacenarán en Microsoft Azure.