کنترل های سرویس VPC - BigQuery Protection Codelab I

۱. مقدمه

در این آزمایشگاه کد، یاد خواهید گرفت که چگونه از API بیگ‌کوئری با استفاده از کنترل‌های سرویس VPC محافظت کنید. آزمایشگاه کد با هیچ سرویس API محافظت‌شده توسط محیط سرویس شروع می‌شود و به کوئری‌ها اجازه می‌دهد تا روی مجموعه داده‌های عمومی اجرا شوند و نتایج در یک جدول پروژه ذخیره شوند. کوئری در یک پروژه اجرا می‌شود و جدول (جایی که نتایج ذخیره می‌شوند) در پروژه دیگری ایجاد می‌شود، که از تنظیماتی تقلید می‌کند که در آن داده‌ها می‌توانند در یک پروژه ذخیره شوند اما باید با استفاده از یک پروژه دیگر به آنها دسترسی پیدا کرد.

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

  • نحوه رفع تخلفات ورودی و خروجی به ترتیب با استفاده از قوانین ورودی و خروجی را درک کنید.
  • بفهمید که چرا یک تخلف خاص رخ داده است.
  • دامنه رفع تخلف اعمال شده را تجزیه و تحلیل کنید.
  • اصلاحیه (قانون ورود/خروج) را اصلاح کنید تا با استفاده از گزینه اجازه دادن به ترافیک از آدرس‌های IP داخلی در یک شبکه VPC با استفاده از سطوح دسترسی، دامنه آن تغییر کند.

۲. راه‌اندازی منابع و الزامات

قبل از اینکه شروع کنی

در این آزمایشگاه کد، فرض می‌کنیم که شما از قبل موارد زیر را می‌دانید:

راه‌اندازی

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

طراحی اولیه با محیط سرویس محافظت‌شده بدون API.

ایجاد یک محدوده سرویس منظم

در این آزمایشگاه کد، ما از یک سرویس محیطی معمولی برای محافظت project-1 استفاده خواهیم کرد.

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

در این آزمایشگاه کد، ما از یک نمونه موتور محاسباتی در project-2 ، واقع در us-central1 و با استفاده از شبکه پیش‌فرض VPC با نام default استفاده خواهیم کرد.

هزینه

برای استفاده از منابع/APIهای ابری، باید امکان پرداخت صورتحساب را در کنسول Google Cloud فعال کنید. توصیه می‌کنیم منابع استفاده‌شده را غیرفعال کنید تا از پرداخت صورتحساب فراتر از این آزمایشگاه کد جلوگیری شود. کاربران جدید Google Cloud واجد شرایط برنامه آزمایشی رایگان ۳۰۰ دلاری هستند.

منابعی که هزینه دارند، BigQuery و نمونه Compute Engine هستند. می‌توانید هزینه را با استفاده از ماشین حساب قیمت گذاری BigQuery و ماشین حساب قیمت گذاری Compute Engine تخمین بزنید.

۳. دسترسی به BigQuery بدون محدودیت‌های کنترل سرویس VPC

پرس و جو از مجموعه داده‌های عمومی و ذخیره نتایج در project-1

  1. برای بررسی اینکه آیا می‌توانید به BigQuery API دسترسی داشته باشید یا خیر، به صفحه BigQuery Studio در project-2 و project-1 دسترسی پیدا کنید. شما باید بتوانید این کار را انجام دهید زیرا حتی اگر project-1 در یک محیط سرویس باشد، این محیط هنوز از هیچ سرویسی محافظت نمی‌کند.
  2. از project-2 ، کوئری زیر را برای جستجوی یک مجموعه داده عمومی اجرا کنید.
SELECT  name, SUM(number) AS total
FROM  `bigquery-public-data.usa_names.usa_1910_2013`
GROUP BY   name
ORDER BY total DESC
LIMIT 10;

پس از اجرای کوئری به مجموعه داده عمومی (در حالی که در project-2 باقی مانده‌ایم):

  1. روی ذخیره نتایج کلیک کنید و جدول BigQuery را انتخاب کنید. (به تصویر زیر مراجعه کنید). نتایج BigQuery را ذخیره کنید.
  2. project-1 به عنوان پروژه مقصد انتخاب کنید.
  3. نام مجموعه داده را codelab_dataset بگذارید. (در صورت عدم استفاده از مجموعه داده موجود، گزینه CREATE NEW DATASET را انتخاب کنید). انتخاب پروژه مقصد هنگام ذخیره نتایج BigQuery.
  4. نام جدول را به صورت codelab-table بنویسید.
  5. روی ذخیره کلیک کنید.

