ذخیره‌سازی ابری

ادغام cloud storage امکان ذخیرهٔ پیوست‌های چتر و ایمیل را روی پلتفرم Google Cloud یا Microsoft Azure به‌جای سرور پایگاه داده فراهم می‌کند.

این ماژول را می‌توان برای جلوگیری از آپلود و دانلود فایل‌های بزرگ به/از سرور پایگاه داده یا هنگامی که یک پایگاه داده به ذخیره‌سازی داده بیشتری نیاز دارد استفاده کرد.

توجه

  • فایل‌های تولیدشده توسط Odoo (مثلاً سفارش‌های فروش) و فایل‌های اپ Documents/Sign همیشه روی سرور پایگاه داده ذخیره می‌شوند.

  • محدودیت ذخیره‌سازی یک پایگاه داده به راه‌حل میزبانی آن بستگی دارد:

    • Odoo Online: ۱۰۰ گیگابایت

    • Odoo.sh:

      • میزبانی اشتراکی: 512 GB

      • میزبانی اختصاصی: 4 TB

    • On-premise: محدود به زیرساخت موجود.

Google Cloud

ابتدا، در Google Cloud ثبت‌نام کنید و وارد شوید.

حساب سرویس

  1. نوار کناری ناوبری را در Google Cloud console باز کنید، سپس به IAM & Admin ↤ Service Accounts ↤ Create service account بروید.

  2. یک Service account name تعریف کنید، روی Create and continue کلیک کنید، سپس انجام شده.

    ایجاد یک حساب سرویس Google Cloud
  3. ایمیل حساب سرویس را یادداشت کنید زیرا در طول پیکربندی bucket ذخیره‌سازی ابری استفاده خواهد شد.

  4. روی دکمهٔ (عملیات) کلیک کنید، سپس Manage keys را انتخاب کنید.

    دسترسی به اقدام "Manage keys"
  5. به Add key ↤ Create new key بروید، JSON را به‌عنوان Key type انتخاب کنید و روی ایجاد کلیک کنید. فایل JSON دانلودشده حاوی کلید را به‌صورت امن ذخیره کنید. هنگام پیکربندی Odoo استفاده خواهد شد.

    ایجاد کلید JSON حساب سرویس Google Cloud

Bucket ذخیره‌سازی ابری

  1. نوار کناری ناوبری را در Google Cloud console باز کنید، سپس به فضای ذخیره سازی ابری ↤ Buckets ↤ ایجاد بروید.

  2. یک نام bucket طبق راهنمای نام‌گذاری bucket وارد کنید و آن را یادداشت کنید زیرا هنگام پیکربندی Odoo استفاده خواهد شد.

  3. bucket را به دلخواه پیکربندی کنید و پس از اتمام، روی ایجاد کلیک کنید.

    ایجاد یک bucket
  4. روی دکمهٔ (More actions) کلیک کنید، سپس Edit access را انتخاب کنید.

    دسترسی به اقدام "Edit access" یک bucket ذخیره‌سازی Google Cloud
  5. روی Add principal کلیک کنید و ایمیل حساب سرویس را در فیلد New principals پیست کنید.

  6. Storage Admin را به‌عنوان نقش زیر بخش فضای ذخیره سازی ابری انتخاب کنید و روی ذخیره کلیک کنید.

    افزودن یک principal به یک bucket ذخیره‌سازی Google Cloud

پیکربندی Odoo

  1. نصب ماژول Cloud Storage Google.

  2. اپ تنظیمات را باز کنید و فضای ذخیره سازی ابری را در نوار کناری ناوبری انتخاب کنید.

  3. ذخیره‌سازی ابری گوگل را به‌عنوان ارائه دهنده فضای ذخیره‌سازی ابری برای پیوست‌های جدید انتخاب کنید.

  4. نام باکت گوگل را همان‌طور که قبلاً تنظیم شد وارد کنید.

  5. روی آپلود فایل در کنار کلید حساب خدماتی گوگل کلیک کنید و فایل JSON دانلودشده را انتخاب کنید.

  6. یک حداقل اندازه فایل (بایت) برای پیوست‌هایی که در Google Cloud ذخیره می‌شوند تنظیم کنید.

Microsoft Azure

ابتدا، در Microsoft Azure ثبت‌نام کنید و وارد شوید.

