1. Введение
Обзор
В этой лабораторной работе вы устраните распространённые угрозы инфраструктуре среды разработки ИИ. Вы внедрите средства контроля безопасности, предназначенные для защиты основных компонентов этой среды.
Контекст
Вы — главный по безопасности в своей команде разработчиков, и ваша цель — создать среду, в которой будут обеспечены минимальные трудности использования и защита от распространенных угроз.
В следующей таблице перечислены угрозы, которые вам наиболее важно нейтрализовать. Каждой угрозе посвящена отдельная задача в рамках этой лабораторной работы:
Угроза | Смягчение | Задача выполнена |
Несанкционированный доступ в сеть через эксплуатируемые открытые порты. | Создайте частную VPC и ограничьте доступ к Vertex AI одному пользователю, подключенному через Google Cloud вместо публичного IP-адреса. | Настройте безопасный сетевой фундамент |
Повышение привилегий со стороны скомпрометированного вычислительного экземпляра с использованием чрезмерно привилегированных учетных данных. | Создайте и назначьте учетную запись службы с минимальными привилегиями для экземпляра Vertex AI. | Развертывание защищенного экземпляра Vertex AI Workbench |
Захват экземпляра вычислительного ресурса, приводящий к несанкционированному вмешательству в работу системы. | Защитите экземпляр, отключив root-доступ и включив безопасную загрузку. | Развертывание защищенного экземпляра Vertex AI Workbench |
Случайное раскрытие данных обучения и моделей из-за неправильной настройки хранилища. | Обеспечьте предотвращение публичного доступа к контейнеру и используйте единые средства управления доступом на уровне контейнера. | Разверните безопасное облачное хранилище |
Злонамеренное или случайное удаление или искажение наборов данных и артефактов модели. | Включите управление версиями объектов для восстановления и включите журналы доступа к данным для неизменяемого аудиторского следа всех действий. | Разверните безопасное облачное хранилище |
Краткий справочник
В ходе этой лабораторной работы вы будете работать со следующими именованными ресурсами:
Компонент | Имя |
Имя VPC | |
Имя подсети | |
Облачный маршрутизатор | |
Облачный NAT | |
Учетная запись службы | |
Экземпляр Vertex AI | |
Ведро для хранения | |
Чему вы научитесь
В этой лабораторной работе вы научитесь:
- Предоставьте защищенную VPC с частной сетью для предотвращения нежелательного трафика.
- Защитите экземпляр Vertex AI Workbench от буткитов и повышения привилегий.
- Обеспечьте безопасность облачного хранилища, чтобы минимизировать неконтролируемую передачу данных и случайное раскрытие их общественности.
2. Настройка проекта
Аккаунт Google
Если у вас еще нет личного аккаунта Google, вам необходимо создать аккаунт Google .
Используйте личный аккаунт вместо рабочего или школьного.
Войдите в Google Cloud Console.
Войдите в Google Cloud Console, используя личный аккаунт Google.
Включить биллинг
Получите кредиты Google Cloud на сумму 5 долларов США (по желанию)
Для проведения этого семинара вам понадобится платёжный счёт с определённым балансом. Если вы планируете использовать собственный платёжный счёт, пропустите этот шаг.
- Нажмите на эту ссылку и войдите в систему, используя личный аккаунт Google. Вы увидите что-то вроде этого:

- Нажмите кнопку «НАЖМИТЕ ЗДЕСЬ, ЧТОБЫ ПОЛУЧИТЬ ДОСТУП К ВАШИМ КРЕДИТАМ» . Вы перейдете на страницу настройки своего платёжного профиля.

- Нажмите «Подтвердить».
Теперь вы подключены к пробной учетной записи Google Cloud Platform.

