Skip to main content

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 attualeResponsabilita target
settingsConfigurazioni runtime, da rendere application/tenant aware.
service_flagsFeature flag e runtime flags.
scheduler_jobsJob schedulati condivisi.
scheduler_rulesRegole scheduler.
alerting_rulesRegole alert condivise.
alerting_deliveriesTracking consegne alert.
alerting_stateStato corrente degli alert.
logsLog applicativi se mantenuti nel DB; retention breve.
__cachingCache persistita legacy; valutare Redis o tabella dedicata.
schema_migrationsLegacy/opzionale, solo se si introduce migration runner.
environment_sync_api_keysAPI key del sync ambienti; tabella sensibile.
environment_sync_nonce_logAnti-replay per sync ambienti.
environment_sync_transfersAudit dei trasferimenti sync.
environment_sync_id_mapMappa ID tra ambienti.
verticalsDa rinominare concettualmente in applications/capabilities.
user_vertical_accessDa trasformare in application access/bindings.
storage_connectionsConnessioni storage configurate.
storage_synology_connection_configsConfigurazione provider Synology.
storage_connection_foldersFolder collegati a una connessione storage.
storage_synced_filesFile sincronizzati, se metadata tecnico condiviso.
storage_sync_logsLog sync storage.

Nuove tabelle platform

Tabella targetResponsabilita
applicationsCatalogo prodotti/applicazioni: rendicontazione, rainty, bandi.
application_domainsDNS/frontend associati alle applicazioni.
application_capabilitiesCapability abilitate per applicazione.
tenantsTenant/clienti.
tenant_applicationsApplicazioni abilitate per tenant.
schema_bindingsBinding application/tenant -> schema fisico.
service_registryCatalogo microservizi.
service_instancesIstanze 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 attualeResponsabilita target
usersLegacy/cut-over: da migrare verso external_identities e profili prodotto.
auth_refresh_tokensLegacy se refresh token gestito dall'IdP; rimuovere dopo cut-over.
api_keysAPI key utente/servizio.
user_permissionsPermessi utente.
rolesRuoli; distinguere ruoli globali da ruoli prodotto.
user_rolesAssegnazioni ruoli.
password_reset_tokensLegacy se reset password gestito dall'IdP.
registration_invitationsInviti registrazione.
party_invitationsInviti/collegamenti party; valutare se product-specific.
entity_sharesSharing entita; da rendere application/tenant aware.
user_settingsPreferenze utente generiche; quelle prodotto vanno nello schema prodotto.
user_client_navigationStato navigazione UI; valutare spostamento su schema prodotto.
user_messaging_configsConfig messaggistica utente.
messaging_pending_verificationsVerifiche canali messaggistica.
partiesIdentita/controparti; valutare split tra identity globale e business entity prodotto.
party_merge_auditAudit merge identita/party.
service_provider_profilesProfilo provider; valutare se product-specific.

Nuove tabelle identity

Tabella targetResponsabilita
identity_providersProvider OIDC/SAML/OAuth configurati: Auth0, Keycloak, Entra ID, Google Workspace, ecc.
external_identitiesIdentita esterne normalizzate, basate su issuer + subject dell'IdP.
identity_application_linksCollegamento identita esterna -> applicazione/tenant/profilo prodotto.
tenant_membershipsMembership tenant/application, stato e policy accesso.
application_rolesRuoli applicativi gestiti dalla backbone.
application_permissionsPermessi applicativi/capability.
application_role_permissionsRelazione ruolo-permesso.
application_user_rolesAssegnazione ruoli a identita/applicazione/tenant.
api_keysAPI key utente/integrazione, se non gestite dall'IdP.
internal_service_tokensToken interni service-to-service.
access_audit_eventsAudit login/accesso/autorizzazioni.

Tabelle non previste con IdP esterno

TabellaMotivo
identity_credentialsPassword/credenziali locali gestite dall'IdP.
password_reset_tokensReset password gestito dall'IdP.
auth_refresh_tokensRefresh token gestito dall'IdP.
identity_sessionsOpzionale 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