داده‌های مجموعه داده عمومی در نتیجه اجرای پرس‌وجو از project-2 با موفقیت در project-1 ذخیره شده‌اند.

مجموعه داده کوئری ذخیره شده در project-1 از project-2

در حالی که در project-2 BigQuery Studio هستید، کوئری زیر را برای انتخاب داده‌ها از بین موارد زیر اجرا کنید:

  • پروژه: project-1
  • مجموعه داده: codelab_dataset
  • جدول: codelab-table
SELECT name, total
FROM `project-1.codelab_dataset.codelab-table`
ORDER BY total DESC
LIMIT 10;

پرس‌وجو باید با موفقیت اجرا شود، زیرا نه project-2 و نه project-1 محدود به استفاده از BigQuery نیستند. دسترسی به BigQuery از و به هر مکانی مجاز است، مادامی که کاربر مجوزهای IAM مناسب را داشته باشد.

راه‌اندازی Codelab بدون سرویس VPC، محیط‌های سرویس را کنترل می‌کند. این نمودار فرآیند پرس‌وجوی یک کاربر اصلی از مجموعه داده‌های BigQuery را نشان می‌دهد. هر پرس‌وجوی BigQuery یک کار BigQuery را آغاز می‌کند که سپس عملیات واقعی، در این سناریو، بازیابی داده‌ها را انجام می‌دهد. دسترسی کاربر اصلی از یک نمونه Compute Engine و از اینترنت، در حالی که از یک مجموعه داده عمومی و از یک پروژه Google Cloud جداگانه پرس‌وجو می‌کند، نشان داده شده است. فرآیند پرس‌وجوی داده‌ها ( GetData ) بدون مسدود شدن توسط کنترل‌های سرویس VPC با موفقیت انجام می‌شود.

۴. محافظت از API بیگ‌کوئری در پروژه مجموعه داده منبع

پیکربندی perimeter perimeter-1 را تغییر دهید و سرویس BigQuery API را به همراه منبع محافظت شده project-1 محدود کنید.

پیکربندی محیط سرویس

تأیید اجرای حریم سرویس

از project-2 ، مانند مرحله قبل، کوئری زیر را در BigQuery Studio اجرا کنید:

SELECT name, total
FROM `project-1.codelab_dataset.codelab-table`
ORDER BY total DESC
LIMIT 10;

نقض کنترل‌های سرویس VPC RESOURCES_NOT_IN_SAME_SERVICE_PERIMETER رخ خواهد داد.

نقض کنترل‌های سرویس Egress VPC

گزارش حسابرسی تخلف در project-1 قرار خواهد گرفت، زیرا جایی است که تخلف عبور از محدوده رخ داده است. گزارش‌ها را می‌توان با vpcServiceControlsUniqueId مشاهده شده فیلتر کرد ( VPC_SC_DENIAL_UNIQUE_ID را با شناسه منحصر به فرد مشاهده شده جایگزین کنید).

severity=ERROR
resource.type="audited_resource"
protoPayload.metadata.@type="type.googleapis.com/google.cloud.audit.VpcServiceControlAuditMetadata"
protoPayload.metadata.vpcServiceControlsUniqueId="[*VPC_SC_DENIAL_UNIQUE_ID*]"

تخلف، egressViolations است که شامل موارد زیر می‌شود:

  • principalEmail : [حساب کاربری که کوئری را اجرا می‌کند]
  • callerIp : [آدرس IP عامل کاربری که کوئری را اجرا می‌کند]
     "egressViolations": [
       {
         "targetResource": "projects/project-2",
         "sourceType": "Resource",
         "source": "projects/project-1",
         "servicePerimeter": "accessPolicies/REDACTED/servicePerimeters/perimeter-1",
         "targetResourcePermissions": [ "bigquery.jobs.create"]
       }      ],

۵. رفع تخلف برای ایجاد BigQuery Job

