1. Введение
Обзор
В этой лабораторной работе вы создадите автоматизированный конвейер очистки данных для защиты конфиденциальной информации, используемой в разработке ИИ . Вы будете использовать решение Google Cloud Sensitive Data Protection (ранее Cloud DLP) для проверки, классификации и обезличивания персональных данных (PII) в различных форматах, включая неструктурированный текст, структурированные таблицы и изображения.
Контекст
Вы являетесь ответственным за безопасность и конфиденциальность в своей команде разработчиков, и ваша цель — создать рабочий процесс, который выявляет конфиденциальную информацию и обезличивает её, прежде чем предоставлять разработчикам и моделям. Вашей команде необходимы реалистичные, высококачественные данные для настройки и тестирования нового приложения генеративного ИИ, но использование необработанных данных клиентов создает значительные проблемы с точки зрения конфиденциальности.
В таблице ниже перечислены риски для конфиденциальности, которые вас больше всего беспокоят и которые необходимо минимизировать:
Риск | Смягчение последствий |
Раскрытие персональных данных в неструктурированных текстовых файлах (например, в журналах чата службы поддержки, формах обратной связи). | Создайте шаблон для деидентификации , который заменяет конфиденциальные значения их типом информации (infoType) , сохраняя контекст и устраняя утечку данных. |
Потеря полезности данных в структурированных наборах данных (CSV) при удалении персональных данных. | Используйте преобразования записей для выборочного удаления идентификаторов (например, имен) и применяйте такие методы, как маскирование символов, для сохранения других символов в строке, чтобы разработчики могли продолжать тестирование с использованием этих данных. |
Раскрытие персональных данных из текста, встроенного в изображения (например, отсканированные документы, фотографии пользователей). | Создайте шаблон деидентификации для каждого изображения , который удаляет текст, содержащийся в изображениях. |
Непоследовательное или подверженное ошибкам ручное редактирование данных разных типов. | Настройте единое автоматизированное задание по защите конфиденциальных данных, которое будет последовательно применять правильный шаблон деидентификации в зависимости от типа обрабатываемого файла. |
Что вы узнаете
В этой лабораторной работе вы научитесь:
- Определите шаблон проверки для обнаружения определенных типов конфиденциальной информации ( infoTypes ).
- Разработайте отдельные правила деидентификации для неструктурированных, структурированных и графических данных.
- Настройте и запустите единое задание, которое автоматически применяет правильную обработку данных в зависимости от типа файла ко всему содержимому хранилища.
- Убедитесь в успешном преобразовании конфиденциальных данных в защищенном месте вывода.
2. Настройка проекта
Аккаунт Google
Если у вас еще нет личного аккаунта Google, вам необходимо его создать .
Используйте личный аккаунт вместо рабочего или учебного.
Войдите в консоль Google Cloud.
Войдите в консоль Google Cloud, используя личную учетную запись Google.
Включить выставление счетов
Обменяйте 5 долларов США на кредиты Google Cloud (по желанию)
Для проведения этого мастер-класса вам потребуется платежный аккаунт с достаточным балансом. Если вы планируете использовать собственную платежную систему, этот шаг можно пропустить.
- Перейдите по этой ссылке и войдите в систему, используя свой личный аккаунт Google. Вы увидите примерно следующее:

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

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

