Almacenamiento en la nube

La integración de almacenamiento en la nube permite guardar el chatter y los archivos adjuntos de 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 suban o descarguen archivos grandes del servidor de la base de datos, o cuando una base de datos necesita más espacio de almacenamiento.

Nota

  • Los archivos generados por Odoo (por ejemplo, el PDF de los pedidos de venta) 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 y de la infraestructura implementada.

Google Cloud

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

Cuenta de servicio

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

  2. Defina un Nombre de la cuenta de servicio, haga clic en Crear y continuar y luego en Listo.

    screenshot: general-cloud-storage-google-service-account
    menu
    (Google Cloud console) ‣ IAM & Admin ‣ Service Accounts ‣ Create service account
    shows
    The service account creation form with name and ID, and the Done button.
    module
    cloud_storage_google
    notes
    Cloud provider website; blur IDs and secrets.
  3. Anote 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. Haga clic en el botón (Acciones) y luego seleccione Gestionar claves.

    screenshot: general-cloud-storage-google-manage-keys
    menu
    (Google Cloud console) ‣ IAM & Admin ‣ Service Accounts
    shows
    The service account list with the Actions menu open and "Manage keys" highlighted.
    module
    cloud_storage_google
    notes
    Cloud provider website; blur IDs and secrets.
  5. Vaya a Agregar clave ‣ Crear nueva clave, seleccione JSON como Tipo de clave y haga clic en Crear. Guarde el archivo JSON descargado que contiene la clave en un lugar seguro. Se usará al configurar Odoo.

    screenshot: general-cloud-storage-google-create-key
    menu
    (Google Cloud console) ‣ Service Accounts ‣ (account) ‣ Keys ‣ Add key ‣ Create new key
    shows
    The "Create private key" dialog with JSON selected.
    module
    cloud_storage_google
    notes
    Cloud provider website; blur IDs and secrets.

Bucket de almacenamiento en la nube

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

  2. Ingrese un nombre de bucket según las pautas de nomenclatura de buckets y anótelo, ya que se usará al configurar Odoo.

  3. Configure el bucket como desee y, cuando termine, haga clic en Crear.

    screenshot: general-cloud-storage-google-create-bucket
    menu
    (Google Cloud console) ‣ Cloud Storage ‣ Buckets ‣ Create
    shows
    The bucket creation form with the bucket name and the Create button.
    module
    cloud_storage_google
    notes
    Cloud provider website; blur IDs and secrets.
  4. Haga clic en el botón (Más acciones) y luego seleccione Editar acceso.

    screenshot: general-cloud-storage-google-bucket-actions
    menu
    (Google Cloud console) ‣ Cloud Storage ‣ Buckets
    shows
    The bucket list with the More actions menu open and "Edit access" highlighted.
    module
    cloud_storage_google
    notes
    Cloud provider website; blur IDs and secrets.
  5. Haga clic en Agregar principal y pegue el correo electrónico de la cuenta de servicio en el campo Nuevos principales.

  6. Seleccione Storage Admin como Rol en la sección Cloud Storage y haga clic en Guardar.

    screenshot: general-cloud-storage-google-bucket-access
    menu
    (Google Cloud console) ‣ Cloud Storage ‣ (bucket) ‣ Edit access ‣ Add principal
    shows
    The "Grant access" panel with the service account email as new principal and the "Storage Object User" role.
    module
    cloud_storage_google
    notes
    Cloud provider website; blur IDs and secrets.

Configuración en Odoo

  1. Instale el módulo Cloud Storage Google.

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

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

  4. Ingrese el Nombre del bucket de Google que configuró anteriormente.

  5. Haga clic en Suba su archivo junto a Clave de cuenta de servicio de Google y seleccione el archivo JSON descargado.

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

screenshot: general-cloud-storage-google-odoo-settings
menu
Settings ‣ General Settings ‣ Cloud Storage
shows
The Cloud Storage section with "Google Cloud Storage" selected as provider, the Google Bucket Name, the uploaded Google Service Account Key, and the Minimum File Size.
module
cloud_storage, cloud_storage_google
notes
English UI, crop to the section; blur the key file name.

Microsoft Azure

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

