Поддерживает ли AlloyDB аутентификацию в базах данных Postgres с учетными записями службы IAM, как это делает Cloud SQL?

Я действительно запутался в том, как вход IAM работает с AlloyDB. Я ничего не вижу в документах о сопоставлении пользователей postgres с учетными записями службы IAM.

С Cloud SQL Postgres я могу сделать это: https://cloud.google.com/sql/docs/postgres/authentication

  1. Я создаю учетную запись службы
  2. Создайте пользователя облачного sql типа CLOUD_IAM_SERVICE_ACCOUNT, (gcloud sql users create <GSA> --type=CLOUD_IAM_SERVICE_ACCOUNT)
  3. Войдите в postgres и предоставьте этому пользователю postgres доступ только к его собственной базе данных.

Приложения авторизуются в своей собственной базе данных postgres через свою учетную запись службы IAM (через прокси-сервер) и не могут получить доступ к другим базам данных на сервере postgres.

Как мне это сделать с AlloyDB?

Глядя на документы, я вижу упоминание о CLOUD_IAM_USERhttps://cloud.google.com/alloydb/docs/database-users/about#view-list

Но я не вижу, как создавать пользователей AlloyDB через API:

Поддерживает ли API sql users AlloyDB? С помощью Cloud SQL я могу создавать пользователей сервисных учетных записей IAM через Cloud SQL API.

Создание приборной панели для анализа данных на GCP - часть I
Создание приборной панели для анализа данных на GCP - часть I
Недавно я столкнулся с интересной бизнес-задачей - визуализацией сбоев в цепочке поставок лекарств, которую могут просматривать врачи и...
1
0
109
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Еще нет, нет. Но это приближается. Никаких обещаний по датам, конечно, нет, но это в активной разработке.

Можно ли будет создавать пользователей AlloyDB через API? Кроме того, в postgres присутствует роль сплава biamuser. Если я вручную создам пользователя postgres с правильным соглашением об именах и добавлю его к этой роли, будет ли это работать?

red888 29.03.2023 20:56

Вроде да... Я не думаю, что (в настоящее время) команда работает над созданием пользователей уровня БД. Итак, когда у нас есть аутентификация IAM, вы можете создавать удостоверения IAM через API. Так что с этой точки зрения да, но я еще не уверен, какой уровень разрешений/доступа на уровне базы данных вы сможете точно настроить как часть этого. Мне нужно увидеть эту функцию внутри, прежде чем я узнаю. :) И это может измениться до того, как оно доберется до вас.

Gabe Weiss 29.03.2023 21:09

В настоящее время нет способа контролировать доступ на уровне каждой базы данных без ручного создания и аутентификации с помощью обычных пользователей postgres?

red888 29.03.2023 21:11

Кроме того, до того, как mysql поддержал это, я сделал это в своих грантах, чтобы ограничить доступ пользователей БД только к прокси: grant usage on DB.TABLE to 'username'@'cloudsqlproxy~%';. Могу ли я сделать это с помощью AlloyDB postgres?

red888 29.03.2023 21:32

Для вопроса о доступе: вроде как вы могли бы написать команды psql с пользователем, прошедшим проверку подлинности IAM, для выполнения GRANT (супер хакерский, но можно было бы сделать это таким образом). И, к сожалению, нет, этот трюк не сработает, потому что это трюк MySQL. В настоящее время Postgres не заполняет пользователя/хост.

Gabe Weiss 29.03.2023 22:23

Чтобы контролировать доступ только к прокси, вы можете/должны использовать правила брандмауэра для управления доступом. Я смотрю, есть ли у нас конкретные документы о том, как это сделать.

Gabe Weiss 29.03.2023 22:27
cloud.google.com/alloydb/docs/firewall
Gabe Weiss 29.03.2023 22:32

Другие вопросы по теме