دانلود خودکار کانتینر
مرور کلی
قابلیت دانلود خودکار Container امکان دانلود بدون دخالت کاربر را برای Containerهای VNC فراهم میکند؛ بدون اینکه کاربر نیازی به شروع دستی یا تأیید دانلود داشته باشد.
درخواستهای دانلود توسط افزونه Chrome رهگیری میشوند، با سرویس تأیید Backend بررسی میشوند و بر اساس سیاست سازمانی تعریفشده، مجاز یا مسدود میشوند.
نحوه عملکرد
۱. یک دانلود Container در مرورگر آغاز میشود. ۲. افزونه Chrome درخواست دانلود را رهگیری میکند. ۳. افزونه یک درخواست تأیید به Endpoint پیکربندیشده در Backend ارسال میکند. ۴. در صورت تأیید Backend، دانلود بهصورت خودکار شروع میشود. ۵. در صورت فعال بودن این قابلیت، Container پس از تأیید بهطور خودکار راهاندازی میشود. ۶. در طول دانلودهای طولانی، یک مکانیزم Heartbeat سلامت Backend را پایش میکند و فرایند را فعال نگه میدارد.
اگر Backend در دسترس نباشد، رفتار سیستم بر اساس سیاست تعریفشده تعیین میشود:
حالت Strict — failOpenOnError: false
دانلودها در صورت عدم امکان تأیید، مسدود میشوند.
حالت Fail-Open — failOpenOnError: true
دانلودها در صورت در دسترس نبودن Backend، مجاز میشوند.
پیکربندی
تمام رفتارهای این قابلیت از طریق Chrome Enterprise Policy کنترل میشوند.
مسیر فایل سیاست:
/etc/sball/container/chrome/policies/chrome-policies-guestagent.json
تنظیمات سیاست
| کلید | نوع | پیشفرض | توضیح |
|---|---|---|---|
endpoint | string | http://localhost:5800 | آدرس Backend برای تأیید دانلود |
autoStartOnApproval | boolean | true | شروع خودکار دانلود پس از تأیید |
failOpenOnError | boolean | false | مجاز کردن دانلود در صورت در دسترس نبودن Backend |
heartbeatIntervalMs | int | 10000 | فاصله زمانی بررسی سلامت Backend (میلیثانیه) |
requestTimeoutMs | int | 10000 | مهلت زمانی درخواست HTTP (میلیثانیه) |
maxRetries | int | 2 | تعداد تلاش مجدد در صورت خطا |
retryBackoffMs | int | 600 | فاصله زمانی بین تلاشهای مجدد (میلیثانیه) |
showNotifications | boolean | true | نمایش اعلانهای دسکتاپ برای رویدادهای دانلود |
showToastInPage | boolean | true | نمایش پیام Toast در صفحه |
toastDurationMs | int | 6000 | مدت زمان نمایش Toast (میلیثانیه) |
progressPollIntervalMs | int | 500 | فاصله زمانی پرسوجوی پیشرفت دانلود (میلیثانیه) |
popupRefreshIntervalMs | int | 1000 | فاصله زمانی بهروزرسانی رابط Popup (میلیثانیه) |
badgeErrorColor | hex | #ef4444 | رنگ Badge در وضعیت خطا |
badgePendingColor | hex | #f59e0b | رنگ Badge در وضعیت انتظار برای تأیید |
downloadConflictAction | enum | uniquify | نحوه مدیریت تعارض نام فایل: 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