راه‌اندازی IAM و نقش‌های حساب سرویس

پیکربندی صحیح IAM پیش‌نیاز مدیریت امنیت و هویت برای سیستم Fleet Engine شماست. از نقش‌های IAM برای تنظیم دسترسی به عملیات و داده‌های مختلف برای برآورده کردن نیازهای رانندگان، مصرف‌کنندگان و اپراتورهای ناوگان استفاده کنید.

حساب‌های کاربری سرویس و نقش‌های IAM چیستند؟

شما حساب‌های سرویس را در کنسول Google Cloud تنظیم می‌کنید تا دسترسی به داده‌ها را در Fleet Engine تأیید و مجاز کنید. Fleet Engine مجموعه‌ای از نقش‌های IAM از پیش تعیین‌شده دارد که شما به یک حساب سرویس اختصاص می‌دهید تا مشخص شود که آن حساب به کدام داده‌ها دسترسی دارد. برای جزئیات بیشتر، به نمای کلی حساب‌های سرویس در مستندات Google Cloud مراجعه کنید.

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

برای اطلاعات کلی بیشتر در مورد اعطای نقش‌های IAM، به بخش اعطای نقش IAM با استفاده از کنسول Google Cloud مراجعه کنید.

نقش‌های حساب کاربری سرویس موتور ناوگان

سرویس Mobility که برای نصب Fleet Engine خود انتخاب می‌کنید، نقش‌ها و مجوزهایی را که شامل می‌شوند، تعیین می‌کند.

نقش‌های زیر نحوه‌ی عملکرد مجوزها با نقش‌های Fleet Engine را نشان می‌دهند:

  • نقش‌های ondemandAdmin و deliveryAdmin می‌توانند تمام عملیات را در Fleet Engine انجام دهند. فقط از این نقش‌ها در محیط‌های قابل اعتماد، مانند ارتباطات بین سرور backend و Fleet Engine، استفاده کنید.

  • نقش‌های driverSdkUser و consumerSdkUser فقط مجاز به دریافت جزئیات سفرهای تعیین‌شده و به‌روزرسانی یا دریافت موقعیت مکانی خودرو هستند. این نوع نقش‌ها معمولاً توسط کلاینت‌ها در محیط‌های کم‌اعتماد، مانند برنامه‌های راننده، مصرف‌کننده یا نظارتی، استفاده می‌شوند.

نقش‌ها و مجوزهای اعطا شده برای سفرهای درخواستی و وظایف زمان‌بندی شده در جداول زیر شرح داده شده است.

سفرهای درخواستی

نقش اجازه

مدیریت ناوگان بر اساس تقاضا

roles/fleetengine.ondemandAdmin

مجوزهای خواندن، نوشتن و حذف را برای همه منابع مربوط به وسایل نقلیه و سفرها اعطا می‌کند. مدیرانی که این نقش را دارند نیازی به استفاده از JWTها ندارند و در عوض باید در صورت امکان از Application Default Credentials استفاده کنند. این نقش، ادعاهای سفارشی JWT را نادیده می‌گیرد. استفاده از این نقش را به محیط‌های قابل اعتماد مانند سرور backend خود محدود کنید.

کاربر SDK درایور موتور ناوگان

roles/fleetengine.driverSdkUser

مکان‌ها و مسیرهای وسایل نقلیه را به‌روزرسانی کنید و اطلاعات مربوط به وسایل نقلیه و سفرها را بازیابی کنید. از JWTها با ادعاهای سفارشی ایجاد شده با این نقش برای احراز هویت و مجوز از برنامه‌های راننده برای اشتراک‌گذاری سفر یا تحویل استفاده کنید.

کاربر SDK مصرف‌کننده موتور ناوگان

roles/fleetengine.consumerSdkUser

جستجو برای وسایل نقلیه و بازیابی اطلاعات مربوط به وسایل نقلیه و سفرها. از JWT ها با ادعاهای سفارشی ایجاد شده با این نقش برای برنامه های مصرف کننده برای اشتراک گذاری یا تحویل استفاده کنید.

وظایف برنامه‌ریزی‌شده

نقش اجازه

مدیر تحویل موتور ناوگان

roles/fleetengine.deliveryAdmin

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

ناوگان خوان تحویل موتور ناوگان

roles/fleetengine.deliveryFleetReader

مجوز خواندن وسایل نقلیه تحویل و وظایف و جستجوی وظایف با استفاده از شناسه ردیابی را اعطا می‌کند. توکن‌های صادر شده توسط یک حساب کاربری سرویس با این نقش معمولاً از مرورگر وب اپراتور ناوگان تحویل استفاده می‌شوند.

تحویل موتور ناوگان، کاربر راننده غیرقابل اعتماد

