SQL Database e SQL Data Warehouse sono i servizi della piattaforma Microsoft Azure per permetterci di avere un database relazionale completamente gestito sul cloud. Poiché questo servizio proviene da SQL Server, per poterci accedere abbiamo principalmente due vie: autenticazione SQL o l'autenticazione integrata. Poiché spesso queste risorse vengono sfruttate da altri applicativi PaaS, nella maggior parte delle volte utilizziamo la prima tecnica per accedere direttamente tramite credenziali nella stringa di connessione.
Su Azure però disponiamo di un servizio dedicato alla gestione delle utenze: Active Directory (AAD). Oltre ad offrire il supporto a numerosi protocolli, esso è in grado di gestire politiche più complesse: maggiore granularità dei permessi, autenticazione multi fattore, centralità delle credenziali, politica delle password complesse.
Perché non sfruttare quindi AAD anche per accedere a SQL Database? Per farlo bastano pochi passi. Prima di tutto rechiamoci sul server SQL di nostro interesse, sempre dal portale, e accediamo alla sezione Active Directory admin.
In questa schermata premiamo Set admin e abilitiamo le utenze o i gruppi da impostare come amministratori per l'intero server, una sorta di SA. Le utenze che possiamo inserire, però, devono essere del dominio stesso e non posso essere utenti guest.
Impostati gli admin l'istanza SQL Server è in grado di ricevere un'autenticazione basata su AAD. A partire da SQL Management Studio 2016 o relativi SQL Server Data Tools possiamo sfruttare questa funzionalità scegliendo tra AAD Password, AAD Integrated e Universal with MFA.
Nella figura possiamo vedere l'utilizzo della terza possibilità. Premendo connect otteniamo la classica popup che ci invita ad immettere la password o a seguire il processo MFA.
Una volta entrati con un utente amministratore, possiamo poi aprire una query direttamente sul database di nostro interesse e creare altri utenti dandogli direttamente i permessi.
CREATE USER [user@cloudvisioncompany.onmicrosoft.com] FROM EXTERNAL PROVIDER; exec sp_addrolemember db_datareader, [user@cloudvisioncompany.onmicrosoft.com]
Nell'esempio viene creato l'utente e applicato il permesso di lettura. Diversamente dalle normali utenze, non è necessario creare la relativa login a livello di istanza.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Autenticarsi in modo sicuro su Azure tramite GitHub Actions
Gestire domini wildcard in Azure Container Apps
Utilizzare il trigger SQL con le Azure Function
Eseguire attività pianificate con Azure Container Jobs
Utilizzare politiche di resiliency con Azure Container App
Eseguire attività con Azure Container Jobs
Ottimizzare le performance delle collection con le classi FrozenSet e FrozenDictionary
Utilizzare database e servizi con gli add-on di Container App
Utilizzare la session affinity con Azure Container Apps
Creazione di plugin per Tailwind CSS: espandere le Funzionalità del Framework
Utilizzare Model as a Service su Microsoft Azure
I più letti di oggi
- C# 4
- Spaziatura tra i caratteri in Silverlight 5
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!
- Segui in tempo reale il TechEd 2004
- da oggi è possibile fare login velocemente con LinkedIn e Google. a questi si aggiunge il supporto già attivo per Facebook, Twitter, Microsoft Account, Windows Hello e OpenID, per darvi sempre più possibilità di accedere semplicemente alla nostra community! #aspitalia
- Migrare una service connection a workload identity federation in Azure DevOps
- Evitare postback multipli in un UpdatePanel