کنترلهای سرویس VPC به سازمانها اجازه میدهد تا پیرامون منابع Google Cloud یک محدوده تعریف کنند تا خطرات نشت دادهها را کاهش دهند. با کنترلهای سرویس VPC، شما محدودههایی ایجاد میکنید که از منابع و دادههای سرویسهایی که صریحاً مشخص میکنید، محافظت میکنند.
سرویسهای Cloud Firestore همراه
APIهای زیر در کنترلهای سرویس VPC با هم ترکیب شدهاند:
-
firestore.googleapis.com -
datastore.googleapis.com -
firestorekeyvisualizer.googleapis.com
وقتی سرویس firestore.googleapis.com را در یک محیط محدود میکنید، آن محیط سرویسهای datastore.googleapis.com و firestorekeyvisualizer.googleapis.com را نیز محدود میکند.
محدود کردن سرویس datastore.googleapis.com
سرویس datastore.googleapis.com زیر مجموعه سرویس firestore.googleapis.com است. برای محدود کردن سرویس datastore.googleapis.com ، باید سرویس firestore.googleapis.com را به صورت زیر محدود کنید:
- هنگام ایجاد محیط سرویس با استفاده از کنسول Google Cloud، Cloud Firestore به عنوان سرویس محدود شده اضافه کنید.
هنگام ایجاد محیط سرویس با استفاده از Google Cloud CLI )، به جای
datastore.googleapis.comازfirestore.googleapis.comاستفاده کنید.--perimeter-restricted-services=firestore.googleapis.com
سرویسهای همراه قدیمی App Engine برای Datastore
سرویسهای همراه قدیمی App Engine برای Datastore از محیطهای سرویس پشتیبانی نمیکنند. محافظت از سرویس Datastore با محیط سرویس، ترافیک سرویسهای همراه قدیمی App Engine را مسدود میکند. سرویسهای همراه قدیمی شامل موارد زیر هستند:
- Datastore جاوا ۸ با APIهای App Engine
- کتابخانه کلاینت NDB پایتون ۲ برای Datastore
- Datastore نسخه ۱.۱۱ با APIهای App Engine
محافظت در برابر خروج در عملیات واردات و صادرات
Cloud Firestore از کنترلهای سرویس VPC پشتیبانی میکند، اما برای دریافت محافظت کامل در برابر خروج اطلاعات در عملیات واردات و صادرات، به پیکربندی اضافی نیاز دارد. شما باید از عامل سرویس Cloud Firestore برای تأیید عملیات واردات و صادرات به جای حساب سرویس پیشفرض App Engine استفاده کنید. برای مشاهده و پیکربندی حساب مجوز برای عملیات واردات و صادرات، از دستورالعملهای زیر استفاده کنید.
نماینده خدمات Cloud Firestore
Cloud Firestore به جای استفاده از حساب سرویس App Engine از یک عامل سرویس Cloud Firestore برای تأیید عملیات واردات و صادرات استفاده میکند. عامل سرویس و حساب سرویس از قراردادهای نامگذاری زیر استفاده میکنند:
- نماینده خدمات Cloud Firestore
-
service- PROJECT_NUMBER @gcp-sa-firestore.iam.gserviceaccount.com
Cloud Firestore قبلاً به جای سرویس Agent Cloud Firestore از حساب سرویس پیشفرض App Engine استفاده میکرد. اگر پایگاه داده شما هنوز از حساب سرویس App Engine برای وارد کردن یا صادر کردن دادهها استفاده میکند، توصیه میکنیم دستورالعملهای این بخش را برای مهاجرت به استفاده از سرویس Agent Cloud Firestore دنبال کنید.
- حساب سرویس App Engine
-
PROJECT_ID @appspot.gserviceaccount.com
عامل سرویس Cloud Firestore ترجیح داده میشود زیرا مختص Cloud Firestore است. حساب سرویس App Engine توسط بیش از یک سرویس به اشتراک گذاشته میشود.
مشاهده حساب مجوز
شما میتوانید از صفحه Import/Export در کنسول Google Cloud مشاهده کنید که عملیات واردات و صادرات شما از کدام حساب برای تأیید درخواستها استفاده میکند. همچنین میتوانید مشاهده کنید که آیا پایگاه داده شما از قبل از عامل سرویس Cloud Firestore استفاده میکند یا خیر.
- حساب مجوز را در کنار برچسب کارهای واردات/صادرات که اجرا میشوند، مشاهده کنید.
اگر پروژه شما از عامل سرویس Cloud Firestore استفاده نمیکند، میتوانید با استفاده از هر یک از این تکنیکها به عامل سرویس Cloud Firestore مهاجرت کنید:
- با بررسی و بهروزرسانی مجوزهای فضای Cloud Storage (توصیه میشود)، یک پروژه را منتقل کنید .
- یک محدودیت سیاستی در سطح سازمان اضافه کنید که بر همه پروژههای درون سازمان تأثیر بگذارد.
اولین تکنیک از این دو تکنیک ترجیح داده میشود زیرا دامنه تأثیر را به یک پروژه واحد Cloud Firestore محدود میکند. تکنیک دوم ترجیح داده نمیشود زیرا مجوزهای موجود Cloud Storage bucket را منتقل نمیکند. با این حال، انطباق امنیتی را در سطح سازمان ارائه میدهد.
با بررسی و بهروزرسانی مجوزهای Cloud Storage مهاجرت کنید
فرآیند مهاجرت دو مرحله دارد:
- مجوزهای مخزن Cloud Storage را بهروزرسانی کنید. برای جزئیات بیشتر به بخش زیر مراجعه کنید.
- مهاجرت به نماینده سرویس Cloud Firestore را تأیید کنید.
مجوزهای سطل عامل خدمات
برای هرگونه عملیات صادرات یا واردات که از یک سطل Cloud Storage در پروژه دیگری استفاده میکند، باید مجوزهای عامل سرویس Cloud Firestore را برای آن سطل اعطا کنید. به عنوان مثال، عملیاتی که دادهها را به پروژه دیگری منتقل میکنند، باید به یک سطل در آن پروژه دیگر دسترسی داشته باشند. در غیر این صورت، این عملیات پس از مهاجرت به عامل سرویس Cloud Firestore با شکست مواجه میشوند.
گردشهای کاری واردات و صادرات که در همان پروژه باقی میمانند، نیازی به تغییر در مجوزها ندارند. نماینده سرویس Cloud Firestore میتواند به طور پیشفرض به سطلهای موجود در همان پروژه دسترسی داشته باشد.
مجوزهای مربوط به مخازن Cloud Storage از پروژههای دیگر را بهروزرسانی کنید تا به service- PROJECT_NUMBER @gcp-sa-firestore.iam.gserviceaccount.com service agent. به service agent نقش Firestore Service Agent را اعطا کنید.
نقش Firestore Service Agent مجوزهای خواندن و نوشتن را برای یک مخزن Cloud Storage اعطا میکند. اگر نیاز دارید فقط مجوزهای خواندن یا فقط نوشتن را اعطا کنید، از یک نقش سفارشی استفاده کنید.
فرآیند مهاجرت شرح داده شده در بخش زیر به شما کمک میکند تا سطلهای Cloud Storage را که ممکن است نیاز به بهروزرسانی مجوز داشته باشند، شناسایی کنید.
انتقال یک پروژه به نماینده خدمات Firestore
برای مهاجرت از حساب سرویس App Engine به سرویس Cloud Firestore مراحل زیر را انجام دهید. پس از اتمام، مهاجرت قابل لغو نیست.
اگر پروژه شما هنوز به عامل سرویس Cloud Firestore منتقل نشده است، بنری را مشاهده میکنید که مهاجرت را شرح میدهد و دکمهای با عنوان «بررسی وضعیت سطل» (Check Bucket Status) وجود دارد. مرحله بعدی به شما کمک میکند تا خطاهای احتمالی مجوز را شناسایی و برطرف کنید.
روی بررسی وضعیت سطل کلیک کنید.
منویی با گزینه تکمیل انتقال و لیستی از فضاهای Cloud Storage ظاهر میشود. ممکن است بارگذاری کامل لیست چند دقیقه طول بکشد.
این لیست شامل سطلهایی است که اخیراً در عملیات واردات و صادرات مورد استفاده قرار گرفتهاند، اما در حال حاضر مجوزهای خواندن و نوشتن را به نماینده سرویس Cloud Firestore نمیدهند.
- به نام اصلی عامل سرویس Cloud Firestore پروژه خود توجه کنید. نام عامل سرویس در زیر عامل سرویس ظاهر میشود تا به برچسب دسترسی داده شود .
برای هر سطل موجود در لیست که برای عملیات واردات یا صادرات آینده استفاده خواهید کرد، مراحل زیر را انجام دهید:
در ردیف جدول این سطل، روی «رفع» کلیک کنید. این کار صفحه مجوزهای آن سطل را در یک برگه جدید باز میکند.
- روی افزودن کلیک کنید.
- در فیلد New principals ، نام نماینده خدمات Cloud Firestore خود را وارد کنید.
- در فیلد «انتخاب نقش» ، «نمایندگان خدمات» > «نماینده خدمات Firestore» را انتخاب کنید.
- روی ذخیره کلیک کنید.
- به برگهای که صفحهی وارد کردن/صادر کردن Cloud Firestore در آن قرار دارد، برگردید.
- این مراحل را برای سایر سطلهای موجود در لیست تکرار کنید. مطمئن شوید که تمام صفحات لیست را مشاهده میکنید.
روی «مهاجرت به نماینده خدمات Firestore» کلیک کنید. اگر هنوز سطلهایی با بررسیهای مجوز ناموفق دارید، باید با کلیک روی «مهاجرت» مهاجرت خود را تأیید کنید.
یک هشدار به شما اطلاع میدهد که چه زمانی مهاجرت شما کامل میشود. مهاجرت قابل لغو نیست.
مشاهده وضعیت مهاجرت
برای تأیید وضعیت مهاجرت پروژه خود:
به دنبال مدیر (Principal) در کنار کارهای Import/Export که به عنوان برچسب اجرا میشوند، بگردید.
اگر مدیر اصلی
service- PROJECT_NUMBER @gcp-sa-firestore.iam.gserviceaccount.comباشد، پروژه شما قبلاً به عامل سرویس Cloud Firestore منتقل شده است. این مهاجرت قابل لغو نیست.اگر پروژه منتقل نشده باشد، یک بنر در بالای صفحه با دکمه «بررسی وضعیت سطل » ظاهر میشود. برای تکمیل مهاجرت ، به «انتقال به نماینده خدمات Firestore» مراجعه کنید.
افزودن یک محدودیت سیاست در سطح سازمان
محدودیت زیر را در سیاست سازمان خود تنظیم کنید:
برای واردات/صادرات، به نماینده خدمات Firestore نیاز داشته باشید (
firestore.requireP4SAforImportExport).این محدودیت مستلزم آن است که عملیات واردات و صادرات از عامل سرویس Cloud Firestore برای تأیید درخواستها استفاده کنند. برای تنظیم این محدودیت، به ایجاد و مدیریت سیاستهای سازمان مراجعه کنید.
اعمال این محدودیت سیاست سازمانی، به طور خودکار مجوزهای مناسب برای باکت Cloud Storage را برای عامل سرویس Cloud Firestore اعطا نمیکند.
اگر این محدودیت باعث ایجاد خطاهای مجوز برای هرگونه گردش کار واردات یا صادرات شود، میتوانید آن را غیرفعال کنید تا به استفاده از حساب سرویس پیشفرض برگردید. پس از بررسی و بهروزرسانی مجوزهای سطل Cloud Storage ، میتوانید دوباره این محدودیت را فعال کنید.