{"id":2036,"date":"2025-07-28T08:52:34","date_gmt":"2025-07-28T08:52:34","guid":{"rendered":"https:\/\/staticalmo.com\/?p=2036"},"modified":"2025-05-25T06:52:48","modified_gmt":"2025-05-25T06:52:48","slug":"accedere-a-base-di-dati-senza-problemi-di-sicurezza","status":"publish","type":"post","link":"https:\/\/staticalmo.com\/en\/accedere-a-base-di-dati-senza-problemi-di-sicurezza\/","title":{"rendered":"Accedere a base di dati senza problemi di sicurezza"},"content":{"rendered":"<p><span style=\"font-weight: 400;\">Nella vecchia maniera, quando si vuole dare i dati ad uno statistico per farli analizzare, gli si fornisce una copia. Questi di solito vengono da una base di dati, propria o impropria.\u00a0<\/span><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"font-weight: 400;\">In questa casistica della copia rientrano la maggior parte delle micro e piccole aziende. Quando i dati diventano troppi, <\/span><i><span style=\"font-weight: 400;\">per fortuna <\/span><\/i><span style=\"font-weight: 400;\">non li si pu\u00f2 mandare per email o per chat, per dei limiti, ad esempio nelle dimensioni dello allegato. E di solito in questi casi i dati vengono gi\u00e0 da una base di dati, non da una soluzione temporanea come i fogli di calcolo.<\/span><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"font-weight: 400;\">In questi casi si danno le credenziali di accesso alla base di dati. Bisogna per\u00f2 fare molta attenzione a quali credenziali. Perch\u00e9 se dai <\/span><b>anche <\/b><span style=\"font-weight: 400;\">quelle da <\/span><i><span style=\"font-weight: 400;\">amministratore<\/span><\/i><span style=\"font-weight: 400;\">, lo statistico o chi per lui fa l\u2019analisi, pu\u00f2 fare anche danni accidentali, come eliminare colonne e\/o righe. Ecco perch\u00e9 si procede per gradi: prima si danno gli accessi ai dati <\/span><b>SOLO <\/b><span style=\"font-weight: 400;\">inl lettura, visto che non si tratta di una copia dell\u2019intera base di dati, poi, se sorgono le necessit\u00e0 anche in SCRITTURA, possibilmente procedendo per gradi.\u00a0<\/span><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"font-weight: 400;\">In dei casi l\u2019azienda non risulta proprietaria della base di dati, ad esempio quando usa certi CRM, tipo Hubspot. In quel caso la forma dell\u2019accesso cambia, servono delle chiavi API. Ma non cambia la sostanza: queste chiavi possono avere diversi tipi di permessi e torna ovviamente il discorso lettura e scrittura.\u00a0<\/span><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"font-weight: 400;\">Un esempio tecnico di creazione diritti di sola lettura per una base di dati:<\/span><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"font-weight: 400;\">&#8212; 1) Creiamo un nuovo account di sola lettura per il consulente<\/span><\/p>\n<p><span style=\"font-weight: 400;\">CREATE USER consulente_in_lettura<\/span><\/p>\n<p><span style=\"font-weight: 400;\">\u00a0\u00a0WITH PASSWORD &#8216;nome_consulente_password_forte&#8217;;<\/span><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"font-weight: 400;\">&#8212; 2) Consentiamo al consulente di connettersi al database aziendale<\/span><\/p>\n<p><span style=\"font-weight: 400;\">GRANT CONNECT ON DATABASE database_aziendale<\/span><\/p>\n<p><span style=\"font-weight: 400;\">\u00a0\u00a0TO consulente_in_lettura;<\/span><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"font-weight: 400;\">&#8212; 3) Consentiamo al consulente di \u201cvedere\u201d i dati all\u2019interno dello schema principale<\/span><\/p>\n<p><span style=\"font-weight: 400;\">GRANT USAGE ON SCHEMA public<\/span><\/p>\n<p><span style=\"font-weight: 400;\">\u00a0\u00a0TO consulente_in_lettura;<\/span><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"font-weight: 400;\">una buona pratica, che per\u00f2 presuppone la presenza di informatici nell\u2019azienda, sta nel condividere un sotto insieme della base di dati anzich\u00e9 l\u2019intera base di dati, tramite una <\/span><a href=\"https:\/\/www.youtube.com\/@staticalmo\/search?query=view\"><span style=\"font-weight: 400;\">vista:<\/span><\/a><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"font-weight: 400;\">&#8212; 1) Creiamo una vista che contiene solo i dati specifici da mostrare al consulente<\/span><\/p>\n<p><span style=\"font-weight: 400;\">&#8212;<\/span> <span style=\"font-weight: 400;\">In questo esempio filtriamo gli ordini dell\u2019ultimo anno, ma tu puoi personalizzare<\/span><\/p>\n<p><span style=\"font-weight: 400;\">&#8212;<\/span> <span style=\"font-weight: 400;\">le colonne e le condizioni a piacimento.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">CREATE OR REPLACE VIEW vista_consulente_ordini AS<\/span><\/p>\n<p><span style=\"font-weight: 400;\">SELECT<\/span><\/p>\n<p><span style=\"font-weight: 400;\">\u00a0\u00a0id_ordine,<\/span><\/p>\n<p><span style=\"font-weight: 400;\">\u00a0\u00a0data_ordine,<\/span><\/p>\n<p><span style=\"font-weight: 400;\">\u00a0\u00a0cliente,<\/span><\/p>\n<p><span style=\"font-weight: 400;\">\u00a0\u00a0importo<\/span><\/p>\n<p><span style=\"font-weight: 400;\">FROM public.ordini<\/span><\/p>\n<p><span style=\"font-weight: 400;\">WHERE data_ordine &gt;= (CURRENT_DATE &#8211; INTERVAL &#8216;1 year&#8217;);<\/span><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"font-weight: 400;\">&#8212; 2) Creiamo (se non esiste gi\u00e0) l\u2019utente di sola lettura<\/span><\/p>\n<p><span style=\"font-weight: 400;\">CREATE USER consulente_in_lettura<\/span><\/p>\n<p><span style=\"font-weight: 400;\">\u00a0\u00a0WITH PASSWORD &#8216;nome_consulente_password_forte&#8217;;<\/span><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"font-weight: 400;\">&#8212; 3) Consentiamo al consulente di connettersi al database aziendale<\/span><\/p>\n<p><span style=\"font-weight: 400;\">GRANT CONNECT ON DATABASE database_aziendale<\/span><\/p>\n<p><span style=\"font-weight: 400;\">\u00a0\u00a0TO consulente_in_lettura;<\/span><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"font-weight: 400;\">&#8212; 4) Consentiamo al consulente di \u201cvedere\u201d il contenitore (schema) dove c\u2019\u00e8 la vista<\/span><\/p>\n<p><span style=\"font-weight: 400;\">GRANT USAGE ON SCHEMA public<\/span><\/p>\n<p><span style=\"font-weight: 400;\">\u00a0\u00a0TO consulente_in_lettura;<\/span><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"font-weight: 400;\">&#8212; 5) Concediamo al consulente il permesso di leggere solo la vista, NON le tabelle sottostanti<\/span><\/p>\n<p><span style=\"font-weight: 400;\">GRANT SELECT ON vista_consulente_ordini<\/span><\/p>\n<p><span style=\"font-weight: 400;\">\u00a0\u00a0TO consulente_in_lettura;<\/span><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"font-weight: 400;\">\u00a0<\/span><\/p>\n<p>&nbsp;<\/p>","protected":false},"excerpt":{"rendered":"<p>Nella vecchia maniera, quando si vuole dare i dati ad uno statistico per farli analizzare, gli si fornisce una copia. Questi di solito vengono da una base di dati, propria o impropria.\u00a0 &nbsp; In questa casistica della copia rientrano la maggior parte delle micro e piccole aziende. Quando i dati diventano troppi, per fortuna non &hellip;<\/p>\n<p class=\"read-more\"> <a class=\"\" href=\"https:\/\/staticalmo.com\/en\/accedere-a-base-di-dati-senza-problemi-di-sicurezza\/\"> <span class=\"screen-reader-text\">Accedere a base di dati senza problemi di sicurezza<\/span> Read More &raquo;<\/a><\/p>","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_crdt_document":"","_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"site-sidebar-layout":"default","site-content-layout":"default","ast-global-header-display":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","theme-transparent-header-meta":"default","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","_themeisle_gutenberg_block_has_review":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[1],"tags":[],"class_list":["post-2036","post","type-post","status-publish","format-standard","hentry","category-senza-categoria"],"aioseo_notices":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/staticalmo.com\/en\/wp-json\/wp\/v2\/posts\/2036","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/staticalmo.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/staticalmo.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/staticalmo.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/staticalmo.com\/en\/wp-json\/wp\/v2\/comments?post=2036"}],"version-history":[{"count":1,"href":"https:\/\/staticalmo.com\/en\/wp-json\/wp\/v2\/posts\/2036\/revisions"}],"predecessor-version":[{"id":2037,"href":"https:\/\/staticalmo.com\/en\/wp-json\/wp\/v2\/posts\/2036\/revisions\/2037"}],"wp:attachment":[{"href":"https:\/\/staticalmo.com\/en\/wp-json\/wp\/v2\/media?parent=2036"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/staticalmo.com\/en\/wp-json\/wp\/v2\/categories?post=2036"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/staticalmo.com\/en\/wp-json\/wp\/v2\/tags?post=2036"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}