Stocare în cloud

Integrarea stocării în cloud permite stocarea chatter și atașamentelor de e-mail pe platforma Google Cloud sau Microsoft Azure în locul serverului bazei de date.

Modulul poate fi folosit pentru a preveni încărcarea și descărcarea fișierelor mari de pe serverul bazei de date sau când o bază de date necesită mai mult spațiu de stocare.

Notă

  • Fișierele generate de Odoo (de ex. PDF-ul comenzilor de vânzare) sunt întotdeauna stocate pe serverul bazei de date.

  • Limita de stocare a unei baze de date depinde de soluția sa de găzduire și de infrastructura existentă.

Google Cloud

Primul pas, înregistrați-vă și conectați-vă la Google Cloud.

Contul de serviciu

  1. Deschideți bara laterală de navigare pe consola Google Cloud, apoi mergeți la IAM & Admin ‣ Service Accounts ‣ Create service account.

  2. Definiți un Nume cont de serviciu, faceți clic pe Create and continue, apoi pe Done.

    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. Notați E-mailul contului de serviciu deoarece va fi folosit în timpul configurării bucket-ului de stocare în cloud.

  4. Faceți clic pe butonul (Actions), apoi selectați Manage keys.

    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. Mergeți la Add key ‣ Create new key, selectați JSON ca Tip cheie și faceți clic pe Create. Stocați în siguranță fișierul JSON descărcat care conține cheia. Va fi folosit când configurați 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-ul de stocare în cloud

  1. Deschideți bara laterală de navigare pe consola Google Cloud, apoi mergeți la Cloud Storage ‣ Buckets ‣ Create.

  2. Introduceți un nume de bucket urmând ghidul de denumire bucket și notați-l deoarece va fi folosit când configurați Odoo.

  3. Configurați bucket-ul după cum doriți și faceți clic pe Create când ați terminat.

    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. Faceți clic pe butonul (More actions), apoi selectați Edit access.

    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. Faceți clic pe Add principal și lipiți e-mailul contului de serviciu în câmpul New principals.

  6. Selectați Storage Admin ca Role în secțiunea Cloud Storage și faceți clic pe Save.

    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.

Configurație Odoo

  1. Instalați modulul Cloud Storage Google.

  2. Deschideți aplicația Settings și selectați Cloud Storage din bara laterală de navigare.

  3. Selectați Google Cloud Storage ca Furnizor de Stocare în Cloud pentru atașamente noi.

  4. Introduceți Numele Bucket-ului Google conform setat anterior.

  5. Faceți clic pe Upload your file lângă Google Service Account Key și selectați fișierul JSON descărcat.

  6. Setați o Dimensiune Minimă a Fișierului (octeți) pentru ca atașamentele să fie stocate pe 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

Primul pas, înregistrați-vă și conectați-vă la Microsoft Azure.

Înregistrarea aplicației

  1. Pe portalul Microsoft Azure, căutați serviciul App registrations și deschideți-l.

  2. Faceți clic pe New registration, introduceți un Nume aplicație, selectați Accounts in any organizational directory (Any Microsoft Entra ID tenant - Multitenant) sub Supported account types și faceți clic pe Register.

    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. Notați Application (client) ID și Directory (tenant) ID deoarece vor fi folosite când configurați Odoo.

  4. Faceți clic pe Add a certificate or secret lângă Client credentials, faceți clic pe New client secret, apoi pe Add.

    Important

    Din motive de securitate, lăsați câmpul Expires pe 180 de zile (6 luni) sau alegeți un interval de expirare mai scurt. Înainte ca secretul să expire, este necesar să adăugați un nou secret de client și să actualizați configurația Odoo cu noua valoare.

  5. Copiați Value secretului client și stocați-l în siguranță. Va fi folosit când configurați 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.

Contul de stocare

  1. Căutați serviciul Storage accounts, deschideți-l și faceți clic pe Create.

  2. Faceți clic pe Create new sub câmpul Resource group, introduceți un Nume și faceți clic pe OK.

  3. Introduceți un Nume cont de stocare unic și notați-l, deoarece va fi folosit la configurarea Odoo.

  4. Configurați contul de stocare după dorință și, când ați terminat, faceți clic pe Review + create, apoi pe Create.

    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.

Container

  1. Deschideți resursa contului de stocare, de exemplu căutând după numele său, și selectați Containers din secțiunea Data storage în bara de navigare laterală.

  2. Introduceți un Nume, notați-l deoarece va fi folosit la configurarea Odoo, și faceți clic pe Create.

    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.

Partajarea resurselor

  1. Selectați Partajare resurse (CORS) din Setări în bara laterală de navigare a contului de stocare.

  2. Creați prima regulă CORS pentru serviciul blob:

    • Origini permise: *

    • Metode permise: GET

    • Anteturi permise: Content-Type

    • Anteturi expuse: Content-Type

    • Durată maximă: 0

  3. Creați a doua regulă CORS pentru serviciul blob și faceți clic pe Salvează:

    • Origini permise: *

    • Metode permise: PUT

    • Anteturi permise: content-type,x-ms-blob-type

    • Anteturi expuse: content-type,x-ms-blob-type

    • Durată maximă: 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.

Atribuirea rolului

  1. Selectați Control acces (IAM) din bara laterală de navigare a contului de stocare, apoi faceți clic pe Adaugă și selectați Adaugă atribuirea rolului.

  2. Căutați Storage Blobs Data Contributor și faceți clic pe Next.

    Notă

    Pentru a elimina permisiunea delete inutilă, creați un rol personalizat și căutați numele rolului personalizat.

  3. Faceți clic pe Selectează membri, introduceți numele aplicației înregistrate anterior, selectați-o și faceți clic pe Selectează.

  4. Faceți clic de două ori pe Revizuiește + atribuie.

    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 personalizat

Notă

Acest pas este opțional. Totuși, eliminarea permisiunii delete ar preveni ca oricine are acces la datele de autentificare ale stocării în cloud să poată șterge fișiere.

  1. Deschideți resursa de abonament, de exemplu căutând după nume, selectați Control acces (IAM) în bara laterală de navigare, faceți clic pe Adaugă și selectați Adaugă rol personalizat.

  2. Selectați fila JSON și faceți clic pe Editare. Copiați codul de mai jos, adăugați subscription-id la assignableScopes și schimbați roleName (Rol personalizat) dacă doriți, inserați-l și faceți clic pe Salvează.

{
    "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": []
            }
        ]
    }
}

Configurație Odoo

  1. Instalați modulul Cloud Storage Azure.

  2. Deschideți aplicația Settings și selectați Cloud Storage din bara laterală de navigare.

  3. Selectați Stocare în cloud Azure ca Furnizor de stocare în cloud pentru atașamente noi.

  4. Introduceți:

  5. Setați o Minimum File Size (bytes) pentru atașamentele care să fie stocate pe Microsoft Azure.