ترافیک خروجی برای ایجاد شغل در BigQuery با شکست مواجه شد. این نمودار نشان می‌دهد که چه زمانی یک مدیر اصلی، یک پرس‌وجو را از project-2 برای یک مجموعه داده در project-1 اجرا می‌کند. عملیات ایجاد یک کار BigQuery، از پروژه مجموعه داده ( project-1 ) در پروژه‌ای که پرس‌وجو از ( project-2 ) اجرا می‌شود، به دلیل نقض خروج کنترل‌های سرویس VPC به دلیل محافظت از API BigQuery توسط perimeter-1 سرویس، با شکست مواجه می‌شود. با وجود محیط پیرامونی، هیچ درخواست BigQuery API نمی‌تواند از project-1 به سمت خارج از محیط یا خارج از محیط به سمت پروژه محافظت‌شده آغاز شود؛ مگر اینکه توسط پیکربندی‌های محیط پیرامونی سرویس مجاز باشد.

نقض خروج را می‌توان با ایجاد یک قانون خروج که بر اساس موارد زیر است، برطرف کرد:

  • منبع (از): یعنی آدرس ایمیل کاربر و متن (مثلاً: آدرس آی‌پی تماس‌گیرنده، وضعیت دستگاه، موقعیت مکانی و غیره)
  • مقصد (TO): یعنی منبع، سرویس و روش یا مجوز هدف.

برای رفع نقض خروج مشاهده‌شده، یک قانون خروج ایجاد کنید که به ترافیک به سمت targetResource ( project-2 ) توسط حساب کاربری که پرس‌وجو ( user@example.com ) را در سرویس BigQuery اجرا می‌کند و با استفاده از متد/مجوز bigquery.jobs.create ، اجازه عبور می‌دهد.

نقض خروج - پیکربندی‌ها را اصلاح کنید.

رفتار مورد انتظار از قانون خروج پیکربندی شده:

  • از | هویت‌ها: فقط هویت مشخص‌شده user@example.com باید اجازه عبور از مرز پیرامون را داشته باشد.
  • TO | projects: هویت مشخص شده فقط در صورتی می‌تواند از مرزهای پیرامونی عبور کند که مقصد، پروژه مشخص شده project-2 باشد.
  • به | سرویس‌ها: هویت مشخص‌شده می‌تواند ترافیک را در خارج از محیط، به سمت پروژه مشخص‌شده، آغاز کند، تنها در صورتی که فراخوانی API برای سرویس و روش مشخص‌شده باشد. در غیر این صورت، برای مثال، اگر سرویس دیگری را که توسط محیط سرویس محافظت می‌شود، امتحان کنند، عملیات مسدود خواهد شد زیرا سرویس‌های دیگر مجاز نیستند.

تست رفع مشکل: قانون خروج

پس از اعمال قانون خروج، همان کوئری را اجرا کنید.

SELECT name, total
FROM `project-1.codelab_dataset.codelab-table`
ORDER BY total DESC
LIMIT 10;

تخلف دیگری رخ خواهد داد، این بار تخلف ورودی NO_MATCHING_ACCESS_LEVEL . تخلف جدید از نظر پروژه هدف و روش با تخلف اول متفاوت است.

نقض کنترل‌های سرویس Ingress VPC

تخلف جدید، تخلف ورود با ... است.

  • principalEmail : [حساب کاربری که کوئری را اجرا می‌کند]
  • callerIp : [آدرس IP عامل کاربری که کوئری را اجرا می‌کند]
ingressViolations: [
0: {
 servicePerimeter: "accessPolicies/REDACTED/servicePerimeters/perimeter-1"
 targetResource: "projects/project-1"
 targetResourcePermissions: [0: "bigquery.tables.getData"]}
 ]

نقض مربوط به متد bigquery.tables.getData به دلیل فراخوانی API است که توسط کار BigQuery آغاز شده و سعی در دریافت داده‌ها از جدول BigQuery دارد.

۶. رفع نقص برای دریافت داده‌های جدول BigQuery

یک قانون ورود، تخلف ورود را برطرف می‌کند، ضمن اینکه کنترل دقیقی بر روی اینکه چه کسی مجاز به عبور از مرز محیط سرویس است، به همراه زمینه دسترسی مجاز، مانند پروژه منبع/هدف و روش API که می‌توانند به آن دسترسی داشته باشند، ارائه می‌دهد.

نقض ورود توسط یک قانون ورود که با موارد زیر پیکربندی شده است، برطرف می‌شود:

  • منبع (از): یعنی آدرس ایمیل کاربر و متن (مثلاً: آدرس آی‌پی تماس‌گیرنده، وضعیت دستگاه، موقعیت مکانی و غیره)
  • مقصد (TO): یعنی منبع، سرویس و روش یا مجوز هدف.

قانون ورود، ترافیک را به سمت project-1 توسط کاربر مشخص شده روی سرویس و روش مشخص شده مجاز می‌کند.

