Ich erstelle einen PostgreSQL-Benutzer für ein internes Dashboard, wo ich möchte, dass der Benutzerzugriff auf die Datenbank standardmäßig schreibgeschützt ist.Wie kann man Ansible verwenden, um die schreibgeschützte PostgreSQL-Rolle festzulegen?
ich einige der Forschung getan, und es scheint ein wenig komplex zu sein, ein Read-Only-Benutzer zu erstellen, die auch Zugriff auf alle neuen Tabellen erbt, materialisierte Ansichten etc.
Also ich denke, die einfachste Sache ist nur zum stellen:
ALTER USER readuser SET default_transaction_read_only = on;
Wie stelle ich das mit den Ansible PostgreSQL Modulen ein?
Ich bin mir nicht sicher, ob ich das postgresql_privs
oder postgresql_user
Modul verwenden sollte. Ich habe versucht, mit verschiedenen Werten für das priv
Attribut zu experimentieren, konnte aber nichts zum Arbeiten bringen.
Ich bin mir bewusst, dass dies nicht schreibgeschützt garantiert ist, da der Benutzer nur den Typ der Transaktion zur Laufzeit ändern konnte. Aber für meinen Anwendungsfall ist das kein Problem, da Sicherheit kein Problem darstellt. Ich möchte nur vor unwissenden Benutzern schützen, die versehentlich Daten ändern. Wenn jemand über ausreichende Kenntnisse verfügt, um seine Transaktion zu ändern, nehme ich eher an, dass sie wissen, was sie tun und einen legitimen Grund dafür haben.