- PG-migrasjon: api_keys-tabell med krypterte nøkler (032) - AES-256-GCM kryptering via SYNOPS_MASTER_KEY (crypto.rs) - Admin-endepunkter: list/create/test/deactivate/delete - Test-tilkobling for OpenRouter, Anthropic, OpenAI, Gemini - Frontend: /admin/keys med nøkkelliste og opprettskjema - SYNOPS_MASTER_KEY injiseres via maskinrommet-env.sh
20 lines
636 B
SQL
20 lines
636 B
SQL
-- API-nøkler: kryptert lagring av tredjepartsnøkler
|
|
-- Ref: docs/infra/nøkkelhåndtering.md
|
|
|
|
CREATE TABLE api_keys (
|
|
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
|
|
provider TEXT NOT NULL,
|
|
label TEXT,
|
|
key_encrypted BYTEA NOT NULL,
|
|
key_hint TEXT,
|
|
is_active BOOLEAN DEFAULT true,
|
|
created_at TIMESTAMPTZ DEFAULT now(),
|
|
updated_at TIMESTAMPTZ DEFAULT now(),
|
|
created_by UUID REFERENCES nodes(id),
|
|
last_used TIMESTAMPTZ,
|
|
usage_count BIGINT DEFAULT 0
|
|
);
|
|
|
|
CREATE INDEX idx_api_keys_provider ON api_keys(provider, is_active);
|
|
|
|
GRANT SELECT ON api_keys TO synops_reader;
|