ثبت اپلیکیشن

  1. در پورتال Microsoft Azure، سرویس App registrations را جستجو کنید و آن را باز کنید.

  2. روی New registration کلیک کنید، یک نام اپلیکیشن وارد کنید، Accounts in any organizational directory (Any Microsoft Entra ID tenant - Multitenant) را زیر Supported account types انتخاب کنید و روی ثبت نام کلیک کنید.

    ثبت یک اپلیکیشن Microsoft Azure
  3. Application (client) ID و Directory (tenant) ID را یادداشت کنید زیرا هنگام پیکربندی Odoo استفاده خواهند شد.

  4. روی Add a certificate or secret در کنار Client credentials کلیک کنید، روی New client secret کلیک کنید، سپس افزودن.

    مهم

    به دلایل امنیتی، فیلد Expires را روی 180 days (6 months) رها کنید یا یک فاصلهٔ انقضای کوتاه‌تر انتخاب کنید. قبل از انقضای secret، افزودن یک client secret جدید و به‌روزرسانی پیکربندی Odoo با مقدار جدید ضروری است.

  5. مقدار client secret را کپی کنید و آن را به‌صورت امن ذخیره کنید. هنگام پیکربندی Odoo استفاده خواهد شد.

    افزودن یک secret به یک اپ Microsoft Azure

حساب ذخیره‌سازی

  1. سرویس Storage accounts را جستجو کنید، آن را باز کنید و روی ایجاد کلیک کنید.

  2. روی ایجاد جدید زیر فیلد Resource group کلیک کنید، یک نام وارد کنید و روی تایید کلیک کنید.

  3. یک Storage account name یکتا وارد کنید و آن را یادداشت کنید زیرا هنگام پیکربندی Odoo استفاده خواهد شد.

  4. حساب ذخیره‌سازی را به دلخواه پیکربندی کنید و پس از اتمام، روی Review + create و سپس ایجاد کلیک کنید.

    ایجاد یک حساب ذخیره‌سازی Microsoft Azure

کانتینر

  1. منبع حساب ذخیره‌سازی خود را باز کنید، برای مثال با جستجوی نام آن، و Containers را زیر Data storage در نوار کناری ناوبری انتخاب کنید.

  2. یک نام وارد کنید، آن را یادداشت کنید زیرا هنگام پیکربندی Odoo استفاده خواهد شد، و روی ایجاد کلیک کنید.

    ایجاد یک container ذخیره‌سازی Microsoft Azure

اشتراک‌گذاری منابع

  1. Resource sharing (CORS) را زیر تنظیمات در نوار کناری ناوبری حساب ذخیره‌سازی انتخاب کنید.

  2. یک قانون اول CORS blob service ایجاد کنید:

    • Allowed origins: *

    • Allowed methods: GET

    • Allowed headers: Content-Type

    • Exposed headers: Content-Type

    • Max age: 0

  3. یک قانون دوم CORS blob service ایجاد کنید و روی ذخیره کلیک کنید:

    • Allowed origins: *

    • Allowed methods: PUT

    • Allowed headers: content-type,x-ms-blob-type

    • Exposed headers: content-type,x-ms-blob-type

    • Max age: 0

    ایجاد قوانین CORS حساب ذخیره‌سازی Microsoft Azure

تخصیص نقش

  1. Access control (IAM) را در نوار کناری ناوبری حساب ذخیره‌سازی انتخاب کنید، سپس روی افزودن کلیک کنید و Add role assignment را انتخاب کنید.

  2. Storage Blobs Data Contributor را جستجو کنید و روی بعدی کلیک کنید.

    توجه

    برای حذف مجوز غیرضروری delete، یک custom role ایجاد کنید و به جای آن نام نقش سفارشی را جستجو کنید.

  3. روی Select members کلیک کنید، نام اپلیکیشن قبلاً ثبت‌شده را وارد کنید، آن را انتخاب کنید و روی انتخاب کلیک کنید.

  4. دو بار روی Review + assign کلیک کنید.

    افزودن یک عضو به یک container
نقش سفارشی

توجه

این مرحله اختیاری است. با این حال، حذف مجوز delete از حذف فایل‌ها توسط هرکسی که به credentials‌های ذخیره‌سازی ابری دسترسی پیدا کند جلوگیری می‌کند.

  1. منبع subscription خود را باز کنید، برای مثال با جستجوی نام آن، Access control (IAM) را در نوار کناری ناوبری انتخاب کنید، روی افزودن کلیک کنید و Add custom role را انتخاب کنید.

  2. زبانهٔ JSON را انتخاب کنید و روی ویرایش کلیک کنید. کد زیر را کپی کنید، subscription-id خود را زیر assignableScopes اضافه کنید و در صورت تمایل roleName (Custom role) را تغییر دهید، پیست کنید و روی ذخیره کلیک کنید.

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

پیکربندی Odoo

  1. نصب ماژول Cloud Storage Azure.

  2. اپ تنظیمات را باز کنید و فضای ذخیره سازی ابری را در نوار کناری ناوبری انتخاب کنید.

  3. Azure Cloud Azure را به‌عنوان ارائه دهنده فضای ذخیره‌سازی ابری برای پیوست‌های جدید انتخاب کنید.

  4. وارد کنید:

  5. یک حداقل اندازه فایل (بایت) برای پیوست‌هایی که در Microsoft Azure ذخیره می‌شوند تنظیم کنید.