رفع نقص ورود

رفتار مورد انتظار از قانون ورود پیکربندی شده:

  • از | هویت‌ها: فقط هویت مشخص‌شده user@example.com باید اجازه عبور از مرز پیرامون را داشته باشد.
  • TO | projects: هویت مشخص شده فقط در صورتی می‌تواند از مرزهای پیرامونی عبور کند که مقصد، پروژه مشخص شده project-1 باشد.
  • به | سرویس‌ها: هویت مشخص‌شده تنها در صورتی می‌تواند ترافیک را در داخل محیط آغاز کند که فراخوانی API برای API بیگ‌کوئری و متد مشخص‌شده bigquery.tables.getData باشد.

اجرای همان پرس‌وجو از این پس باید به طور مناسب و بدون نقض کنترل‌های سرویس VPC عمل کند.

ما با موفقیت API مربوط به BigQuery را در project-1 محدود کردیم، به طوری که فقط user@example.com بتواند از آن استفاده کند و user2@example.com نمی‌تواند از آن استفاده کند.

کنترل‌های سرویس VPC، از BigQuery API در برابر حملات محیطی محافظت می‌کنند این نمودار نشان می‌دهد که چگونه دو مدیر اصلی مختلف تلاش می‌کنند تا از یک مجموعه داده یکسان پرس‌وجو کنند. دسترسی توسط user2@example.com (خطوط آبی نقطه‌چین) توسط VPC Service Controls رد می‌شود، زیرا آنها مجاز به اجرای عملیات BigQuery از یا به سمت project-1 توسط پیکربندی محیط سرویس نیستند. دسترسی توسط user@example.com (خطوط ممتد سبز) موفقیت‌آمیز است، زیرا آنها توسط پیکربندی‌های VPC Service Controls مجاز به انجام عملیات از و به سمت project-1 هستند.

۷. محدود کردن ترافیک مجاز توسط محیط سرویس بر اساس آدرس IP داخلی

پیکربندی فعلی به کاربر تعیین‌شده این امکان را می‌دهد که از هر مکانی و در هر کجای اینترنت، در صورت داشتن مجوز IAM برای جستجوی داده‌ها و تا زمانی که از حساب کاربری خود استفاده می‌کند، در BigQuery در project-1 پرس‌وجوهایی را اجرا کند. از دیدگاه امنیتی، این بدان معناست که اگر حساب کاربری به خطر بیفتد، هر فردی که به حساب دسترسی پیدا کند، می‌تواند بدون هیچ محدودیت اضافی به داده‌های BigQuery دسترسی پیدا کند.

محدودیت‌های بیشتر را می‌توان با استفاده از سطح دسترسی در قوانین ورود و خروج برای مشخص کردن زمینه کاربر اعمال کرد. به عنوان مثال، می‌توانید دسترسی را بر اساس IP منبع در رابطه با یک قانون ورود از قبل پیکربندی شده که دسترسی را بر اساس هویت تماس‌گیرنده مجاز می‌کند، مجاز کنید. دسترسی بر اساس IP منبع برای هر دو محدوده IP CIDR عمومی امکان‌پذیر است، مشروط بر اینکه کلاینت کاربر یک IP عمومی به آن اختصاص داده باشد، یا با استفاده از یک آدرس IP داخلی در صورتی که کلاینت کاربر از یک پروژه Google Cloud فعالیت می‌کند.

ایجاد سطح دسترسی با شرط دسترسی آدرس IP داخلی

در همان پوشه‌ی scoped access policy، صفحه‌ی Access Context Manager را باز کنید تا یک سطح دسترسی ایجاد کنید .

  1. در صفحه مدیریت دسترسی به محتوا، گزینه CREATE ACCESS LEVEL را انتخاب کنید.
  2. در پنل سطح دسترسی جدید:
    1. یک عنوان وارد کنید: می‌توانید codelab-al استفاده کنید.
    2. در بخش شرایط، روی زیرشبکه‌های IP کلیک کنید.
    3. تب Private IP را انتخاب کرده و روی SELECT VPC NETWORKS کلیک کنید.
    4. از پنجره Add VPC Networks ، می‌توانید شبکه default را جستجو و پیدا کنید یا نام کامل شبکه را به صورت دستی در قالب //compute.googleapis.com/projects/project-2/global/networks/default وارد کنید.
    5. روی افزودن شبکه VPC کلیک کنید.
    6. روی انتخاب زیرشبکه‌های IP کلیک کنید.
    7. منطقه‌ای که نمونه ماشین مجازی در آن قرار دارد را انتخاب کنید. برای این آزمایشگاه کد، این منطقه us-central1 است.
    8. روی ذخیره کلیک کنید.

