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 в рамках одной организации помещены в папку.
- Необходимые разрешения на уровне организации.
- Платежный аккаунт для обоих проектов.
Настройка ресурсов
- В Google Cloud Console создайте папку «Организация» и два новых проекта ( вы можете повторно использовать существующие ).
(Если у вас еще нет учетной записи Google Workspace/Cloud Identity, вам необходимо ее приобрести , поскольку для работы с этим руководством вам понадобится организация).
- Убедитесь, что у вас есть необходимые разрешения для этого руководства на уровне организации.
- Роли IAM для папок
- Разрешения и роли для проектов
- Разрешения и роли, необходимые для настройки элементов управления услугами VPC
- Разрешения и роли, необходимые для управления Compute Engine
- Убедитесь, что оба проекта доступны в папке, поскольку нам нужно создать политику с ограниченной областью действия на уровне папки. Узнайте о перемещении проекта в папку .
Расходы
Чтобы использовать облачные ресурсы/API, вам необходимо включить выставление счетов в Cloud Console. Прохождение этой кодовой лаборатории не будет стоить много, если вообще что-то стоить. Чтобы отключить ресурсы и избежать выставления счетов за пределами этого руководства, вы можете удалить созданные вами ресурсы или удалить проект. Новые пользователи Google Cloud имеют право на участие в программе бесплатной пробной версии стоимостью 300 долларов США.
Единственный ресурс, который будет генерировать затраты, — это экземпляр виртуальной машины. Ориентировочную стоимость можно узнать в калькуляторе цен .
3. Создайте периметр
В этой лаборатории мы собираемся выполнить следующие шаги:
- В консоли Google выберите свою организацию и получите доступ к элементам управления службами VPC . Пожалуйста, убедитесь, что вы находитесь на уровне организации.
- Нажмите «Управление политиками», чтобы создать новую политику доступа , ограниченную папкой «Codelab».
- Создайте новый периметр в принудительном режиме. В этом уроке назовем его «СуперЗащита».
- При создании периметра выберите проект, который будет применяться как ProjectZ.
- Выберите тип периметра «Обычный».
- В диалоговом окне «Укажите службы для ограничения» выберите службу, которую нужно ограничить, как «Compute Engine».
Настройка периметра должна выглядеть следующим образом:
4. Убедитесь, что периметр соблюден.
- Откройте ProjectX и проверьте, можете ли вы получить доступ к Compute Engine API, посетив домашнюю страницу экземпляров виртуальных машин. У вас должна быть возможность это сделать, поскольку projectX не защищен созданным периметром VPC SC.
- Откройте ProjectZ и проверьте, можете ли вы получить доступ к Compute Engine . Вы можете видеть, что запрос был запрещен средствами управления службами VPC, поскольку периметр службы SuperProtection защищает ProjectZ и Compute Engine API.
5. Устранение неполадок, связанных с отказом
Сначала мы должны определить, в чем именно заключается проблема, чтобы определить, как ее устранить.
- Журналы VPC Service Controls содержат подробную информацию о запросах к защищенным ресурсам и причине, по которой VPC Service Controls отклонил запрос. Давайте найдем уникальный идентификатор элементов управления службами VPC в журналах аудита ProjectZ, используя следующий запрос в обозревателе журналов:
resource.type="audited_resource" protoPayload.metadata."@type"="type.googleapis.com/google.cloud.audit.VpcServiceControlAuditMetadata"
Будут показаны все журналы аудита управления службами VPC. Мы будем искать последний журнал ошибок.
- Нажмите на заголовок «Элементы управления службами 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 получать доступ за пределами периметра службы к ресурсам внутри периметра службы.
В этом уроке мы устраним неполадки, создав уровень доступа .
- Перейдите к диспетчеру контекста доступа в области папки (Codelab) и создайте новый уровень доступа.
- Используйте «Базовый режим», и мы разрешим доступ при соблюдении IP-подсети и географического местоположения.
- Перейдите в раздел «Управление службами VPC» на уровне организации. Выберите политику доступа для этой Codelab и отредактируйте ранее созданный нами периметр.
- Добавьте уровень доступа, созданный в области папки, и сохраните.
6. Результаты испытаний.
Подтвердите, что у нас есть доступ к Compute Engine и мы можем создать экземпляр виртуальной машины. Теперь, когда мы создали уровень доступа, давайте попробуем получить доступ к Compute Engine в ProjectZ и создать экземпляр виртуальной машины.
- Перейдите в Compute Engine и нажмите « Создать экземпляр» .
- Оставьте все по умолчанию и попробуйте создать недорогой экземпляр виртуальной машины.
Примерно через минуту вы увидите созданный экземпляр виртуальной машины и сможете убедиться, что у вас есть полный доступ к Compute Engine, защищенному внутри периметра.
7. Очистка
Хотя за использование средств управления службами VPC не взимается отдельная плата, когда служба не используется, рекомендуется очистить настройку, используемую в этой лаборатории. Вы также можете удалить свой экземпляр виртуальной машины и/или облачные проекты, чтобы избежать дополнительных расходов. При удалении облачного проекта прекращается выставление счетов за все ресурсы, используемые в этом проекте.
- Чтобы удалить экземпляр виртуальной машины, установите флажок слева от имени экземпляра виртуальной машины и нажмите «Удалить» .
- Чтобы удалить периметр, выполните следующие действия:
- В консоли Google Cloud нажмите «Безопасность» , а затем нажмите «Управление службами VPC» в области «Организация».
- На странице «Элементы управления службами VPC» в строке таблицы, соответствующей периметру, который вы хотите удалить, нажмите «Удалить значок».
- Чтобы удалить уровень доступа, выполните следующие действия:
- в консоли Google Cloud откройте страницу диспетчера контекста доступа в области папок.
- В сетке в строке уровня доступа, который вы хотите удалить, нажмите «Удалить значок», а затем нажмите «Удалить» .
- Чтобы закрыть ваши проекты, выполните следующие действия:
- В консоли Google Cloud перейдите на страницу настроек IAM и администратора проекта, который вы хотите удалить.
- На странице «Настройки IAM и администратора» нажмите «Завершение работы» .
- Введите идентификатор проекта и нажмите «Все равно завершить работу» .
8. Поздравляем!
В этой лабораторной работе вы создали периметр VPC Service Controls, внедрили его и устранили неполадки.
Узнать больше
- См. документацию по средствам управления услугами VPC .
- См. документацию по диспетчеру контекста доступа .
- См. документацию по устранению неполадок VPC-SC .
Лицензия
Эта работа доступна под лицензией Creative Commons Attribution 2.0 Generic License.