پرش به مطلب اصلی

دانلود خودکار کانتینر

مرور کلی

قابلیت دانلود خودکار Container امکان دانلود بدون دخالت کاربر را برای Containerهای VNC فراهم می‌کند؛ بدون اینکه کاربر نیازی به شروع دستی یا تأیید دانلود داشته باشد.

درخواست‌های دانلود توسط افزونه Chrome رهگیری می‌شوند، با سرویس تأیید Backend بررسی می‌شوند و بر اساس سیاست سازمانی تعریف‌شده، مجاز یا مسدود می‌شوند.


نحوه عملکرد

۱. یک دانلود Container در مرورگر آغاز می‌شود. ۲. افزونه Chrome درخواست دانلود را رهگیری می‌کند. ۳. افزونه یک درخواست تأیید به Endpoint پیکربندی‌شده در Backend ارسال می‌کند. ۴. در صورت تأیید Backend، دانلود به‌صورت خودکار شروع می‌شود. ۵. در صورت فعال بودن این قابلیت، Container پس از تأیید به‌طور خودکار راه‌اندازی می‌شود. ۶. در طول دانلودهای طولانی، یک مکانیزم Heartbeat سلامت Backend را پایش می‌کند و فرایند را فعال نگه می‌دارد.

اگر Backend در دسترس نباشد، رفتار سیستم بر اساس سیاست تعریف‌شده تعیین می‌شود:

حالت StrictfailOpenOnError: false دانلودها در صورت عدم امکان تأیید، مسدود می‌شوند.

حالت Fail-OpenfailOpenOnError: true دانلودها در صورت در دسترس نبودن Backend، مجاز می‌شوند.


پیکربندی

تمام رفتارهای این قابلیت از طریق Chrome Enterprise Policy کنترل می‌شوند.

مسیر فایل سیاست:

/etc/sball/container/chrome/policies/chrome-policies-guestagent.json

تنظیمات سیاست

کلیدنوعپیش‌فرضتوضیح
endpointstringhttp://localhost:5800آدرس Backend برای تأیید دانلود
autoStartOnApprovalbooleantrueشروع خودکار دانلود پس از تأیید
failOpenOnErrorbooleanfalseمجاز کردن دانلود در صورت در دسترس نبودن Backend
heartbeatIntervalMsint10000فاصله زمانی بررسی سلامت Backend (میلی‌ثانیه)
requestTimeoutMsint10000مهلت زمانی درخواست HTTP (میلی‌ثانیه)
maxRetriesint2تعداد تلاش مجدد در صورت خطا
retryBackoffMsint600فاصله زمانی بین تلاش‌های مجدد (میلی‌ثانیه)
showNotificationsbooleantrueنمایش اعلان‌های دسکتاپ برای رویدادهای دانلود
showToastInPagebooleantrueنمایش پیام Toast در صفحه
toastDurationMsint6000مدت زمان نمایش Toast (میلی‌ثانیه)
progressPollIntervalMsint500فاصله زمانی پرس‌وجوی پیشرفت دانلود (میلی‌ثانیه)
popupRefreshIntervalMsint1000فاصله زمانی به‌روزرسانی رابط Popup (میلی‌ثانیه)
badgeErrorColorhex#ef4444رنگ Badge در وضعیت خطا
badgePendingColorhex#f59e0bرنگ Badge در وضعیت انتظار برای تأیید
downloadConflictActionenumuniquifyنحوه مدیریت تعارض نام فایل: uniquify، overwrite یا prompt

توجه: مقدار endpoint را تغییر ندهید مگر اینکه تغییر مستندشده‌ای در پیکربندی استقرار نیاز داشته باشید.

نمونه فایل سیاست

{
"endpoint": "http://localhost:5800",
"autoStartOnApproval": true,
"failOpenOnError": false,
"heartbeatIntervalMs": 10000,
"requestTimeoutMs": 10000,
"maxRetries": 2,
"retryBackoffMs": 600,
"showNotifications": true,
"showToastInPage": true,
"toastDurationMs": 6000,
"progressPollIntervalMs": 500,
"popupRefreshIntervalMs": 1000,
"badgeErrorColor": "#ef4444",
"badgePendingColor": "#f59e0b",
"downloadConflictAction": "uniquify"
}

قابلیت‌های کلیدی

  • تأیید هر دانلود توسط Backend، پیش از شروع
  • شروع خودکار دانلود بدون نیاز به تعامل کاربر پس از تأیید
  • پشتیبانی از حالت Strict یا Fail-Open بر اساس سیاست سازمانی
  • پایش Heartbeat برای دانلودهای طولانی، از جمله Containerهای بزرگ (بالای ۱ گیگابایت)
  • مدیریت خطا با Retry و Backoff برای خرابی‌های موقت شبکه یا Backend
  • اعلان‌های دسکتاپ و درون‌صفحه برای نمایش وضعیت دانلود
  • استقرار یکپارچه در سطح سازمان از طریق سیاست‌های مدیریت‌شده Chrome، بدون نیاز به تغییر کد افزونه

حالت‌های عملیاتی

حالت Strict

در این حالت:

  • تأیید Backend الزامی است
  • در صورت در دسترس نبودن Backend، دانلود مسدود می‌شود
  • برای محیط‌های با الزامات امنیتی بالا توصیه می‌شود
"failOpenOnError": false

حالت Fail-Open

در این حالت:

  • افزونه تلاش می‌کند تأیید Backend را دریافت کند
  • در صورت در دسترس نبودن یا Timeout شدن Backend، دانلود مجاز می‌شود
  • برای محیط‌هایی که پایداری سرویس در اولویت است مناسب‌تر است
"failOpenOnError": true

نکات

  • پایش Heartbeat برای Containerهای بزرگ که زمان دانلود آن‌ها قابل‌توجه است، اهمیت ویژه دارد.
  • تمام رفتارهای اصلی بدون نیاز به تغییر در کد افزونه قابل تنظیم هستند.
  • استفاده از سیاست مدیریت‌شده، این قابلیت را برای استقرار در مقیاس سازمانی مناسب می‌کند.
  • مقدار endpoint را بدون دلیل مستند تغییر ندهید. این مقدار یک نقطه یکپارچه‌سازی مدیریت‌شده است و باید با پیکربندی سرویس Backend همسو باشد.

جمع‌بندی

قابلیت دانلود خودکار Container یک جریان دانلود بدون کلیک، تأیید Backend و مبتنی بر سیاست را برای Containerهای VNC فراهم می‌کند.

این قابلیت چهار عنصر را ترکیب می‌کند:

  • احراز مجوز توسط Backend — هر دانلود پیش از شروع تأیید می‌شود
  • اجرای خودکار — بدون نیاز به دخالت کاربر
  • پایش سلامت در دانلودهای طولانی — از طریق مکانیزم Heartbeat
  • پیکربندی متمرکز در سطح سازمان — از طریق Chrome Enterprise Policy