Initial commit (unpacked platform)
This commit is contained in:
@@ -0,0 +1,29 @@
|
||||
-- Körs som RDS master-användare EN gång (spec §52).
|
||||
-- Separat databas + användare med minsta möjliga privilegier.
|
||||
-- Ingen delning av andras tabeller.
|
||||
|
||||
CREATE DATABASE app; -- byt namn per varumärke (brand.config.json slug)
|
||||
|
||||
-- Byt ut lösenordet mot ett genererat värde från Secrets Manager!
|
||||
CREATE USER app_user WITH PASSWORD 'CHANGE_ME_FROM_SECRETS_MANAGER';
|
||||
|
||||
-- Anslut till den nya databasen och kör:
|
||||
\connect app
|
||||
|
||||
-- Sök-extensions (i18n M7): skapas av master – appanvändaren saknar rättighet.
|
||||
CREATE EXTENSION IF NOT EXISTS unaccent;
|
||||
CREATE EXTENSION IF NOT EXISTS pg_trgm;
|
||||
|
||||
-- Låst schema: appanvändaren äger public-schemat i sin egen databas
|
||||
GRANT CONNECT ON DATABASE app TO app_user;
|
||||
GRANT USAGE, CREATE ON SCHEMA public TO app_user;
|
||||
ALTER DEFAULT PRIVILEGES IN SCHEMA public
|
||||
GRANT SELECT, INSERT, UPDATE, DELETE ON TABLES TO app_user;
|
||||
ALTER DEFAULT PRIVILEGES IN SCHEMA public
|
||||
GRANT USAGE, SELECT ON SEQUENCES TO app_user;
|
||||
|
||||
-- Ingen superuser, ingen replication, ingen åtkomst till andra databaser:
|
||||
REVOKE ALL ON DATABASE postgres FROM app_user;
|
||||
|
||||
-- Migrationer körs av samma användare (CREATE på schemat räcker för drizzle).
|
||||
-- Vid senare utbrytning till egen RDS: pg_dump/pg_restore enligt docs/infrastruktur.md.
|
||||
Reference in New Issue
Block a user