مدیریت هویت و دسترسی (IAM) به شما امکان میدهد به منابع خاصی از Firebase و Google دسترسی دقیق بدهید و از دسترسی ناخواسته به منابع دیگر جلوگیری کنید. IAM به شما این امکان را می دهد که اصل امنیتی کمترین امتیاز را اتخاذ کنید، بنابراین فقط دسترسی لازم را به منابع خود می دهید.
برای توضیح دقیق IAM، اسناد Google Cloud IAM را بخوانید.
نمای کلی Firebase IAM
Firebase گزینه های اضافی IAM را ارائه می دهد که مخصوص پروژه های Firebase و اعضای پروژه شما هستند.
هنگامی که یک عضو پروژه احراز هویت شده، اقدامی را در Firebase درخواست میکند، IAM در مورد اینکه آیا عضو پروژه مجوز انجام عملیات درخواستی روی منبع را دارد یا خیر، تصمیم مجوز میگیرد. اینکه آیا عضو پروژه مجاز به انجام درخواست است یا خیر بستگی به نقش تعیین شده عضو پروژه دارد. هر نقش مجموعهای از مجوزها است و وقتی نقشی را به یکی از اعضای پروژه اختصاص میدهید، تمام مجوزهای آن نقش را به آن عضو پروژه میدهید.
اعضای پروژه
با استفاده از Firebase IAM، نقش ها (و مجوزهای ذاتی آنها) را به اعضای پروژه خود اختصاص می دهید. اعضای پروژه می توانند از انواع زیر باشند:
- حساب گوگل
- حساب خدمات
- گروه گوگل
نقش ها
مجوزها از طریق نقش ها به اعضای پروژه شما داده می شود. نقش مجموعه ای از مجوزها است. وقتی نقشی را به یکی از اعضای پروژه اختصاص می دهید، به آن عضو پروژه تمام مجوزهای موجود در آن نقش را می دهید.
Firebase IAM از انواع نقش های زیر پشتیبانی می کند:
نقشهای اصلی : نقشهای مالک اصلی، ویرایشگر و بیننده (که قبلاً نقشهای «اولیه» نامیده میشدند).
نقشهای از پیش تعریفشده : نقشهای خاص Firebase انتخابشده که کنترل دسترسی دقیقتری را نسبت به نقشهای اصلی امکانپذیر میکنند. Firebase ارائه می دهد:
نقشهای سطح Firebase : نقشهایی که دسترسی کامل خواندن/نوشتن یا فقط خواندنی را به همه محصولات Firebase میدهند.
نقشهای دستهبندی محصول : نقشهایی که دسترسی کامل خواندن/نوشتن یا فقط خواندنی را به گروههایی از محصولات میدهند. آنها بر اساس Google Analytics و دسته بندی محصولات کلی ساخته شده اند.
نقشهای سطح محصول : نقشهایی که دسترسی کامل خواندن/نوشتن یا فقط خواندنی را به محصولات خاص Firebase میدهند.
نقشهای سفارشی : نقشهای کاملاً سفارشیسازی شدهای که ایجاد میکنید تا مجموعهای از مجوزها را مطابق با الزامات خاص سازمان شما تنظیم کنید.
اعضای پروژه و نقش آنها را مدیریت کنید
مشاهده اعضای پروژه و نقش آنها
می توانید بسیاری از اعضای پروژه خود و نقش های آنها را در برگه کاربران و مجوزها در > تنظیمات پروژه در کنسول Firebase مشاهده کنید. به موارد زیر توجه کنید:- کنسول Firebase فقط اعضای پروژه را فهرست می کند که یک نقش اصلی (مالک، ویرایشگر، نمایشگر) یا یک نقش از پیش تعریف شده Firebase به آنها اختصاص داده شده است. اعضای پروژه لیست شده در این برگه تنها اعضای پروژه هستند که به پروژه Firebase در کنسول Firebase دسترسی دارند.
- کنسول Firebase اعضای پروژه را که حساب خدمات هستند فهرست نمی کند. این اعضای پروژه را در صفحه IAM کنسول Google Cloud مشاهده کنید.
نقشی را به یکی از اعضای پروژه اختصاص دهید
برای مدیریت نقش(های) اختصاص داده شده به هر یک از اعضای پروژه، باید مالک پروژه Firebase باشید (یا نقشی با مجوز resourcemanager.projects.setIamPolicy
به شما اختصاص داده شود).
در اینجا مکان هایی وجود دارد که می توانید نقش ها را تعیین و مدیریت کنید:
- کنسول Firebase روشی ساده برای اختصاص نقش به اعضای پروژه در برگه Users and Permissions در > تنظیمات پروژه ارائه می دهد. در کنسول Firebase ، میتوانید هر یک از نقشهای اصلی (مالک، ویرایشگر، نمایشگر)، نقشهای مدیر/نمایشگر Firebase ، یا هر یک از نقشهای از پیش تعریفشده رده محصول Firebase را اختصاص دهید.
- کنسول Google Cloud مجموعه گسترده ای از ابزارها را برای اختصاص نقش به اعضای پروژه در صفحه IAM ارائه می دهد. در کنسول Cloud ، همچنین میتوانید نقشهای سفارشی ایجاد و مدیریت کنید، و همچنین به حسابهای خدماتی اجازه دسترسی به پروژه خود را بدهید.
توجه داشته باشید که در کنسول Google Cloud ، به اعضای پروژه، اصلی گفته می شود.
اگر مالک پروژه شما دیگر نمی تواند وظایف مالک را انجام دهد (به عنوان مثال، شخصی که شرکت شما را ترک کرده است) و پروژه شما از طریق یک سازمان Google Cloud مدیریت نمی شود (به پاراگراف بعدی مراجعه کنید)، می توانید با پشتیبانی Firebase تماس بگیرید و بررسی کنید. با آنها در مورد نحوه درخواست دسترسی به پروژه Firebase.
توجه داشته باشید که اگر پروژه Firebase بخشی از یک سازمان Google Cloud باشد، ممکن است مالک نداشته باشد. اگر نمیتوانید مالکی برای پروژه Firebase خود پیدا کنید، با فردی که سازمان Google Cloud شما را مدیریت میکند تماس بگیرید تا مالکی را برای پروژه تعیین کند.