ما یک سطح دسترسی ایجاد کرده‌ایم که هنوز در هیچ یک از سیاست‌های پیرامونی یا ورود/خروج اعمال نشده است.

سطح دسترسی پیکربندی شده با IP Subnetworks

اضافه کردن سطح دسترسی به قانون ورود

برای اینکه تأیید شود کاربری که توسط قانون ingress مجاز شده است، با سطح دسترسی نیز تأیید می‌شود، لازم است سطح دسترسی را در قانون ingress پیکربندی کنید. قانون ingress که دسترسی به داده‌های پرس‌وجو را مجاز می‌کند، در perimeter-1 قرار دارد. قانون ingress را تغییر دهید تا منبع را به عنوان سطح دسترسی codelab-al تعریف کنید.

سطح دسترسی با شبکه VPC

آزمایش پیکربندی‌های جدید

پس از افزودن سطح دسترسی در قانون ورود، همان کوئری BigQuery با شکست مواجه خواهد شد، مگر اینکه از کلاینت در شبکه VPC default برای پروژه project-2 اجرا شود. برای تأیید این رفتار، کوئری را از کنسول Google Cloud در حالی که دستگاه نقطه پایانی به اینترنت متصل است، اجرا کنید. کوئری به طور ناموفق خاتمه می‌یابد و همراه با نشانه‌ای از نقض ورود خواهد بود.

همین کوئری را می‌توان از default شبکه VPC که در project-2 قرار دارد، اجرا کرد. به طور مشابه، اجرای همین کوئری BigQuery از یک نمونه Compute Engine واقع در project-2 با استفاده از default شبکه VPC نیز با شکست مواجه خواهد شد. دلیل این امر این است که قانون ورود هنوز طوری پیکربندی شده است که فقط به کاربر اصلی user@example.com اجازه ورود بدهد. با این حال، ماشین مجازی از حساب سرویس پیش‌فرض Compute Engine استفاده می‌کند.

برای اجرای موفقیت‌آمیز همان دستور از نمونه Compute Engine در project-2 ، مطمئن شوید که:

  • ماشین مجازی (VM) به استفاده از BigQuery API دسترسی دارد. این کار را می‌توان با انتخاب گزینه Allow full access to all Cloud APIs به عنوان محدوده دسترسی ماشین مجازی انجام داد.
  • حساب کاربری سرویس متصل به ماشین مجازی به مجوزهای IAM برای موارد زیر نیاز دارد:
    • ایجاد BigQuery Jobs در project-2
    • داده‌های BigQuery را از جدول BigQuery واقع در project-1 دریافت کنید
  • حساب کاربری پیش‌فرض سرویس Compute Engine باید توسط قانون ورود و خروج مجاز باشد.

حالا باید حساب سرویس پیش‌فرض Compute Engine را در قوانین ورودی (برای دریافت داده‌ها از جدول BigQuery) و در قانون خروجی (برای ایجاد کارهای BigQuery) اضافه کنیم.

سرویس VPC پیکربندی محیط سرویس را با سطوح دسترسی کنترل می‌کند.

از یک نمونه Compute Engine در project-2 روی شبکه default VPC، دستور bq query زیر را اجرا کنید:

bq query --nouse_legacy_sql \
'SELECT name, total
FROM `project-1.codelab_dataset.codelab-table`
ORDER BY total DESC
LIMIT 10;'

با پیکربندی فعلی، دستور BigQuery تنها در صورتی موفق خواهد شد که:

  • با استفاده از شبکه پیش‌فرض VPC در project-2 ، روی یک ماشین مجازی اجرا شود، و
  • واقع در ناحیه مشخص شده us-central1 (زیرشبکه Ip)
  • با استفاده از حساب سرویس پیش‌فرض Compute Engine که در محیط سرویس پیکربندی شده است، اجرا شود.

پرس‌وجوی دستوری BigQuery اگر از هر جای دیگری اجرا شود، از جمله موارد زیر، با شکست مواجه خواهد شد:

  • اگر روی یک ماشین مجازی با استفاده از شبکه پیش‌فرض VPC در project-2 اجرا شود اما در منطقه‌ای متفاوت از زیرشبکه اضافه شده در سطح دسترسی قرار داشته باشد، یا
  • اگر توسط کاربر user@example.com با یک کلاینت کاربری در اینترنت اجرا شود.

