مروری بر امنیت

این سند توضیح می دهد که چگونه موتور Fleet تبادل اطلاعات را بین سه محیط اصلی سیستم Fleet Engine شما ایمن می کند: سرور باطن شما، سرور Fleet Engine شما، و برنامه های کاربردی مشتری و وب سایت های شما.

Fleet Engine امنیت را به دو روش اساسی با استفاده از اصل حداقل امتیاز مدیریت می کند:

  • Application Default Credentials (ADC) : برای محیط های با امتیاز بالا مانند ارتباطات سرور به سرور. هنگامی که سرور باطن شما در حال ایجاد وسایل نقلیه و سفرها و مدیریت آنها در Fleet Engine است استفاده می شود. برای جزئیات، به اعتبارنامه پیش فرض برنامه مراجعه کنید.

  • JSON Web Tokens (JWT) : برای محیط‌های کم‌اعتماد مانند برنامه‌های مشتری در حال اجرا در گوشی‌های هوشمند و مرورگرها. برای انجام عملیات‌های با امتیاز کمتر، مانند به‌روزرسانی مکان خودرو در Fleet Engine استفاده می‌شود.

    JWT‌های مورد نیاز محیط‌های کم‌اعتماد توسط سرور پشتیبان شما برای محافظت از کلیدهای مخفی حساب سرویس تولید و صادر می‌شوند و شامل ادعاهای اضافی خاص برای Fleet Engine می‌شوند. برای جزئیات، به JSON Web Tokens مراجعه کنید.

    برای مثال، اگر یک برنامه درایور دارید، رانندگان از طریق برنامه به داده‌های Fleet Engine دسترسی پیدا می‌کنند. برنامه با استفاده از JWT هایی که از سرور باطن شما دریافت می کند احراز هویت می شود. ادعاهای JWT همراه با نقش حساب سرویس، تعیین می‌کنند که برنامه درایور به چه بخش‌هایی از سیستم شما دسترسی دارد و چه کارهایی می‌تواند انجام دهد. این رویکرد فقط دسترسی به داده های مورد نیاز برای تکمیل تکالیف رانندگی را محدود می کند.

Fleet Engine از این رویکردهای امنیتی برای ارائه موارد زیر استفاده می کند:

  • احراز هویت هویت نهاد درخواست کننده را تأیید می کند. Fleet Engine از ADC برای محیط های با اعتماد بالا و JWT برای محیط های کم اعتماد استفاده می کند.

  • مجوز مشخص می کند که یک نهاد احراز هویت شده به کدام منابع دسترسی دارد. Fleet Engine از حساب‌های خدماتی با نقش‌های Google Cloud IAM استفاده می‌کند، به‌علاوه ادعاهای JWT که تضمین می‌کند نهادهای احراز هویت شده مجوز دیدن یا تغییر داده‌های درخواستی خود را دارند.

راه اندازی امنیت سرور و کلاینت

برای فعال کردن امنیت با Fleet Engine، حساب‌ها و امنیت مورد نیاز را در سرور باطن خود و برنامه‌های مشتری و وب‌سایت‌های خود تنظیم کنید.

نمودار زیر نمای کلی از مراحل تنظیم امنیت در سرور باطن و برنامه های مشتری را نشان می دهد.

نمودار جریان امنیتی در حین راه اندازی برای تأیید اعتبار برنامه سرور و مشتری

برای جزئیات بیشتر، بخش های زیر را ببینید.

راه اندازی امنیت سرور Backend

یک مدیر ناوگان باید این مراحل را دنبال کند:

  1. ایجاد و پیکربندی حساب های خدمات :

    1. در Google Cloud Console، حساب‌های خدماتی ایجاد کنید.

    2. نقش های خاص IAM را به حساب های سرویس اختصاص دهید.

    3. سرور باطن خود را با حساب های سرویس ایجاد شده پیکربندی کنید. برای جزئیات، به نقش‌های حساب سرویس مراجعه کنید.

  2. پیکربندی ارتباط ایمن با Fleet Engine (ADC) : باطن خود را برای برقراری ارتباط با نمونه Fleet Engine خود با استفاده از اعتبار پیش فرض برنامه با حساب سرویس *Admin مناسب پیکربندی کنید. برای جزئیات، به اعتبارنامه پیش فرض برنامه مراجعه کنید.

  3. پیکربندی ارتباط ایمن با برنامه های مشتری (JWT) : یک ژنراتور JSON Web Token برای ایجاد JWT با ادعاهای مناسب برای برنامه های مشتری و وب سایت های نظارتی ایجاد کنید. برای جزئیات، به نسخه JSON Web Tokens مراجعه کنید.

راه اندازی امنیت برنامه

توسعه‌دهندگان برنامه باید راهی برای واکشی توکن‌های وب JSON تولید شده توسط سرور باطن شما در برنامه‌های مشتری یا وب‌سایت‌های شما بگنجانند و از آنها برای برقراری ارتباط امن با Fleet Engine استفاده کنند. برای جزئیات، دستورالعمل‌های راه‌اندازی را در مستندات Driver Experience یا Consumer Experience برای برنامه‌های مورد نیاز خود ببینید.

جریان امنیتی برنامه سرور و مشتری

نمودار توالی زیر جریان احراز هویت و مجوز برنامه سرور و کلاینت را با Fleet Engine با استفاده از ADC با سرور پشتیبان و JWT ها با برنامه های مشتری و وب سایت ها نشان می دهد.

نمودار جریان امنیتی در حین کار برای تأیید اعتبار برنامه سرور و مشتری

  • سرور باطن شما وسایل نقلیه و سفرها یا وظایفی را در Fleet Engine ایجاد می کند .

  • سرور پشتیبان شما یک سفر یا کار به وسیله نقلیه : برنامه راننده، وقتی فعال است، تکلیف را بازیابی می کند.

  • سرور پشتیبان شما : یک JWT برای حساب سرویس مربوطه با نقش IAM مناسب برای کار یا سفر اختصاص داده شده امضا و صادر می کند.

  • برنامه مشتری : برنامه مشتری از JWT دریافتی برای ارسال به‌روزرسانی‌های مکان خودرو به Fleet Engine استفاده می‌کند.

بعدش چی