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¶
Abra la barra de navegación lateral en la consola de Google Cloud y luego vaya a .
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.
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.
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.
Vaya a , 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¶
Abra la barra de navegación lateral en la consola de Google Cloud y luego vaya a .
Ingrese un nombre de bucket según las pautas de nomenclatura de buckets y anótelo, ya que se usará al configurar Odoo.
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.
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.
Haga clic en Agregar principal y pegue el correo electrónico de la cuenta de servicio en el campo Nuevos principales.
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¶
Instale el módulo Cloud Storage Google.
Abra la aplicación Ajustes y seleccione Almacenamiento en la nube en la barra de navegación lateral.
Seleccione Google Cloud Storage como Proveedor de almacenamiento en la nube para nuevos archivos adjuntos.
Ingrese el Nombre del bucket de Google que configuró anteriormente.
Haga clic en Suba su archivo junto a Clave de cuenta de servicio de Google y seleccione el archivo JSON descargado.
Establezca un Tamaño mínimo de archivo (bytes) para que los archivos adjuntos se almacenen en Google Cloud.
- 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¶
En el portal de Microsoft Azure, busque el servicio Registros de aplicaciones y ábralo.
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.
Anote el ID de la aplicación (cliente) y el ID del directorio (inquilino), ya que se usarán al configurar Odoo.
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.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¶
Busque el servicio Cuentas de almacenamiento, ábralo y haga clic en Crear.
Haga clic en Crear nuevo debajo del campo Grupo de recursos, ingrese un Nombre y haga clic en Aceptar.
Ingrese un Nombre de cuenta de almacenamiento único y anótelo, ya que se usará al configurar Odoo.
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¶
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.
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¶
Seleccione Uso compartido de recursos (CORS) en Configuración en la barra de navegación lateral de la cuenta de almacenamiento.
Cree una primera regla del servicio de blobs CORS:
Orígenes permitidos:
*Métodos permitidos:
GETEncabezados permitidos:
Content-TypeEncabezados expuestos:
Content-TypeAntigüedad máxima:
0
Cree una segunda regla del servicio de blobs CORS y haga clic en Guardar:
Orígenes permitidos:
*Métodos permitidos:
PUTEncabezados permitidos:
content-type,x-ms-blob-typeEncabezados expuestos:
content-type,x-ms-blob-typeAntigü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¶
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.
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.Haga clic en Seleccionar miembros, ingrese el nombre de la aplicación registrada anteriormente, selecciónela y haga clic en Seleccionar.
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.
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.
Seleccione la pestaña JSON y haga clic en Editar. Copie el siguiente código, agregue su
subscription-idenassignableScopesy cambie elroleName(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¶
Instale el módulo Cloud Storage Azure.
Abra la aplicación Ajustes y seleccione Almacenamiento en la nube en la barra de navegación lateral.
Seleccione Azure Cloud Storage como Proveedor de almacenamiento en la nube para nuevos adjuntos.
Ingrese:
el nombre de la cuenta de almacenamiento en el campo Nombre de cuenta de Azure;
el nombre del contenedor en el campo Nombre de contenedor de Azure;
el ID del directorio (inquilino) en el campo ID de inquilino de Azure;
el ID de la aplicación (cliente) en el campo ID de cliente de Azure; y
el valor del secreto de cliente en el campo Secreto de cliente de Azure.
Establezca un Tamaño mínimo de archivo (bytes) para que los archivos adjuntos se almacenen en Microsoft Azure.