Google Cloud Platform — управление доступом с помощью IAM в BigQuery

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

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

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

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

Cloud IAM позволяет вам управлять контролем доступа, определяя три вещи:

  • Член
  • Роль
  • Политика

Это означает, что вы указываете, у кого есть доступ к какому ресурсу. Давайте подробнее рассмотрим каждый из них.

Член:

Во-первых, участник или тот, у кого есть доступ. Вы можете определить член несколькими способами. Один из способов — идентифицировать конечных пользователей по их адресу электронной почты, если он связан с учетной записью Google. Вы также можете настроить доступ для группы пользователей, используя группу Google, домен G Suite или домен Cloud Identity в качестве члена. Иногда доступ к вашим данным BigQuery требуется не человеку, а приложению или сервису. В этом случае вы можете создать учетную запись службы, которая представляет собой особый тип учетной записи Google, предназначенный для представления пользователя, не являющегося человеком. Когда вы создаете учетную запись службы, ей назначается специальный адрес, который можно использовать в качестве идентификатора участника при определении доступа. Когда вы предоставляете доступ к набору данных любому пользователю, вошедшему в систему, существует специальный идентификатор, называемый все аутентифицированные пользователи , который вы можете использовать в качестве члена в этом случае. Именно так мы делаем общедоступные наборы данных BigQuery доступными для всех пользователей BigQuery.

Роль:

После того, как вы определили участника, вам нужно решить, какую роль ему назначить. Роль включает в себя набор разрешений, который определяет, какие операции разрешено выполнять участнику. Cloud IAM предоставляет несколько предопределенных ролей, которые включают комбинацию этих разрешений.

Роль Описание
Администратор BigQuery Управление всеми ресурсами и данными в рамках проекта
Владелец данных BigQuery Доступ для редактирования и совместного использования наборов данных и таблиц
Редактор данных BigQuery Доступ для редактирования наборов данных и всех его таблиц
Средство просмотра данных BigQuery Доступ для просмотра наборов данных и всех его таблиц
Пользователь задания BigQuery Доступ к выполнению заданий, включая запросы
Пользователь BigQuery Доступ для выполнения запросов и создания наборов данных
Средство просмотра метаданных BigQuery Доступ для просмотра метаданных таблиц и наборов данных

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

Политика:

Вместе участник и роль составляют политику, которая затем применяется к конкретному ресурсу. Политика может быть привязана к конкретной таблице, набору данных или самому проекту GCP. На уровне проекта разрешения применяются ко всем текущим и будущим наборам данных, которые являются частью проекта.

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

Давайте перейдем к консоли и настроим политики. Вы начнете с предоставления аналитикам по продажам роли редактора данных BigQuery для набора данных о розничных продажах. Чтобы установить роли на уровне набора данных, выберите набор данных из ресурсов, затем нажмите «Поделиться набором данных» в правой части окна. На вкладке разрешений набора данных введите объект, который вы хотите добавить, в текстовое поле «Добавить участников». Чтобы выбрать роль, выберите редактор данных BigQuery и нажмите «Добавить». Затем нажмите «Готово».

Затем выполните те же действия, чтобы предоставить аналитикам обслуживания клиентов роль редактора данных BigQuery для набора данных обслуживания клиентов. Вы заметите, что мы используем группы Google для предоставления ролей. Группы Google — это удобный способ создать политику для сбора пользователей. Вы можете предоставить и изменить доступ сразу для всей группы, а не для отдельных пользователей по одному.

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

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

Выберите роль пользователя BigQuery и нажмите Сохранить.

Теперь ваши две команды готовы и оснащены для безопасного анализа своих данных.