Registro de la aplicación

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

  2. Haga clic en Nuevo registro, ingrese un Nombre para la aplicación, seleccione Cuentas en cualquier directorio organizativo (cualquier inquilino de Microsoft Entra ID - Multiinquilino) en Tipos de cuenta admitidos y haga clic en Registrar.

    screenshot: general-cloud-storage-azure-app-registration
    menu
    (Azure portal) ‣ App registrations ‣ New registration
    shows
    The app registration form with name and "Supported account types".
    module
    cloud_storage_azure
    notes
    Cloud provider website; blur IDs and secrets.
  3. Anote el ID de la aplicación (cliente) y el ID del directorio (inquilino), ya que se usarán al configurar Odoo.

  4. Haga clic en Agregar un certificado o secreto junto a Credenciales de cliente, haga clic en Nuevo secreto de cliente y luego en Agregar.

    Importante

    Por motivos de seguridad, deje el campo Expira en 180 días (6 meses) o elija un intervalo de expiración más corto. Antes de que el secreto expire, es necesario agregar un nuevo secreto de cliente y actualizar la configuración de Odoo con el nuevo valor.

  5. Copie el Valor del secreto de cliente y guárdelo de forma segura. Se usará al configurar Odoo.

    screenshot: general-cloud-storage-azure-client-secret
    menu
    (Azure portal) ‣ App registrations ‣ (app) ‣ Certificates & secrets ‣ New client secret
    shows
    The "Add a client secret" panel and the resulting secret Value.
    module
    cloud_storage_azure
    notes
    Cloud provider website; blur IDs and secrets.

Cuenta de almacenamiento

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

  2. Haga clic en Crear nuevo debajo del campo Grupo de recursos, ingrese un Nombre y haga clic en Aceptar.

  3. Ingrese un Nombre de cuenta de almacenamiento único y anótelo, ya que se usará al configurar Odoo.

  4. Configure la cuenta de almacenamiento como desee y, al terminar, haga clic en Revisar y crear y luego en Crear.

    screenshot: general-cloud-storage-azure-storage-account
    menu
    (Azure portal) ‣ Storage accounts ‣ Create
    shows
    The storage account creation form (subscription, resource group, name, region).
    module
    cloud_storage_azure
    notes
    Cloud provider website; blur IDs and secrets.

Contenedor

  1. Abra el recurso de su cuenta de almacenamiento, por ejemplo, buscando su nombre, y seleccione Contenedores en Almacenamiento de datos en la barra de navegación lateral.

  2. Ingrese un Nombre, anótelo, ya que se usará al configurar Odoo, y haga clic en Crear.

    screenshot: general-cloud-storage-azure-container
    menu
    (Azure portal) ‣ Storage accounts ‣ (account) ‣ Containers ‣ + Container
    shows
    The "New container" panel with the container name.
    module
    cloud_storage_azure
    notes
    Cloud provider website; blur IDs and secrets.

Uso compartido de recursos

  1. Seleccione Uso compartido de recursos (CORS) en Configuración en la barra de navegación lateral de la cuenta de almacenamiento.

  2. Cree una primera regla del servicio de blobs CORS:

    • Orígenes permitidos: *

    • Métodos permitidos: GET

    • Encabezados permitidos: Content-Type

    • Encabezados expuestos: Content-Type

    • Antigüedad máxima: 0

  3. Cree una segunda regla del servicio de blobs CORS y haga 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

    • Antigüedad máxima: 0

    screenshot: general-cloud-storage-azure-cors
    menu
    (Azure portal) ‣ Storage accounts ‣ (account) ‣ Resource sharing (CORS)
    shows
    The Blob service CORS rules with allowed origins, methods, headers and max age as described in the text.
    module
    cloud_storage_azure
    notes
    Cloud provider website; blur IDs and secrets.

Asignación de roles

  1. Seleccione Control de acceso (IAM) en la barra de navegación lateral de la cuenta de almacenamiento, haga clic en Agregar y seleccione Agregar asignación de roles.

  2. Busque Storage Blobs Data Contributor y haga clic en Siguiente.

    Nota

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

  3. Haga clic en Seleccionar miembros, ingrese el nombre de la aplicación registrada anteriormente, selecciónela y haga clic en Seleccionar.

  4. Haga clic en Revisar y asignar dos veces.

    screenshot: general-cloud-storage-azure-role-assignment
    menu
    (Azure portal) ‣ Storage accounts ‣ (account) ‣ Access control (IAM) ‣ Add role assignment
    shows
    The Members tab with the registered app selected, before "Review + assign".
    module
    cloud_storage_azure
    notes
    Cloud provider website; blur IDs and secrets.
Rol personalizado

Nota

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

  1. Abra el recurso de su suscripción, por ejemplo, buscando su nombre, seleccione Control de acceso (IAM) en la barra de navegación lateral, haga clic en Agregar y seleccione Agregar rol personalizado.

  2. Seleccione la pestaña JSON y haga clic en Editar. Copie el siguiente código, agregue su subscription-id en assignableScopes y cambie el roleName (Custom role) si lo desea, péguelo 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 Cloud Storage Azure.

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

  3. Seleccione Azure Cloud Storage como Proveedor de almacenamiento en la nube para nuevos adjuntos.

  4. Ingrese:

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