Создайте личный платежный аккаунт.
Если вы настроили оплату с использованием кредитов Google Cloud, этот шаг можно пропустить.
Чтобы настроить личный платежный аккаунт, перейдите сюда, чтобы включить оплату в облачной консоли.
Несколько замечаний:
- Выполнение этой лабораторной работы должно обойтись менее чем в 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 выбран правильный проект.
Включить защиту конфиденциальных данных
Для использования сервиса защиты конфиденциальных данных и облачного хранилища необходимо убедиться, что эти API включены в вашем проекте Google Cloud.
- В терминале включите API:
gcloud services enable dlp.googleapis.com storage.googleapis.com
В качестве альтернативы, вы можете включить эти API, перейдя в консоль в раздел «Безопасность» > «Защита конфиденциальных данных и облачное хранилище» и нажав кнопку «Включить», если для каждой службы появится соответствующий запрос.
4. Создайте хранилища (buckets) с конфиденциальными данными.
Создайте входной и выходной сегменты.
На этом этапе вы создаете два хранилища: одно для хранения конфиденциальных данных, подлежащих проверке, а другое, где система защиты конфиденциальных данных будет хранить обезличенные выходные файлы. Вы также загружаете образцы файлов данных и загружаете их в ваше входное хранилище.
- В терминале выполните следующие команды, чтобы создать один сегмент для входных данных и один для выходных, а затем заполните сегмент для входных данных примерами данных из
gs://dlp-codelab-data:PROJECT_ID=$(gcloud config get-value project) gsutil mb gs://input-$PROJECT_ID gsutil mb gs://output-$PROJECT_ID
Добавьте конфиденциальные данные в поле ввода.
На этом этапе вы загружаете с GitHub файлы с примерами данных, содержащие тестовые персональные данные, и загружаете их в свой входной репозиторий.
- В Cloud Shell выполните следующую команду, чтобы клонировать репозиторий
devrel-demos, содержащий примеры данных, необходимые для этой лабораторной работы.REPO_URL="https://github.com/GoogleCloudPlatform/devrel-demos.git" TARGET_PATH="security/sample-data" OUTPUT_FOLDER="sample-data" git clone --quiet --depth 1 --filter=blob:none --sparse "$REPO_URL" temp_loader cd temp_loader git sparse-checkout set "$TARGET_PATH" cd .. mv "temp_loader/$TARGET_PATH" "$OUTPUT_FOLDER" rm -rf temp_loader - Далее скопируйте тестовые данные в созданный ранее входной контейнер:
gsutil -m cp -r sample-data/* gs://input-$PROJECT_ID/ - Перейдите в раздел «Облачное хранилище» > «Корзины» и щелкните по нужной корзине, чтобы просмотреть импортированные данные.
5. Создайте шаблон проверки
В этом задании вы создадите шаблон, который укажет системе защиты конфиденциальных данных, что именно следует искать. Это позволит вам сосредоточить проверку на типах информации , которые имеют отношение к вашим данным и географическому региону, что повысит производительность и точность.
Создать шаблон проверки
На этом этапе вы определяете правила, определяющие, какие данные считаются конфиденциальными и подлежат проверке. Этот шаблон будет повторно использоваться в ваших задачах обезличивания данных для обеспечения согласованности.
- В меню навигации перейдите в раздел «Защита конфиденциальных данных» > «Конфигурация» > «Шаблоны» .
- Нажмите «Создать шаблон» .
- В поле «Тип шаблона» выберите «Проверить (найти конфиденциальные данные)» .
- Установите идентификатор шаблона на
pii-finder. - Перейдите к настройке обнаружения .
- Нажмите «Управление типами информации» .
- Используя фильтр, найдите следующие типы информации и установите флажок рядом с каждым из них:
-
CREDIT_CARD_EXPIRATION_DATE -
CREDIT_CARD_NUMBER -
DATE_OF_BIRTH -
DRIVERS_LICENSE_NUMBER -
EMAIL_ADDRESS -
GCP_API_KEY -
GCP_CREDENTIALS -
ORGANIZATION_NAME -
PASSWORD -
PERSON_NAME -
PHONE_NUMBER -
US_SOCIAL_SECURITY_NUMBER
-
- Выберите также любые другие интересующие вас варианты и нажмите «Готово» .
- Проверьте полученную таблицу, чтобы убедиться, что все эти типы информации были добавлены.
- Нажмите «Создать» .
6. Создайте шаблоны для обезличивания данных.
Далее вы создаете три отдельных шаблона деидентификации для обработки различных форматов данных. Это обеспечивает детальный контроль над процессом преобразования, позволяя применять наиболее подходящий метод для каждого типа файла. Эти шаблоны работают совместно с только что созданным шаблоном проверки.
Создайте шаблон для неструктурированных данных.
Этот шаблон определяет, как обезличиваются конфиденциальные данные, содержащиеся в текстовом формате, например, в журналах чатов или формах обратной связи. Выбранный метод заменяет конфиденциальное значение его именем типа информации , сохраняя контекст.
- На странице «Шаблоны» нажмите «Создать шаблон» .
- Определите шаблон деидентификации:
Свойство
Значение (введите или выберите)
Тип шаблона
Обезличить (удалить конфиденциальные данные)
тип преобразования данных
Инфотип
Идентификатор шаблона
de-identify-unstructured - Перейдите к настройке деидентификации .
- В разделе «Метод преобразования» выберите преобразование: Замените на имя типа информации .
- Нажмите «Создать» .
- Нажмите «Тест» .
- Проверьте сообщение, содержащее персональные данные, чтобы увидеть, как оно будет преобразовано:
Hi, my name is Alex and my SSN is 555-11-5555. You can reach me at +1-555-555-5555.
Создайте шаблон для структурированных данных.
Этот шаблон специально предназначен для защиты конфиденциальной информации в структурированных наборах данных , таких как CSV-файлы. Вы настроите его таким образом, чтобы маскировать данные, сохраняя при этом их функциональность для тестирования и обезличивая конфиденциальные поля.
- Вернитесь на страницу «Шаблоны» и нажмите «Создать шаблон» .
- Определите шаблон деидентификации:
Свойство
Значение (введите или выберите)
Тип шаблона
Обезличить (удалить конфиденциальные данные)
тип преобразования данных
Записывать
Идентификатор шаблона
de-identify-structured - Перейдите к разделу «Настройка деидентификации ». Поскольку этот шаблон применяется к структурированным данным, мы часто можем предсказать поля или столбцы, которые будут содержать определенные типы конфиденциальных данных. Вы знаете, что в CSV-файле, используемом вашим приложением, адреса электронной почты пользователей находятся в поле
user_id, и этоmessageчасто содержит персональные данные из взаимодействий с клиентами. Вас не беспокоит маскировкаagent_idпоскольку это сотрудники, и переписка должна быть идентифицируемой. Заполните этот раздел следующим образом:- Поле(а) или столбец(ы) для преобразования :
user_id,message. - Тип преобразования : Сопоставление по infoType
- Метод преобразования : нажмите «Добавить преобразование».
- Преображение : Маска, соответствующая образу персонажа.
- Символы, которые следует игнорировать : знаки препинания США.
- Поле(а) или столбец(ы) для преобразования :
- Нажмите «Создать» .
Создайте шаблон для данных изображения.
Этот шаблон предназначен для обезличивания конфиденциального текста, встроенного в изображения , такие как отсканированные документы или фотографии, предоставленные пользователями. Он использует оптическое распознавание символов (OCR) для обнаружения и удаления персональных данных.
- Вернитесь на страницу «Шаблоны» и нажмите «Создать шаблон» .
- Определите шаблон деидентификации:
Свойство
Значение (введите или выберите)
Тип шаблона
Обезличить (удалить конфиденциальные данные)
тип преобразования данных
Изображение
Идентификатор шаблона
de-identify-image - Перейдите к настройке деидентификации .
- Типы информации для преобразования: любые обнаруженные типы информации, определенные в шаблоне проверки или конфигурации проверки, которые не указаны в других правилах .
- Нажмите «Создать» .
7. Создайте и запустите задачу деидентификации.
После определения шаблонов вы можете создать единое задание , которое применяет правильный шаблон деидентификации в зависимости от типа обнаруженного и проверенного файла. Это автоматизирует процесс защиты конфиденциальных данных, хранящихся в облачном хранилище .
Настройка входных данных
На этом этапе вы указываете источник данных, которые необходимо обезличить, а именно хранилище Cloud Storage, содержащее файлы различных типов с конфиденциальной информацией.
- Воспользуйтесь строкой поиска, чтобы перейти в раздел «Безопасность» > «Защита конфиденциальных данных» .
- В меню выберите пункт «Проверка» .
- Нажмите «Создать задание» и «Триггеры задания» .
- Настройте задание:
Свойство
Значение (введите или выберите)
Идентификатор вакансии
pii-removerТип хранения
Google Облачное хранилище
Тип местоположения
Просканируйте контейнер с необязательными правилами включения/исключения.
Название корзины
input-[your-project-id]
Настройте обнаружение и действия.
Теперь вы можете связать ранее созданные шаблоны с этим заданием, указав системе защиты конфиденциальных данных, как проверять наличие персональных данных и какой метод обезличивания применять в зависимости от типа контента.
- Шаблон проверки :
projects/[your-project-id]/locations/global/inspectTemplates/pii-finder - В разделе «Добавить действия» выберите «Создать обезличенную копию» и настройте шаблоны преобразования на основе созданных вами шаблонов.
- Откроется всплывающее окно, в котором вам нужно будет
Confirm whether you want to de-identify the findings, затем нажмите «ОТКЛЮЧИТЬ ВЫБОРКУ» .
Свойство
Значение (введите или выберите)
Шаблон деидентификации
projects/[your-project-id]/locations/global/deidentifyTemplates/de-identify-unstructuredСтруктурированный шаблон деидентификации
projects/[your-project-id]/locations/global/deidentifyTemplates/de-identify-structuredШаблон для редактирования изображений
projects/[your-project-id]/locations/global/deidentifyTemplates/de-identify-image - Настройте местоположение выходных данных в облачном хранилище:
- URL :
gs://output-[your-project-id]
- URL :
- В разделе «Расписание» оставьте значение «Нет» , чтобы задание было запущено немедленно.
- Нажмите «Создать» .
- Откроется всплывающее окно с запросом на
Confirm job or job trigger create; нажмите «ПОДТВЕРДИТЬ СОЗДАНИЕ» .
8. Проверьте результаты.
Последний шаг — подтверждение того, что конфиденциальные данные были успешно и корректно отредактированы во всех типах файлов в выходном хранилище. Это гарантирует корректную работу конвейера обезличивания.
Проверьте статус задания.
Отслеживайте ход выполнения задания, чтобы убедиться в его успешном завершении, и просмотрите сводку результатов, прежде чем проверять выходные файлы.
- На вкладке «Подробности задания» дождитесь, пока статус задания изменится на «Выполнено» .
- В разделе «Обзор» просмотрите количество обнаруженных ошибок и процентное соотношение каждого типа информации .
- Нажмите «Конфигурация» .
- Прокрутите вниз до раздела «Действия» и щелкните по выходному разделу, чтобы просмотреть обезличенные данные:
gs://output-[your-project-id].
Сравните входной и выходной файлы.
На этом этапе вы вручную проверяете обезличенные файлы, чтобы убедиться, что очистка данных была применена правильно в соответствии с вашими шаблонами.
- Изображения : Откройте изображение из выходного хранилища. Убедитесь, что весь конфиденциальный текст в выходном файле отредактирован .

- Неструктурированные журналы : Просмотрите файл журнала из обоих сегментов. Убедитесь, что персональные данные в выходном журнале заменены именем infoType (например,
[US_SOCIAL_SECURITY_NUMBER]). - Структурированные CSV-файлы : Откройте CSV-файл из обоих хранилищ. Убедитесь, что адреса электронной почты и номера социального страхования пользователей в выходном файле замаскированы с помощью
####@####.com.
9. От лаборатории к реальности: как использовать это в собственных проектах
Примененные вами принципы и настройки представляют собой план обеспечения безопасности реальных проектов в области ИИ в Google Cloud. Созданные вами ресурсы — шаблон проверки , шаблоны деидентификации и автоматизированное задание — служат надежным стартовым шаблоном для любого нового процесса сбора данных.
Автоматизированный конвейер очистки данных: ваш безопасный источник данных.
Как это можно использовать в вашей системе
Каждый раз, когда вашей команде необходимо загрузить новые необработанные данные о клиентах для разработки ИИ, вы направляете их через конвейер, включающий настроенную вами задачу защиты конфиденциальных данных. Вместо ручной проверки и редактирования вы используете этот автоматизированный рабочий процесс . Это гарантирует, что специалисты по обработке данных и модели ИИ взаимодействуют только с обезличенными данными, что значительно снижает риски для конфиденциальности.
Подключение к производству
В производственной среде эту концепцию можно развить еще дальше, выполнив следующие действия:
- Автоматизация с помощью триггеров заданий : вместо ручного запуска задания вы можете настроить триггер задания , срабатывающий при каждой загрузке нового файла в ваше входное облачное хранилище. Это создает полностью автоматизированный процесс обнаружения и обезличивания, не требующий вашего участия .
- Интеграция с хранилищами данных/озерами данных : обезличенные выходные данные обычно поступают в защищенное озеро данных (например, в облачное хранилище) или хранилище данных (например, BigQuery ) для дальнейшего анализа и обучения модели, обеспечивая конфиденциальность на протяжении всего жизненного цикла данных.
Стратегии детальной деидентификации: баланс между конфиденциальностью и полезностью.
Как это можно использовать в вашей системе
Ключевые моменты — это различные шаблоны деидентификации (неструктурированные, структурированные, изображения), которые вы создали. Вы будете применять аналогичные дифференцированные стратегии в зависимости от конкретных потребностей ваших моделей ИИ. Это позволит вашей команде разработчиков использовать высокоэффективные данные для своих моделей, не нарушая конфиденциальность.
Подключение к производству
В производственной среде такой детальный контроль становится еще более важным для:
- Пользовательские инфотипы и словари : Для особо специфичных или узкоспециализированных конфиденциальных данных вы можете определить пользовательские инфотипы и словари в рамках защиты конфиденциальных данных. Это обеспечит комплексное обнаружение, адаптированное к уникальному контексту вашего бизнеса.
- Шифрование с сохранением формата (FPE) : В сценариях, когда обезличенные данные должны сохранять свой исходный формат (например, номера кредитных карт для интеграционного тестирования), следует рассмотреть передовые методы обезличивания, такие как шифрование с сохранением формата . Это позволяет проводить тестирование с соблюдением конфиденциальности, используя реалистичные шаблоны данных.
Мониторинг и аудит: обеспечение непрерывного соответствия требованиям.
Как это можно использовать в вашей системе
Вам необходимо постоянно отслеживать журналы защиты конфиденциальных данных, чтобы убедиться, что вся обработка данных соответствует вашей политике конфиденциальности и что никакая конфиденциальная информация не будет случайно раскрыта. Регулярный анализ сводных данных и результатов проверок является частью этого непрерывного аудита.
Подключение к производству
Для создания надежной производственной системы следует учитывать следующие ключевые действия:
- Отправка результатов в Центр управления безопасностью : Для комплексного управления угрозами и централизованного обзора состояния вашей безопасности настройте задачи защиты конфиденциальных данных таким образом, чтобы они отправляли сводку результатов непосредственно в Центр управления безопасностью . Это позволит объединить оповещения и аналитические данные о безопасности.
- Оповещения и реагирование на инциденты : Вы можете настроить оповещения облачного мониторинга на основе результатов проверки защиты конфиденциальных данных или сбоев заданий. Это гарантирует, что ваша команда безопасности будет немедленно уведомлена о любых потенциальных нарушениях политики или проблемах обработки, что позволит быстро реагировать на инциденты.
10. Заключение
Поздравляем! Вы успешно разработали рабочий процесс обеспечения безопасности данных, который может автоматически обнаруживать и обезличивать персональные данные различных типов, что делает их безопасными для использования в последующих разработках и аналитике в области искусственного интеллекта .
Краткий обзор
В этой лабораторной работе вы выполнили следующее:
- Разработан шаблон проверки для обнаружения определенных типов конфиденциальной информации ( infoTypes ).
- Разработаны отдельные правила деидентификации для неструктурированных, структурированных и графических данных.
- Настроил и запустил единое задание , которое автоматически применяло правильную обработку данных в зависимости от типа файла ко всему содержимому хранилища.
- Подтверждено успешное преобразование конфиденциальных данных в защищенном месте хранения.
Следующие шаги
- Отправка результатов в Центр управления безопасностью : Для более комплексного управления угрозами настройте действие задания таким образом, чтобы оно отправляло сводку результатов непосредственно в Центр управления безопасностью .
- Автоматизация с помощью облачных функций : В производственной среде вы можете автоматически запускать это задание проверки всякий раз, когда новый файл загружается во входной контейнер, используя облачную функцию.