1. Введение
Обзор
В этой лабораторной работе вы создадите автоматизированный конвейер очистки данных для защиты конфиденциальной информации, используемой при разработке ИИ . Вы будете использовать функцию защиты конфиденциальных данных Google Cloud (ранее Cloud DLP) для проверки, классификации и деидентификации персонально идентифицируемой информации (PII) в различных форматах данных, включая неструктурированный текст, структурированные таблицы и изображения.
Контекст
Вы — ответственный за безопасность и конфиденциальность в своей команде разработчиков, и ваша цель — организовать рабочий процесс, который идентифицирует конфиденциальную информацию и деперсонифицирует её перед предоставлением разработчикам и моделям. Вашей команде нужны реалистичные, высококачественные данные для настройки и тестирования нового приложения генеративного ИИ, но использование необработанных данных клиентов создаёт серьёзные проблемы с конфиденциальностью.
В следующей таблице перечислены риски, связанные с конфиденциальностью, которые вы больше всего обеспокоены снижением:
Риск | Смягчение |
Раскрытие персональных данных в неструктурированных текстовых файлах (например, журналах чата поддержки, формах обратной связи). | Создайте шаблон деидентификации , который заменяет конфиденциальные значения на их infoType , сохраняя контекст и устраняя раскрытие. |
Потеря полезности данных в структурированных наборах данных (CSV) при удалении PII. | Используйте преобразования записей для выборочного редактирования идентификаторов (например, имен) и применяйте такие методы, как маскирование символов, для сохранения других символов в строке, чтобы разработчики могли по-прежнему проводить тестирование с этими данными. |
Раскрытие персональных данных из текста, встроенного в изображения (например, отсканированные документы, фотографии пользователей). | Создайте шаблон деидентификации для конкретного изображения , который редактирует текст, обнаруженный на изображениях. |
Непоследовательное или подверженное ошибкам ручное редактирование различных типов данных. | Настройте единое автоматизированное задание по защите конфиденциальных данных, которое последовательно применяет правильный шаблон деидентификации на основе типа обрабатываемого файла. |
Чему вы научитесь
В этой лабораторной работе вы научитесь:
- Определите шаблон проверки для обнаружения конкретных типов конфиденциальной информации ( infoTypes ).
- Создавайте отдельные правила деидентификации для неструктурированных, структурированных и изображений данных.
- Настройте и запустите одно задание, которое автоматически применяет правильное редактирование на основе типа файла к содержимому всего контейнера.
- Проверьте успешность преобразования конфиденциальных данных в безопасном месте вывода.
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 выбран правильный проект.
Включить защиту конфиденциальных данных
Чтобы использовать службу защиты конфиденциальных данных и облачное хранилище, вам необходимо убедиться, что эти API включены в вашем проекте Google Cloud.
- В терминале включите API:
gcloud services enable dlp.googleapis.com storage.googleapis.com
Кроме того, вы можете включить эти API, перейдя в раздел Безопасность > Защита конфиденциальных данных и облачное хранилище в консоли и нажав кнопку Включить , если появится соответствующий запрос для каждой службы.
4. Создайте контейнеры с конфиденциальными данными.
Создайте входной и выходной контейнер
На этом этапе вы создаёте два контейнера: один для хранения конфиденциальных данных, требующих проверки, и другой, где Sensitive Data Protection будет хранить деидентифицированные выходные файлы. Вы также скачиваете образцы файлов данных и загружаете их во входной контейнер.
- В терминале выполните следующие команды, чтобы создать один контейнер для входных данных и один для выходных, затем заполните входной контейнер образцами данных из
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. Создайте шаблоны деидентификации
Затем вы создаёте три отдельных шаблона деидентификации для обработки различных форматов данных. Это даёт вам полный контроль над процессом преобразования, позволяя применять наиболее подходящий метод для каждого типа файла. Эти шаблоны работают совместно с только что созданным вами шаблоном проверки.
Создайте шаблон для неструктурированных данных
Этот шаблон определяет, как конфиденциальные данные, содержащиеся в тексте свободной формы, например, в журналах чатов или формах обратной связи, будут деидентифицированы. Выбранный метод заменяет конфиденциальное значение именем его infoType с сохранением контекста.
- На странице Шаблоны нажмите Создать шаблон .
- Определите шаблон деидентификации:
Свойство
Значение (введите или выберите)
Тип шаблона
Деидентификация (удаление конфиденциальных данных)
Тип преобразования данных
ИнфоТип
Идентификатор шаблона
de-identify-unstructured - Продолжайте , чтобы настроить деидентификацию .
- В разделе Метод преобразования выберите Преобразование: Заменить на имя infoType .
- Нажмите «Создать» .
- Нажмите кнопку Тест .
- Протестируйте сообщение, содержащее PII, чтобы увидеть, как оно будет преобразовано:
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].
Сравните входные и выходные файлы
На этом этапе вы вручную проверяете обезличенные файлы, чтобы убедиться, что очистка данных была применена правильно в соответствии с вашими шаблонами.
- Изображения : Откройте изображение из выходного контейнера. Убедитесь, что весь конфиденциальный текст в выходном файле отредактирован .

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