Platform e Identity
backbone_platform
Schema per configurazione e operativita platform. Non contiene dati business di un singolo prodotto.
Tabelle attuali rAInty da mappare
| Tabella attuale | Responsabilita target |
|---|---|
settings | Configurazioni runtime, da rendere application/tenant aware. |
service_flags | Feature flag e runtime flags. |
scheduler_jobs | Job schedulati condivisi. |
scheduler_rules | Regole scheduler. |
alerting_rules | Regole alert condivise. |
alerting_deliveries | Tracking consegne alert. |
alerting_state | Stato corrente degli alert. |
logs | Log applicativi se mantenuti nel DB; retention breve. |
__caching | Cache persistita legacy; valutare Redis o tabella dedicata. |
schema_migrations | Legacy/opzionale, solo se si introduce migration runner. |
environment_sync_api_keys | API key del sync ambienti; tabella sensibile. |
environment_sync_nonce_log | Anti-replay per sync ambienti. |
environment_sync_transfers | Audit dei trasferimenti sync. |
environment_sync_id_map | Mappa ID tra ambienti. |
verticals | Da rinominare concettualmente in applications/capabilities. |
user_vertical_access | Da trasformare in application access/bindings. |
storage_connections | Connessioni storage configurate. |
storage_synology_connection_configs | Configurazione provider Synology. |
storage_connection_folders | Folder collegati a una connessione storage. |
storage_synced_files | File sincronizzati, se metadata tecnico condiviso. |
storage_sync_logs | Log sync storage. |
Nuove tabelle platform
| Tabella target | Responsabilita |
|---|---|
applications | Catalogo prodotti/applicazioni: rendicontazione, rainty, bandi. |
application_domains | DNS/frontend associati alle applicazioni. |
application_capabilities | Capability abilitate per applicazione. |
tenants | Tenant/clienti. |
tenant_applications | Applicazioni abilitate per tenant. |
schema_bindings | Binding application/tenant -> schema fisico. |
service_registry | Catalogo microservizi. |
service_instances | Istanze runtime osservate. |
backbone_identity
Schema per identity mapping e autorizzazioni platform.
La backbone non deve gestire direttamente password, reset password o MFA se viene adottato un Identity Provider esterno. L'autenticazione viene demandata all'IdP; internamente si gestiscono provider, identita esterne, mapping verso applicazioni/tenant, ruoli, permessi e audit.
authService resta utile, ma diventa token verifier / identity resolver / internal token issuer. Non e piu il database owner delle credenziali utente.
Tabelle attuali rAInty da mappare
| Tabella attuale | Responsabilita target |
|---|---|
users | Legacy/cut-over: da migrare verso external_identities e profili prodotto. |
auth_refresh_tokens | Legacy se refresh token gestito dall'IdP; rimuovere dopo cut-over. |
api_keys | API key utente/servizio. |
user_permissions | Permessi utente. |
roles | Ruoli; distinguere ruoli globali da ruoli prodotto. |
user_roles | Assegnazioni ruoli. |
password_reset_tokens | Legacy se reset password gestito dall'IdP. |
registration_invitations | Inviti registrazione. |
party_invitations | Inviti/collegamenti party; valutare se product-specific. |
entity_shares | Sharing entita; da rendere application/tenant aware. |
user_settings | Preferenze utente generiche; quelle prodotto vanno nello schema prodotto. |
user_client_navigation | Stato navigazione UI; valutare spostamento su schema prodotto. |
user_messaging_configs | Config messaggistica utente. |
messaging_pending_verifications | Verifiche canali messaggistica. |
parties | Identita/controparti; valutare split tra identity globale e business entity prodotto. |
party_merge_audit | Audit merge identita/party. |
service_provider_profiles | Profilo provider; valutare se product-specific. |
Nuove tabelle identity
| Tabella target | Responsabilita |
|---|---|
identity_providers | Provider OIDC/SAML/OAuth configurati: Auth0, Keycloak, Entra ID, Google Workspace, ecc. |
external_identities | Identita esterne normalizzate, basate su issuer + subject dell'IdP. |
identity_application_links | Collegamento identita esterna -> applicazione/tenant/profilo prodotto. |
tenant_memberships | Membership tenant/application, stato e policy accesso. |
application_roles | Ruoli applicativi gestiti dalla backbone. |
application_permissions | Permessi applicativi/capability. |
application_role_permissions | Relazione ruolo-permesso. |
application_user_roles | Assegnazione ruoli a identita/applicazione/tenant. |
api_keys | API key utente/integrazione, se non gestite dall'IdP. |
internal_service_tokens | Token interni service-to-service. |
access_audit_events | Audit login/accesso/autorizzazioni. |
Tabelle non previste con IdP esterno
| Tabella | Motivo |
|---|---|
identity_credentials | Password/credenziali locali gestite dall'IdP. |
password_reset_tokens | Reset password gestito dall'IdP. |
auth_refresh_tokens | Refresh token gestito dall'IdP. |
identity_sessions | Opzionale solo per audit/cache; non source of truth. |
Campi minimi consigliati
identity_providers:
id
code
type -- oidc, saml, oauth2
issuer_url
audience
jwks_url
status
config_json
created_at
updated_at
external_identities:
id
provider_id
provider_subject -- sub del token IdP
email
normalized_email
display_name
avatar_url
email_verified
status
first_seen_at
last_seen_at
created_at
updated_at
identity_application_links:
id
external_identity_id
application_code
tenant_id
product_user_id
status
created_at
updated_at
Il modello separa:
Identity Provider = autenticazione
backbone_identity = mapping e autorizzazioni platform
schema prodotto = profilo utente e autorizzazioni business specifiche