Управление службами VPC – защита службы передачи данных BigQuery

1. Введение

В этой лабораторной работе мы научимся защищать службу передачи данных BigQuery с помощью элементов управления службами VPC при передаче данных из облачного хранилища в набор данных BigQuery. Затем мы защищаем Cloud Storage и повторяем процесс переноса данных из Cloud Storage в BigQuery. Защита облачного хранилища вызывает нарушение контроля обслуживания VPC, которое необходимо устранить для успешной передачи. В конце концов, мы также защищаем BigQuery , а затем пытаемся скопировать набор данных между проектами, что также вызывает нарушение, которое необходимо исправить.

В ходе этой лабораторной работы мы увидим, как исправить входящие и исходящие нарушения, используя правила входящего и исходящего трафика соответственно. Мы также будем использовать уровень доступа, чтобы исправить нарушение входящего трафика BigQuery Data Transfer. Цели этой кодовой лаборатории:

  • Узнайте, как устранять нарушения входящего и исходящего трафика, используя правила входящего и исходящего трафика соответственно в различных сервисах, в частности в Cloud Storage, BigQuery и службе передачи данных BigQuery.
  • Разберитесь, почему произошло конкретное нарушение.

2. Настройка ресурсов и требования

Прежде чем начать

В этой кодовой лаборатории мы предполагаем, что вы уже знаете:

Настраивать

Наша первоначальная установка спроектирована следующим образом:

Схема начальной настройки Codelab

Создайте ограниченную политику и обычный периметр обслуживания.

В этой кодовой лаборатории мы будем использовать обычный сервисный периметр, защищающий project-2 .

В периметре perimeter-2 ограничьте BigQuery Data Transfer API .

Конфигурации VPC SC, защищающие службу передачи данных.

Создание сегмента Cloud Storage и набора данных BigQuery.

Для этой лаборатории кода достаточно любого файла CSV, независимо от его содержимого. Основное ограничение связано с требованием совместного размещения , которое обеспечивает следующее:

  • Если ваш набор данных BigQuery находится в нескольких регионах, сегмент Cloud Storage, содержащий передаваемые вами данные, должен находиться в том же мультирегионе или в расположении, содержащемся в этом мультирегионе.
  • Если ваш набор данных находится в каком-то регионе, ваша корзина Cloud Storage должна находиться в том же регионе.

В дальнейшем для этой лаборатории кода мы будем следить за тем, чтобы и сегмент Cloud Storage, и набор данных BigQuery находились в одном и том же регионе или в нескольких регионах.

Создайте новый сегмент Cloud Storage в проекте project-1

Чтобы создать новую корзину Cloud Storage, выполните описанные в документации действия по созданию новой корзины .

  • В качестве имени сегмента введите имя, соответствующее требованиям к имени сегмента . Для этой лаборатории кода мы назовем сегмент codelab-bqtransfer-bucket .
  • В качестве места хранения данных и местоположения сегмента выберите тип местоположения и местоположение , в котором данные сегмента будут храниться постоянно. Для этой кодовой лаборатории мы будем использовать нас (несколько регионов США) .

Конфигурация создания облачного хранилища.

Создать CSV-файл

На вашем локальном компьютере или с помощью Cloud Shell мы можем использовать команду echo , чтобы создать образец CSV-файла codelab-test-file.csv , используя следующие команды:

echo "name,age" > codelab-test-file.csv; \
echo "Alice,10" >> codelab-test-file.csv; \
echo "Bob,20" >> codelab-test-file.csv; \
echo "Carol,30" >> codelab-test-file.csv; \
echo "Dan,40" >> codelab-test-file.csv; \
echo "Eve,50" >> codelab-test-file.csv; \
echo "Frank,60" >> codelab-test-file.csv; \
echo "Grace,70" >> codelab-test-file.csv; \
echo "Heidi,80" >> codelab-test-file.csv;

Загрузите CSV-файл в корзину Cloud Storage.

После создания файла csv выполните следующую команду, чтобы загрузить объект файла в созданную корзину :

gcloud storage cp codelab-test-file.csv gs://codelab-bqtransfer-bucket

Запустите команду cp, чтобы загрузить CSV-файл в облачное хранилище.

Вы можете убедиться, что файл был загружен в созданную корзину , перечислив объекты в корзине или выполнив следующую команду:

gcloud storage ls --recursive gs://codelab-bqtransfer-bucket/**

