Google Cloud Platform — безопасность данных в BigQuery

Опубликовано: 8 Сентября, 2022

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

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

IAM может ограничить доступ до уровня таблицы. Но что, если вы хотите ограничить доступ участников к частям таблицы? В BigQuery один из способов выполнить эту задачу — создать авторизованные представления. Авторизованное представление позволяет вам делиться результатами запроса с определенным пользователем или группой, не предоставляя этому пользователю доступ к запрошенным таблицам. Например, допустим, как администратор данных BigQuery, вы хотели предоставить аналитику вашей компании доступ к таблице, содержащей данные вашего запроса на обслуживание, но вы хотели удалить полный адрес расположения службы. Вы можете написать запрос, который не включает столбец адреса, а затем сохранить результаты как авторизованное представление, чтобы поделиться с аналитиком.

Создание авторизованного представления следует определенной последовательности шагов. Чтобы определить авторизованный вид, выполните следующие шаги:

Шаг 1: Начните с исходного набора данных. Это набор данных с конфиденциальными данными, которыми вы не хотите делиться.

Шаг 2: Создайте отдельный набор данных для хранения представления. Авторизованные представления требуют, чтобы исходные данные находились в наборе данных, отдельном от представления.

Шаг 3: Создайте представление в новом наборе данных. В новом наборе данных вы создаете представление, которым собираетесь поделиться со своими аналитиками данных. Это представление создается с помощью SQL-запроса, который включает только те данные, которые нужны аналитикам.

Шаг 4: Назначьте элементы управления доступом к проекту. Чтобы запросить представление, вашему аналитику необходимо разрешение на выполнение запросов. Назначив вашему аналитику роль пользователя BigQuery, вы получите эту возможность. Этот доступ не дает им возможности просматривать или запрашивать какие-либо наборы данных в рамках проекта.

Шаг 5: Назначьте элементы управления доступом к набору данных, содержащему представление. Чтобы ваши аналитики могли запрашивать представление, им должна быть предоставлена роль просмотра данных BigQuery для конкретного набора данных, содержащего представление.

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