07 — Access Control

SSH key management, OAuth tokens, role assignments, and least-privilege posture across all servers, SaaS, and CI/CD pipelines.

Access is split into three layers: SSH key pairs (server access), OAuth / API tokens (SaaS and service access), and Supabase RLS policies (database row-level access).

Key Documents

DocumentDescription
elements.mdCredentials section — lists which key/token is used per element
google-oauth-n8n.mdGoogle OAuth setup for n8n (Gmail, Drive, Calendar)
ssh-hardening-operations.mdSSH hardening procedures, key rotation, authorized_keys management
09-ssh-hardening.mdSSH hardening improvement proposal

SSH Key Inventory

Key nameLocationUsed for
id_ed25519 (human)C:\Users\konar\.ssh\Root access to all servers, bms-1–4, vps-i1, vps-h1
VPS_SSH_PRIVATE_KEYGH Secretclaude-admin on vps-i1 (CI/CD + AI agents)
VPS_ROOT_SSH_KEYGH Secret (base64)Root provisioning workflow
radieu-root-2026-05-15bms-1:/root/.ssh/authorized_keysRoot on bms-1

User / Role Matrix

ServerHuman userCI/CD userClaude agent user
vps-i1rootclaude-adminAI-Dev-IO1
vps-h1rootAI-Dev-HS1
bms-1root
bms-2ubuntu / claude-admin
bms-3ubuntu
bms-4rootAI-Dev-BMS4-1

Supabase Roles

RolePermissions
service_roleFull access (backend only)
grafana_readonlySELECT on monitoring/fleet tables
anonSELECT/INSERT on dev_r_* tables (DevOps tooling — public via RLS policies)

Cross-references

  • README — API keys, tokens, and Infisical vault
  • README — SSH hardening, firewall rules, CVE exposure