Создайте набор данных и таблицу BigQuery в project-2

  1. Создайте набор данных BigQuery в проекте project-2 выполнив следующие действия .
    1. В качестве идентификатора набора данных введите уникальное имя набора данных . Для этой лаборатории кода мы используем: codelab_bqtransfer_dataset .
    2. В поле «Тип местоположения » выберите географическое местоположение для набора данных. Для этой лаборатории кода мы используем то же местоположение, что и сегмент Cloud Storage: США (несколько регионов США) . Создание набора данных BigQuery.
  2. Создайте таблицу BigQuery в созданном наборе данных codelab_bqtransfer_dataset , выполнив следующие действия .
    1. В разделе «Источник» выберите «Пустая таблица» в списке «Создать таблицу из» .
    2. В поле Таблица введите имя таблицы, которую вы хотите создать. Для этой лаборатории кода мы используем имя: codelab-bqtransfer-table .
    3. Убедитесь, что в поле «Тип таблицы» установлено значение «Собственная таблица».
    4. В разделе Схема введите определение схемы . Вы можете ввести информацию о схеме, нажав «Редактировать как текст» и введите следующую схему, соответствующую формату созданного файла CSV.
    [{
    "name": "name",
    "type": "STRING",
    "mode": "NULLABLE",
    "description": "The name"
    },
    {
    "name": "age",
    "type": "INTEGER",
    "mode": "NULLABLE",
    "description": "The age"
    }]
    

Расходы

Чтобы использовать облачные ресурсы/API, вам необходимо включить выставление счетов в проектах project-2 и project-1 . Мы советуем отключить используемые ресурсы, чтобы избежать выставления счетов за пределами этой лаборатории кода.

Ресурсы, на которые распространяются затраты, — это BigQuery и Cloud Storage. Ориентировочную стоимость можно узнать в калькуляторе цен BigQuery и калькуляторе Cloud Storage .

3. Настройте передачу данных из объекта облачного хранилища в таблицу BigQuery.

Теперь мы попробуем создать службу передачи данных (в project-2 ) для передачи из облачного хранилища (находится в project-1 ) в BigQuery (находится в project-2 ), при этом используя элементы управления службами VPC, защищающие службу передачи данных BigQuery в project-2 . Защита только службы передачи данных BigQuery (без защиты BigQuery и Cloud Storage) ограничивает участников только созданием и управлением передачей данных (например, запуском передачи данных вручную).

Настройка передачи данных из Cloud Storage

Чтобы создать передачу данных, выполните следующие действия:

  1. Перейдите на страницу BigQuery в консоли Google Cloud project-2 .
  2. Нажмите Передача данных .

Нарушение VPC SC на странице службы передачи данных.

Расследовать нарушение при доступе к странице передачи данных

В консоли Google Cloud мы видим уникальный идентификатор VPC Service Controls. Используйте тот же идентификатор для фильтрации журналов и выявления деталей нарушения (замените OBSERVED_VPCSC_DENIAL_UNIQUE_ID на наблюдаемый идентификатор отказа):

protoPayload.metadata.@type="type.googleapis.com/google.cloud.audit.VpcServiceControlAuditMetadata"
protoPayload.metadata.vpcServiceControlsUniqueId="OBSERVED_VPCSC_DENIAL_UNIQUE_ID"

Наблюдаемое нарушение — NO_MATCHING_ACCESS_LEVEL , которое является входным нарушением и имеет следующую информацию:

ingressViolations: [
0: {
servicePerimeter: "accessPolicies/987654321/servicePerimeters/perimeter-2"
targetResource: "projects/[PROJECT2_NUMBER]"
}]
violationReason: "NO_MATCHING_ACCESS_LEVEL"
callerIp: "USER_PUBLIC_IP_ADDRESS"
resource: {
labels: {
method: "google.cloud.bigquery.datatransfer.v1.DataTransferService.ListTransferConfigs"
project_id: "project-2"
service: "bigquerydatatransfer.googleapis.com"
}
type: "audited_resource"
}

При доступе к странице «Передача данных» предпринимается попытка просмотреть все настроенные передачи данных; следовательно, нарушение метода ListTransferConfigs .

Устраните нарушение для сервиса bigquerydatatransfer.googleapis.com .

Для устранения нарушения входящего трафика можно использовать уровень доступа или правило входящего доступа. В этой лаборатории кода давайте воспользуемся правилом входа, настроенным с запрещенным идентификатором пользователя, которое разрешает доступ к службе bigquerydatatransfer.googleapis.com и всем методам.

