Базовое руководство по управлению услугами VPC I

1. Введение

VPC Service Controls (VPC-SC) — это элемент управления безопасностью на уровне организации в Google Cloud, который позволяет корпоративным клиентам снизить риски утечки данных. VPC Service Controls обеспечивает доступ в стиле нулевого доверия к мультитенантным сервисам, позволяя клиентам ограничивать доступ к авторизованным IP-адресам, контексту клиента и параметрам устройства при подключении к мультитенантным сервисам из Интернета и других сервисов, чтобы уменьшить как преднамеренные, так и непреднамеренные потери. Вы можете использовать элементы управления службами VPC для создания периметров, которые защищают ресурсы и данные служб, которые вы явно указываете.

Цели этого руководства:

  • Понимание основ управления услугами VPC.
  • Создайте периметр сервиса VPC
  • Защитите проект с помощью VPC Service Controls
  • Устранение неполадок, связанных с нарушением контроля доступа VPC Service Controls

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

Для этого урока нам необходимы следующие предварительные требования:

  • Организация GCP.
  • Папка в разделе Организация.
  • 2 проекта GCP в рамках одной организации помещены в папку.
  • Необходимые разрешения на уровне организации.
  • Платежный аккаунт для обоих проектов.

1a62ebea85d6d4fc.png

Настройка ресурсов

  1. В Google Cloud Console создайте папку «Организация» и два новых проекта ( вы можете повторно использовать существующие ).

(Если у вас еще нет учетной записи Google Workspace/Cloud Identity, вам необходимо ее приобрести , поскольку для работы с этим руководством вам понадобится организация).

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

f7c75ab82028cb15.png

Расходы

Чтобы использовать облачные ресурсы/API, вам необходимо включить выставление счетов в Cloud Console. Прохождение этой кодовой лаборатории не будет стоить много, если вообще что-то стоить. Чтобы отключить ресурсы и избежать выставления счетов за пределами этого руководства, вы можете удалить созданные вами ресурсы или удалить проект. Новые пользователи Google Cloud имеют право на участие в программе бесплатной пробной версии стоимостью 300 долларов США.

Единственный ресурс, который будет генерировать затраты, — это экземпляр виртуальной машины. Ориентировочную стоимость можно узнать в калькуляторе цен .

3. Создайте периметр

В этой лаборатории мы собираемся выполнить следующие шаги:

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

43d5af2d5f084bb4.png

  1. Нажмите «Управление политиками», чтобы создать новую политику доступа , ограниченную папкой «Codelab».

9f75d949ca9992c4.png

  1. Создайте новый периметр в принудительном режиме. В этом уроке назовем его «СуперЗащита».
  • При создании периметра выберите проект, который будет применяться как ProjectZ.
  • Выберите тип периметра «Обычный».
  • В диалоговом окне «Укажите службы для ограничения» выберите службу, которую нужно ограничить, как «Compute Engine».

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

914d603103cb21.png

4. Убедитесь, что периметр соблюден.

  1. Откройте ProjectX и проверьте, можете ли вы получить доступ к Compute Engine API, посетив домашнюю страницу экземпляров виртуальных машин. У вас должна быть возможность это сделать, поскольку projectX не защищен созданным периметром VPC SC.
  2. Откройте ProjectZ и проверьте, можете ли вы получить доступ к Compute Engine . Вы можете видеть, что запрос был запрещен средствами управления службами VPC, поскольку периметр службы SuperProtection защищает ProjectZ и Compute Engine API.

d5073543f783e9c7.png

5. Устранение неполадок, связанных с отказом

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

  1. Журналы VPC Service Controls содержат подробную информацию о запросах к защищенным ресурсам и причине, по которой VPC Service Controls отклонил запрос. Давайте найдем уникальный идентификатор элементов управления службами VPC в журналах аудита ProjectZ, используя следующий запрос в обозревателе журналов:
resource.type="audited_resource"
protoPayload.metadata."@type"="type.googleapis.com/google.cloud.audit.VpcServiceControlAuditMetadata"

Будут показаны все журналы аудита управления службами VPC. Мы будем искать последний журнал ошибок.

  1. Нажмите на заголовок «Элементы управления службами VPC» и выберите «Устранение неполадок отказа», после чего откроется средство устранения неполадок элементов управления службами VPC .

Этот API покажет нам в дружественном пользовательском интерфейсе причину нарушения, а также, было ли это входное или выходное нарушение, среди других полезных вещей.

Для этого упражнения нам понадобится следующее:

"principalEmail": "user@domain"
"callerIp": "PUBLIC_IP_ADDRESS"
"serviceName": "compute.googleapis.com"
"servicePerimeterName":
"accessPolicies/[POLICY_NUMBER]/servicePerimeters/SuperProtection
"ingressViolations": [
        {
"targetResource": "projects/[PROJECT_NUMBER]",
"servicePerimeter": "accessPolicies/[POLICY_NUMBER]/servicePerimeters/SuperProtection"
        }
      ],
"violationReason": "NO_MATCHING_ACCESS_LEVEL",
"resourceNames": "[PROJECT_ID]"

У нас есть два варианта исправить это отрицание в ProjectZ.

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

В этом уроке мы устраним неполадки, создав уровень доступа .

  1. Перейдите к диспетчеру контекста доступа в области папки (Codelab) и создайте новый уровень доступа.
  2. Используйте «Базовый режим», и мы разрешим доступ при соблюдении IP-подсети и географического местоположения.

678f0f9d7bac921d.png

  1. Перейдите в раздел «Управление службами VPC» на уровне организации. Выберите политику доступа для этой Codelab и отредактируйте ранее созданный нами периметр.
  2. Добавьте уровень доступа, созданный в области папки, и сохраните.

c0af5691dfe9dd75.png

6. Результаты испытаний.

Подтвердите, что у нас есть доступ к Compute Engine и мы можем создать экземпляр виртуальной машины. Теперь, когда мы создали уровень доступа, давайте попробуем получить доступ к Compute Engine в ProjectZ и создать экземпляр виртуальной машины.

  1. Перейдите в Compute Engine и нажмите « Создать экземпляр» .

c1206aaf18497ec1.png

  1. Оставьте все по умолчанию и попробуйте создать недорогой экземпляр виртуальной машины.

Примерно через минуту вы увидите созданный экземпляр виртуальной машины и сможете убедиться, что у вас есть полный доступ к Compute Engine, защищенному внутри периметра.

5b2ded02f669b2ef.png

7. Очистка

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

  1. Чтобы удалить экземпляр виртуальной машины, установите флажок слева от имени экземпляра виртуальной машины и нажмите «Удалить» .

da0abf0894fe03cd.png

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

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

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

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

Лицензия

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