DBA1-13. 13. Роли и атрибуты

Sdílet
Vložit
  • čas přidán 22. 08. 2024
  • DBA1-13. Тема 13. Роли и атрибуты
    postgrespro.ru...
    Авторы курса: Егор Рогов, Павел Лузанов, Илья Баштанов
    © Postgres Professional, 2015-2022
  • Věda a technologie

Komentáře • 22

  • @Lena_tulen
    @Lena_tulen Před 2 lety +1

    САМОЕ ЛУЧШЕЕ ВИДЕО ПО POSTGRES!

  • @halforhalf-fo4fe
    @halforhalf-fo4fe Před 7 měsíci

    шикарные лекции, спасибо!

  • @e001as_def
    @e001as_def Před rokem +1

    Спасибо!

  • @anankondec
    @anankondec Před 2 lety +1

    Спасибо, а когда продолжение ждать?

  • @user-gb9ut9pi7y
    @user-gb9ut9pi7y Před 2 lety

    одна из самых простых тем...

  • @user-mw4ep2tp7j
    @user-mw4ep2tp7j Před rokem +1

    Спасибо за видео. А как сделали презентацию в терминале? Какую программу использовали?

  • @user-ww5cy7lh9l
    @user-ww5cy7lh9l Před rokem +1

    То, что любой пользователь (роль) может передать свои права любому другому пользователю, является дыркой в безопасности. По логике это должен делать только администратор. Есть ли какой-то прикладной смысл того, зачем это было сделано? Можно ли как-то защититься от этого, кроме как включения логов, как это сделали вы в видео?

    • @pavelluzanov1188
      @pavelluzanov1188 Před rokem

      Спасибо, хорошее замечание. Это исправили в 15-й версии.
      По умолчанию роль больше не имеет ADMIN OPTION для самой себя. Что с одной стороны не дает возможность включить в себя другие роли, с другой стороны исключить себя из тех ролей, куда включил суперпользователь.
      Учтем при обновлении курса, но пока так.

    • @222Simon222
      @222Simon222 Před 9 měsíci +1

      @@pavelluzanov1188 Спасибо, что написали об этом в комментариях. Я уже подумал, что что-то делаю не так...

  • @juliakhvostova1402
    @juliakhvostova1402 Před 5 měsíci

    когда пытаюсь подключиться к роли алиса, у меня запрашивает какой то пароль, но не пароль от виртуальной машины ни пароль, который задавался при установке постгрес не подходит. что делать?

  • @uncletola
    @uncletola Před rokem

    Когда делаем grant dba to alice; мы даем права которые есть в роли dba алисе (как это сделано в oracle) или просто добавляем alice в группу dba? Далее, чтобы alice воспользоваться правами которые есть у dba нужно обязательно сделать SET ROLE? Или при grant они автоматом добавятся к alice?

    • @PostgresProfessional
      @PostgresProfessional  Před rokem

      Мы добавляем alice в группу dba, что приводит к тому, что права автоматически наследуются. Права не добавляются непосредственно к alice, но и SET ROLE делать не нужно.
      Есть нюансы: у alice должен быть атрибут INHERIT (он есть по умолчанию), иначе права не будут наследоваться.

  • @user-kl8oq3rr8y
    @user-kl8oq3rr8y Před rokem

    Добрый день, господа. Подскажите, пожалуйста, по следующему моменту: получается, что если у роли отобрать её права, то она все ещё может пользоваться ими до окончания сеанса (либо до перезагрузки сервера)? Или существует какая-либо команда для полной блокировки пользователя? Что необходимо предпринять если в случае внештатной ситуации нам потребовалось отключить какого-либо пользователя и отнять все права? Для примера: мой bob, в своем терминале, после лишения его всех прав, продолжал смотреть представления, создавать таблицы без явного указания начала операции, а если и начинал их при помощи BEGIN (имея полномочия роли), то удачно завершал при помощи COMMIT, когда полномочия уже были отозваны, а это для него, по идее, уже запрещённые процедуры. На всякий случай попробовала перечитать файлы конфигурации (дабы не перезагружать сервер) - bob не реагировал. И пока я не перезагрузила сервер, bob (ну естественно я в данной роли) так и продолжал свои "манипуляции". Даже когда я удалила все его таблицы, а после этого полностью удалила роль с именем bob - он продолжал смотреть данные из базы в виде представлений (правда таблицы создавать уже не мог). Это "тонкое место", или я придаю этому слишком большое значение? Существует ли какой-то способ полностью заблокировать роль, кроме перезагрузки сервера (как я понимаю это крайне нежелательная процедура, если к серверу есть подключения )? В документации ответ на свой вопрос я не нашла. Заранее спасибо!

    • @PostgresProfessional
      @PostgresProfessional  Před rokem +1

      Дело в том, что сеанс использует локальный кеш системного каталога. Поэтому какие-то изменения могут доходить до него не сразу.
      Если вам действительно надо немедленно заблокировать пользователя, найдите его сеансы и завершите их (pg_terminate_backend).

  • @user-ps4bt3vh9q
    @user-ps4bt3vh9q Před 2 lety

    Когда второй курс будет ?

  • @andreaburguea
    @andreaburguea Před rokem

    access_roles=# CREATE ROLE alice LOGIN CREATEROLE;
    CREATE ROLE
    access_roles=# \c - alice;
    connection to server on socket "/var/run/postgresql/.s.PGSQL.5432" failed: FATAL: Peer authentication failed for user "alice"
    Previous connection kept
    why is that?

    • @PostgresProfessional
      @PostgresProfessional  Před rokem +1

      It's because of "peer" authentication mode for local connections in pg_hba.conf. For this mode to work, you have to declare name mapping; see postgrespro.com/docs/postgrespro/15/auth-username-maps
      Simpler way is to change authentication mode from "peer" to e.g. "trust" (just for convenience; don't do it in production).

    • @andreaburguea
      @andreaburguea Před rokem

      @@PostgresProfessional спасибо большое. Мне просто было лень переключать раскладку, поэтому на английском написал

    • @zakirovio
      @zakirovio Před 6 měsíci

      @@PostgresProfessional я использую postgreSQL через docker, и когда подключаюсь к контейнеру и вхожу через psql в terminale, то могу динамически изменять текущего пользователя как в уроке. А вот через pgadmin4 не получается так же выводит authentiction failed. Это pgadmin может работать только с одним пользователем или нужно что-то менять в pg_hba.conf? И как менять pg_hba.conf через docker?