Правило входящего трафика, разрешающее методы передачи данных.

После установки правила входящего доступа доступ к странице «Передача данных» должен работать без проблем.

Возобновляем настройку передачи данных из Cloud Storage.

Из предыдущих шагов, находясь на странице «Передача данных» (после нажатия «Передача данных»), перейдите к следующим шагам:

  1. Нажмите + Создать перевод .
  2. В разделе «Тип источника» для параметра «Источник » выберите «Google Cloud Storage» .
  3. В разделе Имя конфигурации передачи в поле Отображаемое имя введите имя для передачи, например Codelab Transfer .
  4. В разделе «Параметры расписания» :
    1. Выберите частоту повторения, например 15 минут.
    2. Обязательно выберите «Начать сейчас »; в противном случае передача данных начнется только после настроенной частоты повторения.
  5. В разделе «Настройки назначения» для параметра «Набор данных назначения» выберите набор данных, который вы создали для хранения данных: codelab_bqtransfer_dataset
  6. В разделе «Сведения об источнике данных»
    1. В поле «Целевая таблица» введите имя целевой таблицы. Таблица назначения должна соответствовать правилам именования таблиц . Для этой лаборатории кода мы будем использовать таблицу, которую мы создали ранее: codelab-bqtransfer-table
    2. В качестве URI Cloud Storage введите URI Cloud Storage . Для этой лаборатории кода мы используем созданную корзину и файл: codelab-bqtransfer-bucket/codelab-test-file.csv
    3. Для настройки записи сохраните APPEND (или выберите MIRROR ).
    4. НЕ выбирайте удаление файлов после передачи (поскольку мы будем использовать один и тот же файл несколько раз. Однако вы можете использовать несколько файлов и удалить исходные файлы после передачи)
    5. В поле «Формат файла» выберите CSV.
    6. В разделе «Параметры передачи» в разделе «CSV» введите запятую («»,») в качестве разделителя полей .
  7. В меню «Учетная запись службы» выберите учетную запись службы из учетных записей служб, связанных с вашим проектом Google Cloud.
    1. Выбранная учетная запись службы должна иметь необходимые разрешения как для облачного хранилища в проекте, в котором размещен сегмент хранилища; project-1 в этой кодовой лаборатории.
    2. Для этой лаборатории кода мы будем использовать учетную запись службы, созданную в project-2 как codelab-sa@project-2.iam.gserviceaccount.com .
  8. Нажмите Сохранить .

Поскольку мы выбрали «Начать сейчас» в качестве параметра расписания, как только будет выбрано «Сохранить» , начнется первая передача.

Проверка статуса службы передачи данных

Чтобы проверить статус настроенной передачи данных:

Вакансии Службы передачи данных.

Нажмите Codelab Transfer (под «Отображаемым именем»), и отобразится список всех выполненных на данный момент запусков.

Подробная информация о работе службы передачи данных.

Запуск передачи данных должен быть успешным, без нарушений средств управления службами VPC как для запускаемой вручную, так и для запланированной передачи данных. Обратите внимание, что только для передачи, инициируемой вручную, требуется входное правило, разрешающее доступ к субъекту, который инициирует передачу вручную.

4. Ограничения IP-адресов для передачи данных, запускаемой вручную

Текущие настроенные правила входа позволяют настроенному удостоверению запускать передачу данных вручную с любого IP-адреса.

Используя уровень доступа, элементы управления услугами VPC предоставляют возможность ограничивать разрешенный доступ с помощью определенных атрибутов запроса API, в частности:

  • IP-подсети: проверяет, поступает ли запрос с определенного IP-адреса.
  • Регионы: проверяет, поступает ли запрос из определенного региона, который определяется геолокацией IP-адреса.
  • Принципалы: проверяет, поступает ли запрос от определенной учетной записи.
  • Политика устройства: проверяет, поступает ли запрос от устройства, соответствующего определенным требованиям.

Чтобы обеспечить проверку этих атрибутов вместе с уже настроенным правилом входа, нам необходимо создать уровень доступа, который разрешает нужные атрибуты, а затем добавить созданный уровень доступа в качестве источника в правило входа.

