diff schema/std_login_roles.sql @ 330:fd04bccae6ca

Create standard roles as part of the base schema. We will always need: 1. a gemma service user 2. an initial sys_admin user so these are now created as part of the base gemma schema. The install-db script now creates random default passwords for this accounts. As the complexity is sufficiently increased by now I also changed the Quick Start guide to use an configuration file and provided an example file.
author Sascha Wilde <wilde@intevation.de>
date Fri, 03 Aug 2018 13:40:10 +0200
parents
children 6c09aa214948
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/schema/std_login_roles.sql	Fri Aug 03 13:40:10 2018 +0200
@@ -0,0 +1,46 @@
+BEGIN;
+
+--
+-- Standard users for the GEMMA database
+--
+
+-- NOTE: Passwords for these roels must be set during initial setup of
+--       the database.
+
+--
+-- Admin User
+--
+-- This initial Admin account is used to bootstrap the personalized
+-- accounts.
+CREATE ROLE sysadmin IN ROLE sys_admin LOGIN;
+-- We need an empty dumm country for the default admin, as the user is
+-- not supposed to work on data, it should be only used to create
+-- personalized accounts.
+INSERT INTO countries (country_code) VALUES ('--');
+INSERT INTO users.responsibility_areas (country, area)
+  VALUES ('--', ST_GeomFromText('MULTIPOLYGON(((0 0, 0 0, 0 0, 0 0)))', 4326));
+-- Add user profile data for sysadminL
+INSERT INTO internal.user_profiles
+            (username, country, email_address, map_extent)
+  VALUES ('sysadmin','--','',
+          'BOX(9.52115482500011 46.3786430870001,17.1483378500001 49.0097744750001)');
+
+--
+-- Functional Users
+--
+
+-- Used by the back end (gemma)
+CREATE ROLE gemma_service IN ROLE pw_reset LOGIN;
+
+
+--
+-- Remind the caller of his duties
+--
+DO language plpgsql $$
+BEGIN
+  RAISE NOTICE 'Don''t forget to set a password for the user "sysadmin".';
+  RAISE NOTICE 'Don''t forget to set a password for the user "gemma_service".';
+END
+$$;
+
+COMMIT;