This commit is contained in:
@@ -0,0 +1,24 @@
|
||||
BEGIN;
|
||||
SET ROLE identity_role;
|
||||
CREATE TABLE IF NOT EXISTS identity.service_principals (
|
||||
principal_id TEXT PRIMARY KEY,
|
||||
actor_id TEXT NOT NULL,
|
||||
kind TEXT NOT NULL CHECK (kind = 'SERVICE'),
|
||||
purpose TEXT NOT NULL,
|
||||
synthetic_scope TEXT NOT NULL,
|
||||
active BOOLEAN NOT NULL DEFAULT TRUE,
|
||||
revision BIGINT NOT NULL DEFAULT 1,
|
||||
recorded_at TIMESTAMPTZ NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
CHECK (principal_id <> '' AND actor_id <> '' AND purpose <> '' AND synthetic_scope <> '' AND revision > 0)
|
||||
);
|
||||
CREATE UNIQUE INDEX IF NOT EXISTS service_principals_actor_idx ON identity.service_principals(actor_id);
|
||||
INSERT INTO identity.service_principals(principal_id, actor_id, kind, purpose, synthetic_scope)
|
||||
VALUES ('domovoy-acceptance-harness-principal', 'domovoy-acceptance-harness-actor', 'SERVICE', 'AUTHENTICATE_ACCEPTANCE_HARNESS', 'synthetic-acceptance-scope')
|
||||
ON CONFLICT (principal_id) DO NOTHING;
|
||||
INSERT INTO identity.actors(actor_id, display_name) VALUES ('domovoy-acceptance-harness-actor', 'Domovoy Acceptance Harness') ON CONFLICT (actor_id) DO NOTHING;
|
||||
INSERT INTO identity.principals(principal_id, display_name) VALUES ('domovoy-acceptance-harness-principal', 'Domovoy Acceptance Harness Principal') ON CONFLICT (principal_id) DO NOTHING;
|
||||
INSERT INTO identity.principal_bindings(actor_id, principal_id, active) VALUES ('domovoy-acceptance-harness-actor', 'domovoy-acceptance-harness-principal', TRUE) ON CONFLICT (actor_id, principal_id) DO UPDATE SET active=TRUE;
|
||||
REVOKE ALL ON identity.service_principals FROM PUBLIC;
|
||||
GRANT SELECT ON identity.service_principals TO identity_role;
|
||||
RESET ROLE;
|
||||
COMMIT;
|
||||
Reference in New Issue
Block a user