Доступ защищен VPC SC по IP-адресу пользователя На этой диаграмме показан доступ, инициированный двумя субъектами ( user@example.com и user2@example.com ) в трех сценариях, демонстрируя, как VPC Service Controls оценивает источники (входящий уровень доступа) и атрибуты идентификации как условие AND, где оба должны совпадать. .

  1. Пользователю user@example.com разрешен доступ при попытке доступа с IP-адреса, разрешенного уровнем доступа, поскольку его IP-адрес и учетная запись пользователя соответствуют конфигурациям в правиле входящего доступа.
  2. Пользователю user@example.com блокируется доступ, если его IP-адрес не соответствует разрешенному IP-адресу, несмотря на то, что его учетная запись настроена в правиле входящего доступа.
  3. Пользователю user2@example.com заблокирован доступ, несмотря на попытку доступа с разрешенного IP-адреса, поскольку его учетная запись не разрешена правилом входящего доступа.

Создать уровень доступа

Чтобы создать уровень доступа, ограничивающий доступ по IP-адресу :

  1. Откройте страницу диспетчера контекста доступа в консоли Google Cloud.
    • При появлении запроса выберите папку codelab-folder .
  2. В верхней части страницы «Диспетчер контекста доступа» нажмите «СОЗДАТЬ УРОВЕНЬ ДОСТУПА» .
  3. На панели «Новый уровень доступа» присвойте новому уровню доступа « Заголовок» . Для этой лаборатории кода мы назовем ее project_2_al .
  4. В разделе «Условия» нажмите + напротив IP-подсетей .
  5. В поле «IP-подсети» выберите «Общедоступный IP-адрес».

Добавить уровень доступа в правило входящего трафика

В правиле входящего трафика уровень доступа указан в поле sources , которое является обязательным, как описано в справочнике по правилу входящего трафика . Чтобы разрешить доступ к ресурсам, VPC Service Controls оценивает sources и identityType как условие AND. Правило входящего трафика использует удостоверение участника, запускающего передачу данных вручную, а не учетную запись службы, указанную в конфигурации передачи данных.

Правило входящего трафика настроено с уровнем доступа.

Повторно запустить передачу с конфигурациями, ограничивающими доступ по IP-адресу.

Чтобы оценить эффективность примененных конфигураций, снова запустите передачу, используя следующие сценарии:

  • используя IP-адрес в диапазоне, разрешенном на уровне доступа, на который ссылается правило входящего трафика.
  • использование IP-адреса, не разрешенного конфигурациями

Доступ с разрешенного IP-адреса должен быть успешным, тогда как доступ с неразрешенных IP-адресов должен завершиться неудачей и привести к нарушению контроля обслуживания VPC.

Один из простых способов протестировать использование другого IP-адреса — разрешить назначение IP-адреса при использовании консоли Google Cloud, а затем выполнить тестирование при использовании Cloud Shell.

В Cloud Shell выполните следующую команду, чтобы вручную инициировать передачу , заменив RUN_TIME и RESOURCE_NAME:

bq mk \
  --transfer_run \
  --run_time='RUN_TIME' \
  RESOURCE_NAME

Например, следующий пример команды запускается немедленно для передачи конфигурации 12345678-90ab-cdef-ghij-klmnopqrstuv в проекте 1234567890 .

NOW=$(TZ=GMT date +"%Y-%m-%dT%H:%M:%SZ");
bq mk \
  --transfer_run \
  --run_time=$NOW \
  projects/1234567890/locations/us/transferConfigs/12345678-90ab-cdef-ghij-klmnopqrstuv

Наблюдаемые выходные данные показывают нарушение контроля обслуживания VPC, как и ожидалось, поскольку IP-адрес не разрешен.

Нарушение VPC SC с неразрешенного IP-адреса.

Замеченное нарушение связано с методом DataTransferService.StartManualTransferRuns .

ingressViolations: [
0: {
servicePerimeter: "accessPolicies/987654321/servicePerimeters/perimeter-2"
targetResource: "projects/[PROJECT2_NUMBER]"
targetResourcePermissions: [0: "vpcsc.permissions.unavailable"]
}]
violationReason: "RESOURCES_NOT_IN_SAME_SERVICE_PERIMETER"
resource: {
labels: {
method: "google.cloud.bigquery.datatransfer.v1.DataTransferService.StartManualTransferRuns"
project_id: "project-2"
service: "bigquerydatatransfer.googleapis.com"
}
type: "audited_resource"
}
severity: "ERROR"

5. Запуск передачи данных при защите службы облачного хранения

Поскольку мы выполняем перенос из Cloud Storage в BigQuery, давайте добавим Cloud Storage в число сервисов, защищенных VPC Service Controls, и посмотрим, останется ли перенос успешным.