Настройте личный платежный аккаунт
Если вы настраиваете оплату с использованием кредитов Google Cloud, вы можете пропустить этот шаг.
Чтобы настроить персональную учетную запись для выставления счетов, перейдите сюда и включите выставление счетов в Cloud Console.
Некоторые заметки:
- Выполнение этой лабораторной работы обойдется менее чем в 1 доллар США в виде облачных ресурсов.
- Вы можете следовать инструкциям в конце этой лабораторной работы, чтобы удалить ресурсы и избежать дальнейших расходов.
- Новые пользователи имеют право на бесплатную пробную версию стоимостью 300 долларов США .
Создать проект (необязательно)
Если у вас нет текущего проекта, который вы хотели бы использовать для этого ярлыка, создайте новый проект здесь .
3. Включите API
Настроить Cloud Shell
После успешного создания проекта выполните следующие шаги для настройки Cloud Shell .
Запустить Cloud Shell
Перейдите на сайт shell.cloud.google.com и, если появится всплывающее окно с просьбой авторизоваться, нажмите «Авторизовать» .
Установить идентификатор проекта
Выполните следующую команду в терминале Cloud Shell, чтобы задать правильный идентификатор проекта . Замените <your-project-id> на фактический идентификатор вашего проекта, скопированный с шага создания проекта выше.
gcloud config set project <your-project-id>
Теперь вы должны увидеть, что в терминале Cloud Shell выбран правильный проект.
Включить Vertex AI Workbench и облачное хранилище
Чтобы использовать сервисы в этой лаборатории, вам необходимо включить API для Compute Engine, Vertex AI Workbench, IAM и Cloud Storage в вашем проекте Google Cloud.
- В терминале включите API:
gcloud services enable compute.googleapis.com notebooks.googleapis.com aiplatform.googleapis.com iam.googleapis.com storage.googleapis.com
Кроме того, вы можете включить эти API, перейдя на соответствующие страницы в консоли и нажав «Включить» .
4. Настройте безопасную сетевую основу
В этой задаче вы создадите изолированную сетевую среду для всех своих сервисов. Используя частную сеть и контролируя потоки данных, вы создаёте многоуровневую защиту, значительно сокращающую поверхность атак вашей инфраструктуры по сравнению с общедоступными ресурсами. Эта безопасная сетевая основа критически важна для защиты ваших ИИ-приложений от несанкционированного доступа.
Создайте VPC и подсеть
На этом этапе вы настраиваете виртуальное частное облако (VPC) и подсеть. Это создаёт изолированную сетевую среду, которая является первой линией защиты от несанкционированного доступа в сеть.
- В консоли Google Cloud Console перейдите в раздел «Сеть VPC» > «Сети VPC» . В строке поиска в верхней части консоли Google Cloud Console найдите «Сети VPC» и выберите нужный вариант.
- Нажмите Создать сеть VPC .
- В поле Имя введите
genai-secure-vpc. - Для режима создания подсети выберите Пользовательский .
- В разделе Новая подсеть укажите следующие свойства для создания подсети:
Свойство
Значение (введите или выберите)
Имя
genai-subnet-us-central1Область
us-central1Диапазон IP-адресов
10.0.1.0/24Частный доступ Google
На
- Нажмите «Создать» .
Создайте шлюз Cloud NAT
Шлюз Cloud NAT позволяет вашим частным экземплярам инициировать исходящие соединения (например, для обновления программного обеспечения) без наличия публичного IP-адреса, что означает, что общедоступный Интернет не может инициировать соединения с ними.
- Сначала создайте облачный маршрутизатор. В строке поиска в верхней части консоли Google Cloud Console найдите «Cloud Router» и выберите его.
- Нажмите Создать маршрутизатор .
- Настройте облачный маршрутизатор следующим образом:
Свойство
Значение (введите или выберите)
Имя
genai-router-us-central1Сеть
genai-secure-vpc(сеть VPC, которую вы только что создали)Область
us-central1 - Нажмите «Создать» .
- Затем перейдите в раздел «Сетевые службы» > «Cloud NAT» . Используйте строку поиска в верхней части консоли Google Cloud Console, чтобы найти «Cloud NAT» и выбрать этот пункт.
- Нажмите « Начать» .
- Настройте шлюз Cloud NAT следующим образом:
Свойство
Значение (введите или выберите)
Имя шлюза
genai-nat-us-central1сеть VPC
genai-secure-vpc(созданна вами сеть VPC)Область
us-central1Облачный маршрутизатор
genai-router-us-central1(маршрутизатор, который вы только что настроили) - Нажмите «Создать» .
5. Разверните безопасный экземпляр Vertex AI Workbench.
Теперь, когда у вас есть безопасная сетевая платформа, вы разворачиваете защищенный экземпляр Vertex AI Workbench внутри защищенной VPC. Этот экземпляр Workbench служит средой разработки, предоставляя безопасное и изолированное пространство для ваших задач по разработке ИИ. Предыдущая конфигурация сети гарантирует, что этот экземпляр не будет напрямую доступен из общедоступного интернета, что обеспечивает многоуровневую защиту.
Создайте учетную запись службы с минимальными привилегиями
Создание выделенной учётной записи службы с минимальным набором необходимых разрешений поддерживает принцип наименьших привилегий . В случае компрометации вашего экземпляра эта практика ограничивает «радиус атаки», гарантируя, что экземпляр сможет получать доступ только к тем ресурсам и выполнять только те действия, которые явно необходимы для его работы.
- В консоли Google Cloud Console перейдите в раздел «IAM и администрирование» > «Учётные записи служб» . В строке поиска в верхней части консоли Google Cloud Console найдите раздел «Учётные записи служб» и выберите его.
- Нажмите Создать учетную запись службы .
- В поле Имя учетной записи службы введите
vertex-workbench-sa. - Нажмите «Создать» и продолжите .
- Предоставить следующие роли:
-
Vertex AI User -
Storage Object Creator
-
- Нажмите Готово .
Создайте экземпляр рабочего места
На этом этапе вы разворачиваете экземпляр Vertex AI Workbench. Он настраивается для работы в ранее созданной вами частной VPC-среде, что ещё больше изолирует его от общедоступного интернета. Кроме того, вы применяете дополнительные меры по усилению безопасности непосредственно к экземпляру.
- В меню навигации Google Cloud Console (гамбургер-меню) выберите Vertex AI > Workbench . В строке поиска в верхней части Google Cloud Console найдите «Workbench» и выберите результат с подзаголовком «Vertex AI».
- Нажмите «Создать новый» и настройте:
Свойство
Значение (введите или выберите)
Имя
secure-genai-instanceОбласть
us-central1 - Нажмите Дополнительные параметры .
- Нажмите «Тип машины» и установите флажки для следующих параметров:
- Безопасная загрузка
- Виртуальный доверенный платформенный модуль (vTPM)
- Мониторинг целостности .
- Нажмите «Сеть» и настройте следующее:
Свойство
Значение (введите или выберите)
Сеть
genai-secure-vpcПодсеть
genai-subnet-us-central1(10.0.1.0/24)Назначить внешний IP-адрес
Снимите флажок , так как доступ к этому экземпляру осуществляется только через прокси-сервер в Google Cloud.
- Нажмите IAM и безопасность и настройте следующее:
Свойство
Значение (введите или выберите)
Электронная почта пользователя
Один пользователь и выберите адрес электронной почты, который вы в данный момент используете для входа в Google Cloud.
Использовать учетную запись службы Compute Engine по умолчанию
Снимите флажок.
Электронная почта учетной записи службы
Введите адрес электронной почты, созданный для учетной записи службы с минимальными привилегиями (замените
[PROJECT_ID]своим фактическим идентификатором):vertex-workbench-sa@[PROJECT_ID].iam.gserviceaccount.comКорневой доступ к экземпляру
Снимите флажок.
- Нажмите «Создать» .
Получите доступ к вашему экземпляру Vertex AI
Теперь, когда ваш экземпляр Vertex AI Workbench является временным, вы можете получить к нему безопасный доступ. Подключение к нему осуществляется через прокси-сервер Google Cloud, что гарантирует конфиденциальность экземпляра и отсутствие доступа к публичному интернету, тем самым ограничивая риск нежелательного и потенциально вредоносного трафика.
- Перейдите в раздел Vertex AI > Workbench . Возможно, вы уже находитесь на этой странице, если ваш экземпляр только что завершил подготовку. В противном случае вы можете воспользоваться меню навигации (гамбургер-меню) или строкой поиска в Google Cloud Console, чтобы попасть туда.
- Найдите в списке свой экземпляр с именем
secure-genai-instance. - Справа от вашего экземпляра нажмите ссылку Открыть JupyterLab .
Откроется новая вкладка в браузере, предоставляющая доступ к вашему экземпляру. Вы получаете к нему доступ через Google Cloud, но экземпляр не подключен к публичному интернету, что снижает риск нежелательного и потенциально вредоносного трафика.
6. Разверните безопасное хранилище Cloud Storage.
Теперь вы создаёте безопасный контейнер облачного хранилища для своих наборов данных. Здесь хранятся данные, модели и артефакты для обучения ИИ. Применение надёжных настроек безопасности к этому контейнеру предотвращает случайное раскрытие конфиденциальных данных и защищает от злонамеренного или случайного удаления и изменения. Это гарантирует целостность и конфиденциальность ваших ценных ИИ-ресурсов.
Создайте и настройте контейнер
На этом этапе вы создаёте контейнер облачного хранилища и применяете начальные настройки безопасности. Эти настройки обеспечивают защиту от публичного доступа и единый контроль доступа на уровне контейнера, что критически важно для контроля доступа к вашим данным.
- В консоли Google Cloud Console перейдите в раздел «Облачное хранилище» > «Бакеты» . В строке поиска в верхней части консоли Google Cloud Console найдите «Бакеты» и выберите нужный раздел.
- Нажмите «Создать» .
- В разделе Get Started задайте для параметра Name значение
secure-genai-artifacts-[PROJECT_ID], заменив[PROJECT_ID]на ваш фактический идентификатор проекта Google Cloud. - Продолжайте выбирать место хранения данных и настраивайте следующее:
Свойство
Значение (введите или выберите)
Тип местоположения
Область
Область
us-central1 - Продолжайте выбирать способ хранения данных и сохраняйте настройки по умолчанию.
- Продолжайте выбирать способ управления доступом к объектам и сохраняйте настройки по умолчанию:
Свойство
Значение (введите или выберите)
Причина
Запретить публичный доступ
Оставьте выбранным параметр «Применить предотвращение публичного доступа» .
Запрет публичного доступа отменяет любые изменения IAM, которые могут непреднамеренно сделать объект уязвимым для Интернета.
Контроль доступа
Оставьте выбранным вариант «Униформа» .
Хотя списки контроля доступа (ACL) кажутся лучшим вариантом для детального контроля, а следовательно, и для минимизации привилегий, в сочетании с другими функциями IAM они приводят к сложности и непредсказуемости. Рассмотрим компромиссы и преимущества единообразного доступа на уровне контейнеров для предотвращения непреднамеренного раскрытия данных.
- Продолжайте выбирать способ защиты данных объекта и сохраняйте настройки по умолчанию:
Свойство
Значение (введите или выберите)
Причина
Политика мягкого удаления (для восстановления данных)
Оставьте выбранной политику мягкого удаления (для восстановления данных) .
В случае случайного или злонамеренного удаления данных в корзине функция «мягкого» удаления позволяет восстановить содержимое в течение окна хранения.
Версионирование объектов (для контроля версий)
Выберите Управление версиями объектов (для управления версиями) .
Управление версиями объектов позволяет осуществлять восстановление после случайной или злонамеренной перезаписи, например, если злоумышленник заменил безобидный файл файлом, содержащим код эксплойта.
Макс. количество версий на объект
3
Хотя это значение произвольно и может увеличить стоимость, для возможности отката к предыдущей версии оно должно быть больше 1. Если злоумышленник потенциально может попытаться выполнить несколько перезаписей, может потребоваться более надёжная стратегия управления версиями и резервного копирования.
Срок действия неактуальных версий истекает через
7
Рекомендуемый срок хранения старых версий — 7 дней, но для более долгосрочного хранения этот срок может быть больше.
- Нажмите «Создать» .
- Если появится всплывающее окно с текстом «Публичный доступ будет запрещен», оставьте выбранным поле по умолчанию («Применить запрет публичного доступа к этому контейнеру») и нажмите «Подтвердить» .
Включить защиту данных и ведение журнала
Чтобы обеспечить неизменность и возможность аудита данных, включите управление версиями объектов и настройте журналы доступа к данным для вашего контейнера. Управление версиями объектов позволяет восстановить данные после случайного удаления или перезаписи, а журналы доступа к данным предоставляют полный аудиторский след всех действий в вашем контейнере, что необходимо для мониторинга безопасности и соответствия требованиям.
- В консоли Google Cloud Console перейдите в раздел «IAM и администрирование» > «Журналы аудита» . В строке поиска в верхней части консоли Google Cloud Console найдите раздел «Журналы аудита» и выберите его.
- Воспользуйтесь фильтром поиска, чтобы найти и выбрать Google Cloud Storage .
- На появившейся панели установите флажки «Чтение данных» и «Запись данных» .
- Нажмите « Сохранить ».
7. Из лаборатории в реальность
Вы только что выполнили ряд шагов во временной лабораторной среде, но применённые вами принципы и конфигурации служат основой для защиты реальных проектов ИИ в Google Cloud. Вот как вы можете применить полученные знания в своей работе, перейдя от простой лабораторной среды к готовой к использованию в производственной среде.
Представьте, что вы только что создали ресурсы — частное VPC, защищенный экземпляр Workbench и защищенный контейнер — как безопасный стартовый шаблон для любого нового проекта ИИ. Ваша цель — сделать эту надежную основу простым и удобным путем для себя и своей команды.
Безопасная сеть: ваше личное рабочее пространство
Как бы вы использовали это в своей настройке
Каждый раз, когда вы запускаете новый ИИ-проект (например, «прогнозирование оттока клиентов», «модель классификации изображений»), вы воспроизводите эту сетевую конфигурацию. Вы создаёте выделенную VPC ( churn-pred-vpc ) или используете общую, заранее одобренную сеть. Это становится изолированной «песочницей» вашего проекта. Ваша среда разработки, например, настроенный вами Vertex AI Workbench, находится внутри этого защищённого пространства. Вы подключаетесь к нему через защищённый прокси-сервер ( Open JupyterLab ), никогда не раскрывая его из публичного интернета.
Подключение к производству
В производственной среде вы можете развить эту концепцию еще дальше, рассмотрев:
- Инфраструктура как код (IaC) : вместо использования Cloud Console вы можете определить эту сеть с помощью таких инструментов, как Terraform или Cloud Deployment Manager . Это позволяет развернуть безопасную сетевую основу для нового проекта за считанные минуты, гарантируя её повторяемость и возможность аудита.
- Совместно используемое VPC : В крупных организациях централизованная команда сетевых специалистов часто управляет общим VPC. Как разработчик, вы получите разрешение на запуск своих экземпляров и сервисов в определённых подсетях внутри этой централизованно управляемой защищённой сети. Принцип тот же: вы по-прежнему работаете в частном пространстве, но оно является частью более крупной общей инфраструктуры.
- Управление службами VPC : для максимальной безопасности необходимо охватить всю эту среду периметром управления службами VPC. Это мощная функция, которая предотвращает утечку данных, гарантируя, что доступ к таким сервисам, как облачное хранилище, будет предоставлен только авторизованным ресурсам в пределах периметра вашей частной сети.
Защищенные вычисления: ваш безопасный центр разработки и обучения
Как бы вы использовали это в своей настройке
secure-genai-instance — это ваш инструмент для ежедневной разработки ИИ. Интерфейс JupyterLab можно использовать для:
- Запишите и протестируйте код своей модели в блокнотах.
- Установите библиотеки Python (
pip install ...). - Экспериментируйте с небольшими и средними наборами данных. Настроенная вами система безопасности (отсутствие публичного IP-адреса, учётная запись службы с минимальными привилегиями, отсутствие root-доступа, безопасная загрузка) работает прозрачно в фоновом режиме. Вы можете сосредоточиться на работе с ИИ, зная, что экземпляр защищён от распространённых атак.
Подключение к производству
Обычно масштабное обучение не проводится на одном экземпляре Workbench в рабочей среде. Вместо этого вы можете реализовать свою работу следующими способами:
- От блокнота к конвейеру : вы берёте код из блокнота и формализуете его в виде скрипта. Этот скрипт затем запускается как задание пользовательского обучения Vertex AI или как этап конвейера Vertex AI .
- Контейнеризация : вы упаковываете обучающий код и его зависимости в контейнер Docker и сохраняете его в реестре артефактов . Это гарантирует, что ваш код всегда будет работать в согласованной и предсказуемой среде.
- Учётная запись службы играет ключевую роль : созданная вами учётная запись службы
vertex-workbench-saимеет решающее значение. В рабочей среде ваши автоматизированные задания обучения Vertex AI будут выполняться с использованием этой же (или аналогичной) учётной записи службы с минимальными привилегиями, что гарантирует, что автоматизированное задание получит только те разрешения, которые ему действительно необходимы.
Безопасное хранилище: ваше центральное хранилище артефактов
Как бы вы использовали это в своей настройке
Контейнер secure-genai-artifacts — это единственный источник достоверных данных для вашего проекта. Он предназначен не только для исходного набора данных. Вы можете использовать его для хранения:
- Необработанные и предварительно обработанные данные обучения.
- Контрольные точки моделирования во время длительных тренировочных забегов.
- Окончательные артефакты обученной модели (файлы
.pkl,.pbили.h5). - Результаты оценки и журналы. Применённые вами параметры безопасности (запрет публичного доступа, унифицированный доступ на уровне контейнера, управление версиями и ведение журнала аудита) позволяют уверенно использовать этот контейнер в качестве центрального хранилища, защищённого от утечек и случайных удалений.
Подключение к производству
Чтобы управлять своими принципами в производственной среде, вам также следует учитывать:
- Политики жизненного цикла : для управления расходами можно настроить политики жизненного цикла для автоматического перемещения старых версий моделей или наборов данных в более дешевые классы хранения (например, Nearline или Coldline) или их удаления по истечении определенного периода.
- Межпроектные разрешения : в производственном конвейере команда по обработке данных может заполнить этот контейнер из другого проекта Google Cloud. Включенный вами единый доступ на уровне контейнера делает управление этими межпроектными IAM-разрешениями простым и безопасным, без сложных (и, следовательно, легко настраиваемых неправильно) списков контроля доступа (ACL).
Общая картина: обеспечение безопасности по умолчанию
Используя эту модель, вы превращаете безопасность из второстепенной задачи в основу своей работы. Вы больше не просто разработчик; вы — главный защитник безопасности своей команды. Когда присоединяется новый член команды, вы не предоставляете ему незащищённый, общедоступный компьютер. Вы предоставляете ему доступ к безопасной, предварительно настроенной среде, где безопасный способ работы также является самым простым. Такой подход напрямую снижает бизнес-риски, предотвращая распространённые причины утечек данных и взломов системы, позволяя вашей команде уверенно внедрять инновации и создавать мощные приложения на основе ИИ.
8. Поздравляем!
Поздравляем! Вы успешно создали и провели аудит многоуровневой безопасной инфраструктуры для вашей среды разработки ИИ. Вы создали защищенный сетевой периметр с режимом «запрет по умолчанию», развернули защищенный вычислительный экземпляр, обеспечили безопасность контейнера данных и с помощью журналов убедились, что ваши элементы управления работают именно так, как задумано.
Резюме
В этой лабораторной работе вы выполнили следующее:
- Обеспечено безопасное VPC с частной сетью для предотвращения нежелательного трафика.
- Развернут защищенный экземпляр Vertex AI Workbench для защиты от буткитов и повышения привилегий.
- Обеспечено безопасное хранилище данных в облаке для предотвращения неконтролируемой передачи данных и случайного раскрытия информации для общественности.
- Реализованы учетные записи служб с минимальными привилегиями для ограничения потенциального «радиуса атаки».
- Включено управление версиями объектов и ведение журналов доступа к данным для защиты данных и неизменяемого контрольного журнала.