roles/fleetengine.deliveryUntrustedDriver

مجوز به‌روزرسانی موقعیت مکانی وسیله نقلیه تحویل را اعطا می‌کند. توکن‌های صادر شده توسط یک حساب کاربری سرویس با این نقش معمولاً از دستگاه تلفن همراه راننده تحویل شما استفاده می‌شوند.

توجه: منظور از «غیرقابل اعتماد» دستگاه راننده‌ای است که توسط بخش فناوری اطلاعات شرکت مدیریت نمی‌شود، بلکه توسط خود راننده ارائه می‌شود و معمولاً بدون کنترل‌های امنیتی مناسب فناوری اطلاعات است. سازمان‌هایی که سیاست‌های «دستگاه خودتان را بیاورید» را دارند، باید ایمنی این نقش را انتخاب کنند و فقط برای ارسال به‌روزرسانی‌های موقعیت مکانی خودرو به Fleet Engine به برنامه تلفن همراه متکی باشند. سایر تعاملات باید از سرورهای backend شما سرچشمه بگیرند.

کاربر مصرف‌کننده تحویل موتور ناوگان

roles/fleetengine.deliveryConsumer

مجوز جستجوی وظایف با استفاده از شناسه ردیابی و خواندن اطلاعات وظیفه (اما نه به‌روزرسانی آن) را می‌دهد. توکن‌های صادر شده توسط یک حساب کاربری سرویس با این نقش معمولاً از مرورگر وب مصرف‌کننده تحویل استفاده می‌شوند.

کاربر راننده معتمد تحویل موتور ناوگان

roles/fleetengine.deliveryTrustedDriver

مجوز ایجاد و به‌روزرسانی وسایل نقلیه تحویل و وظایف، از جمله به‌روزرسانی مکان وسیله نقلیه تحویل و وضعیت یا نتیجه وظیفه را اعطا می‌کند. توکن‌های صادر شده توسط یک حساب کاربری سرویس با این نقش معمولاً از دستگاه‌های تلفن همراه راننده تحویل شما یا از سرورهای پشتیبان شما استفاده می‌شوند.

توجه: منظور از «قابل اعتماد» دستگاه راننده‌ای است که توسط فناوری اطلاعات شرکت مدیریت می‌شود و دارای کنترل‌های امنیتی مناسب است. سازمان‌هایی که این دستگاه‌ها را ارائه می‌دهند، می‌توانند تعاملات Fleet Engine را در برنامه تلفن همراه ادغام کنند.

نحوه استفاده از نقش‌های IAM و حساب‌های سرویس با Fleet Engine

برای استفاده از حساب‌های سرویس برای احراز هویت و مجوز در Fleet Engine، این مراحل کلی را دنبال کنید:

  1. برای هر نقشی که نیاز دارید، در کنسول گوگل کلود، حساب‌های خدماتی ایجاد کنید . برای تأیید اعتبار برنامه‌ها و وب‌سایت‌های راننده، مصرف‌کننده، نظارت بر ناوگان و مدیریت ناوگان - هر نرم‌افزاری که نیاز به دسترسی به داده‌های Fleet Engine دارد - به حساب‌های خدماتی نیاز دارید. نرم‌افزارهایی که به مجوزهای یکسانی نیاز دارند، می‌توانند از همان حساب خدماتی استفاده کنند.

  2. به هر حساب سرویس، یک نقش سیاست IAM مربوط به Fleet Engine اختصاص دهید . نقش سیاست IAM مخصوص Fleet Engine را انتخاب کنید که مجوزهای مناسب برای دسترسی یا به‌روزرسانی داده‌های شما در Fleet Engine را فراهم می‌کند.

  3. از حساب‌های کاربری سرویس مناسب در برنامه‌ها و نرم‌افزارهای خود برای تأیید اعتبار اتصال آنها به Fleet Engine استفاده کنید و دسترسی به منابع اعطا شده توسط نقش تعیین شده را مجاز کنید.

برای جزئیات بیشتر در مورد چگونگی تطبیق نقش‌های حساب سرویس با امنیت Fleet Engine، به بخش «مرور کلی امنیت» مراجعه کنید. برای توضیح کامل نقش‌های حساب سرویس، به بخش «درک نقش‌های IAM» در مستندات Google Cloud مراجعه کنید.

قدم بعدی چیست؟

  • برای درک کاربرد JSON Web Tokens در Fleet Engine، در مورد آنها مطالعه کنید.
  • برای مرور کلی امنیت Fleet Engine، به مرور کلی امنیت مراجعه کنید.
  • برای توضیح کامل نقش‌های حساب کاربری سرویس کنسول ابری گوگل، به درک نقش‌های IAM مراجعه کنید.