В конфигурации perimeter-2 добавьте Cloud Storage API в качестве одной из служб с ограниченным доступом вместе с API передачи данных BigQuery .

Конфигурации VPC SC, защищающие облачное хранилище.

После защиты Cloud Storage API дождитесь следующей запланированной передачи данных или вручную инициируйте передачу, выполнив следующие действия:

  1. Перейдите на страницу BigQuery в консоли Google Cloud.
  2. Нажмите Передача данных .
  3. Выберите свой перевод из списка: для этой лаборатории кода мы используем передачу Codelab Transfer .
  4. Нажмите Запустить передачу сейчас.
  5. Нажмите ОК .

Будет инициирован новый перевод. Возможно, вам придется обновить страницу, чтобы увидеть ее. На этот раз передача завершится неудачно из-за нарушения правил управления службами VPC.

Нарушение VPC SC при копировании набора данных BigQuery.

Расследование нарушения средств управления услугами Cloud Storage VPC

Фильтруйте журналы аудита с помощью vpcServiceControlsUniqueIdentifier , как показано в сводке передачи.

Зарегистрированное нарушение — это выходное нарушение RESOURCES_NOT_IN_SAME_SERVICE_PERIMETER со следующими подробностями:

  • Принципал — это учетная запись службы, настроенная в службе передачи данных (независимо от того, запущена ли она вручную или выполняется запланированная передача данных, запрещенный субъект будет одним и тем же).
  • Затронутая услуга – Cloud Storage.
  • Источником запроса является проект, в котором настроена Служба передачи данных: project-2
  • Целевым проектом является проект, в котором расположен объект Cloud Storage: project-1
principalEmail: "codelab-sa@project-2.iam.gserviceaccount.com"
egressViolations: [
0: {
servicePerimeter: "accessPolicies/987654321/servicePerimeters/perimeter-2"
source: "projects/[PROJECT2_NUMBER]"
sourceType: "Resource"
targetResource: "projects/[PROJECT1_NUMBER]"
targetResourcePermissions: [0: "storage.objects.get"]
}]
labels: {
method: "google.storage.objects.get"
project_id: "project-2"
service: "storage.googleapis.com"
}

Исправьте нарушение выхода из облачного хранилища.

Чтобы исправить выходное нарушение, мы должны использовать выходное правило, которое разрешает трафик из запрещенной учетной записи службы в проект с объектами Cloud Storage.

Выходное правило, разрешающее учетную запись службы Codelab.

После изменения perimeter-2 повторите процесс, чтобы снова запустить передачу. Передача не покажет ошибку.

Подробные сведения о передаче данных запускаются после настройки исходящего правила.

6. Скопируйте набор данных BigQuery из проекта-2 в проект-1.

Убедившись, что мы можем перенести данные из сегмента Cloud Storage в project-1 в набор данных BigQuery в project-2 , давайте скопируем набор данных BigQuery из project-2 в project-1 ; а API BigQuery защищен средствами управления службами VPC.

Чтобы создать и скопировать набор данных, мы будем использовать команду bq mk , которая использует инструмент bq .

Создайте целевой набор данных в project-1

Прежде чем копировать набор данных, сначала необходимо создать целевой набор данных. Чтобы создать целевой набор данных, мы можем запустить следующую команду, которая создаст набор данных с именем copied_dataset в проекте project-1 с us в качестве местоположения.

bq mk \
  --dataset \
  --location=us \
  project-1:copied_dataset

Защитите сервис BigQuery в project-2 с помощью средств управления сервисами VPC.

Измените конфигурацию периметра perimeter-2 и добавьте BigQuery API в качестве защищенного сервиса, а также сервисы BigQuery Data Transfer и Cloud Storage .

VPC SC настроен для защиты Cloud Storage API.

Начать копирование набора данных

Чтобы скопировать набор данных, выполните следующую команду bq mk , которая копирует набор данных codelab_bqtransfer_dataset в проекте project-2 в набор данных copied_dataset в project-1 и перезаписывает содержимое набора данных, если таковое имеется.

bq mk \
  --transfer_config \
  --project_id=project-1 \
  --target_dataset=copied_dataset \
  --data_source=cross_region_copy \
  --display_name='Dataset from project-2 to project-1' \
  --params='{
     "source_dataset_id":"codelab_bqtransfer_dataset",
     "source_project_id":"project-2",
     "overwrite_destination_table":"true"
     }'

Команда будет выполнена успешно; Тем временем конфигурация передачи успешно создана , чтобы начать операцию копирования набора данных. Копирование самого набора данных не удастся из-за нарушения правил управления службами VPC.