محیط سرویس، امکان دسترسی به حساب سرویس پیش‌فرض GCE را فراهم می‌کند. این نمودار، دسترسی آغاز شده توسط یک مدیر اصلی، user@example.com ، را از دو مکان مختلف نشان می‌دهد: اینترنت و یک نمونه Compute Engine. دسترسی به BigQuery مستقیماً از طریق اینترنت (خطوط نقطه‌چین آبی) توسط کنترل‌های سرویس VPC مسدود شده است، در حالی که دسترسی از یک ماشین مجازی (خطوط ممتد سبز) - در حالی که خود را به عنوان حساب سرویس پیش‌فرض Compute Engine جا می‌زند - مجاز است. دسترسی مجاز به این دلیل است که محیط سرویس پیکربندی شده است تا امکان دسترسی به منابع محافظت شده از یک آدرس IP داخلی را فراهم کند.

۸. پاکسازی

اگرچه هیچ هزینه جداگانه‌ای برای استفاده از کنترل‌های سرویس VPC در زمانی که سرویس در حال استفاده نیست، وجود ندارد، اما بهترین روش، پاکسازی تنظیمات مورد استفاده در این آزمایشگاه است. همچنین می‌توانید نمونه ماشین مجازی و مجموعه داده‌های BigQuery یا پروژه‌های Google Cloud را حذف کنید تا از پرداخت هزینه‌ها جلوگیری کنید. حذف پروژه Cloud، پرداخت هزینه برای تمام منابع مورد استفاده در آن پروژه را متوقف می‌کند.

  • برای حذف نمونه ماشین مجازی ، مراحل زیر را انجام دهید:
    • در کنسول گوگل کلود، به صفحه نمونه‌های ماشین مجازی بروید.
    • کادر انتخاب سمت چپ نام نمونه ماشین مجازی را علامت بزنید و سپس Delete را انتخاب کنید و برای تأیید دوباره روی Delete کلیک کنید. حذف نمونه موتور محاسبه (Compute Engine).
  • برای حذف سرویس Perimeter مراحل زیر را انجام دهید:
    • در کنسول Google Cloud، در سطحی که سیاست دسترسی در آن تعریف شده است، که در این مورد، در سطح پوشه است، گزینه Security و سپس VPC Service Controls را انتخاب کنید.
    • در صفحه کنترل‌های سرویس VPC، در ردیف جدول مربوط به محیطی که می‌خواهید حذف کنید، روی حذف کلیک کنید.
  • برای حذف سطح دسترسی ، مراحل زیر را انجام دهید:
    • در کنسول گوگل کلود، صفحه Access Context Manager را در محدوده پوشه باز کنید.
    • در جدول، ردیف مربوط به سطح دسترسی که می‌خواهید حذف کنید را مشخص کنید، منوی سه نقطه را انتخاب کنید و سپس حذف را انتخاب کنید.
  • برای خاموش کردن پروژه‌ها ، مراحل زیر را انجام دهید:
    • در کنسول گوگل کلود، به صفحه تنظیمات مدیریت و دسترسی به اطلاعات (IAM & Admin Settings) پروژه‌ای که می‌خواهید حذف کنید، بروید.
    • در صفحه تنظیمات مدیریت و دسترسی (IAM & Admin Settings)، گزینه خاموش کردن (Shutdown) را انتخاب کنید.
    • شناسه پروژه را وارد کنید و گزینه «خاموش کردن به هر حال» را انتخاب کنید.

۹. تبریک می‌گویم!

در این آزمایشگاه کد، شما یک محیط کنترل‌های سرویس VPC ایجاد کردید، آن را اجرا کردید و عیب‌یابی کردید.

اطلاعات بیشتر

همچنین می‌توانید سناریوهای زیر را بررسی کنید:

  • پس از اینکه پروژه توسط کنترل‌های سرویس VPC محافظت شد، همان کوئری را روی مجموعه داده‌های عمومی اجرا کنید.
  • project-2 در همان محیطی که project-1 قرار دارد، اضافه کنید.
  • project-2 را در محیط خودش اضافه کن و project-1 در محیط فعلی نگه دار.
  • کوئری‌ها را برای به‌روزرسانی داده‌ها در جدول اجرا کنید، نه فقط برای بازیابی داده‌ها.

مجوز

این اثر تحت مجوز عمومی Creative Commons Attribution 2.0 منتشر شده است.