Проблема GCP SQL Postgres с привилегиями: невозможно запустить запрос с пользователем postgres с сгенерированной Symfony db

Я изо всех сил пытаюсь решить эту проблему с помощью компонента Cloud SQL Google Cloud Platform. Мой технический стек состоит из размещения моего приложения в развертывании Google Kubernetes Engine (GKE) с использованием дополнительного компонента прокси-сервера Cloud SQL для подключения к базе данных в модулях. Бэкэнд - это проект Symfony.

Я выполняю следующие шаги, чтобы создать и заполнить базу данных (безуспешно):

  1. Создать экземпляр Cloud SQL Postgres
  2. Добавьте прокси в контейнер k8s для подключения к экземпляру Cloud SQL со всеми учетными данными, как описано в Документация GCP
  3. Войдите в мой модуль Symfony (phpfpm) и запустите команду php bin/console doctrine:schema:update --force, чтобы обновить схему. Запросы выполняются в базе данных, поэтому создается схема и так далее.
  4. Я пытаюсь открыть базу данных из соединения консоли SQL в GCP с пользователем postgres и пытаюсь выполнить простой запрос select * from foo;. Ответ Insufficient privilege: 7 ERROR: permission denied for relation

Как я могу запросить данные в базе данных с помощью пользователя postgres?

РЕДАКТИРОВАТЬ :

У меня такая ситуация с пользователями:

     Role name     |                         Attributes                         |           Member of           
-------------------+------------------------------------------------------------+-------------------------------
 acando14          | Create role, Create DB                                     | {cloudsqlsuperuser,proxyuser}
 cloudsqladmin     | Superuser, Create role, Create DB, Replication, Bypass RLS | {}
 cloudsqlagent     | Create role, Create DB                                     | {cloudsqlsuperuser}
 cloudsqlreplica   | Replication                                                | {}
 cloudsqlsuperuser | Create role, Create DB                                     | {}
 postgres          | Create role, Create DB                                     | {cloudsqlsuperuser,acando14}
 proxyuser         | Create role, Create DB                                     | {cloudsqlsuperuser}

А у меня в таблицах такая ситуация:

              List of relations
 Schema |      Name       | Type  |  Owner   
--------+-----------------+-------+----------
 public | article         | table | acando14

Если я использую пользователя postgres, зарегистрированного в моей базе данных, symfony работает:

symfony => select * from article;
 id | model_id | code | size 
----+----------+------+------
(0 rows)

Но если я использую сервер для выполнения кода, ответ будет следующим:

SQLSTATE[42501]: Insufficient privilege: 7 ERROR: permission denied for relation employee at PDOException(code: 42501): SQLSTATE[42501]: Insufficient privilege: 7 ERROR: permission denied for relation .. at

И еще одна проблема в том, что я не сгенерировал все таблицы с помощью команды, но мне нужно сгенерировать ее, выполняя все запросы, так странно ...

Спасибо! С уважением

От имени какого пользователя служба, размещенная в k8s, подключается к базе данных?

Cosmic Ossifrage 09.09.2018 19:48

С прокси-пользователем ...

Alessandro Candon 09.09.2018 22:22
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
11
2
7 545
0

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