Чтобы найти соответствующие сведения о нарушении средств управления службами VPC, проверьте журналы в project-2 (проект исходного набора данных) с помощью следующего запроса журнала. Запрос журнала фильтрует журналы службы BigQuery и имя ресурса копируемого набора данных ( codelab_bqtransfer_dataset ).

resource.labels.service="bigquery.googleapis.com"
protoPayload.metadata.resourceNames:"datasets/codelab_bqtransfer_dataset"

Наблюдаемое нарушение управления службами VPC является выходным нарушением из project-2 в project-1 .

egressViolations: [
  0: {
   servicePerimeter: "accessPolicies/987654321/servicePerimeters/perimeter-2"
   source: "projects/[PROJECT-2-NUMBER]"
   sourceType: "Resource"
   targetResource: "projects/[PROJECT-1-NUMBER]"
   targetResourcePermissions: [
     0: "bigquery.transfers.update"
     1: "bigquery.transfers.get"
     2: "bigquery.jobs.create"
     ]
   }
]
method: "bigquery.tables.getData"
service: "bigquery.googleapis.com"

Исправьте все нарушения BigQuery и снова начните копирование набора данных.

Чтобы исправить выходное нарушение, нам нужно создать выходное правило, которое разрешает запрещенный участник. Запрещенный субъект — это тот, кто выполняет команду mk .

Выходное правило, разрешающее доступ ко всем методам BigQuery.

Как только правило выхода будет установлено, на периметре perimeter-2 запустите ту же команду, чтобы скопировать набор данных. На этот раз он должен успешно скопировать набор данных без нарушения правил управления службами VPC.

7. Очистка

Хотя за использование средств управления службами VPC не взимается отдельная плата, когда служба не используется, рекомендуется очистить настройку, используемую в этой лаборатории. Вы также можете удалить экземпляр виртуальной машины и/или облачные проекты, чтобы избежать дополнительных расходов. При удалении облачного проекта прекращается выставление счетов за все ресурсы, используемые в этом проекте.

  • Чтобы удалить корзину Cloud Storage , выполните следующие действия:
    • В консоли Google Cloud перейдите на страницу Cloud Storage Buckets .
    • Установите флажок для сегмента, который необходимо удалить, а затем нажмите «Удалить» .
    • В появившемся окне подтвердите, что вы хотите удалить сегмент и его содержимое. Удаление сегмента Cloud Storage.
  • Чтобы удалить набор данных BigQuery , выполните следующие действия:
    • В консоли Google Cloud перейдите на страницу BigQuery .
    • На панели «Проводник» разверните проект и выберите набор данных.
    • Разверните трехточечное меню и нажмите «Удалить» .
    • В диалоговом окне «Удалить набор данных» введите delete в поле и нажмите «Удалить» . Удаление набора данных BigQuery.
  • Чтобы удалить периметр службы , выполните следующие действия:
    • В консоли Google Cloud выберите «Безопасность» , а затем «Управление службами VPC» на уровне области действия политики доступа, в данном случае на уровне папки.
    • На странице «Элементы управления службами VPC» в строке таблицы, соответствующей периметру, который вы хотите удалить, выберите Delete Icon .
  • Чтобы удалить уровень доступа , выполните следующие действия:
    • в консоли Google Cloud откройте страницу диспетчера контекста доступа в области папок.
    • В сетке найдите строку для уровня доступа, который вы хотите удалить, выберите трехточечное меню , а затем выберите Удалить .
  • Чтобы закрыть проекты , выполните следующие действия:
    • В консоли Google Cloud перейдите на страницу настроек IAM и администратора проекта, который вы хотите удалить.
    • На странице настроек IAM и администратора выберите Завершение работы .
    • Введите идентификатор проекта и выберите «Все равно завершить работу» .

8. Поздравляем!

В этой лабораторной работе вы создали периметр VPC Service Controls, внедрили его и устранили неполадки.

Узнать больше

Вы также можете изучить следующие сценарии:

  • Добавьте project-1 в другой периметр, который также защитит BigQuery, службу передачи данных BigQuery и облачное хранилище.
  • Выполните перенос данных BigQuery из других поддерживаемых источников .
  • Ограничьте доступ пользователей с помощью других атрибутов, таких как местоположение или политика устройства.

Лицензия

Эта работа распространяется под лицензией Creative Commons Attribution 2.0 Generic License.