Condividi tramite


Proteggere Funzioni di Azure con Hub eventi

Quando si configura l'accesso alle risorse in Azure, è necessario applicare un controllo granulare sulle autorizzazioni alle risorse. L'accesso a queste risorse deve essere basato sulla necessità di conoscere e privilegi minimi principi di sicurezza per assicurarsi che i client possano eseguire solo il set limitato di azioni concesse.

Autorizzazione dell'accesso a Hub eventi

L'autorizzazione dell'accesso alle risorse Hub eventi di Azure può essere eseguita usando i costrutti di sicurezza seguenti:

  • Microsoft Entra ID: Microsoft Entra ID fornisce il controllo degli accessi in base al ruolo per un controllo granulare sull'accesso di un client alle risorse di Hub eventi. In base ai ruoli e alle autorizzazioni concesse, Microsoft Entra ID autorizza le richieste usando un token di accesso OAuth 2.0.

  • Firma di accesso condiviso: una firma di accesso condiviso offre la possibilità di proteggere le risorse di Hub eventi in base alle regole di autorizzazione. È possibile definire i criteri di autorizzazione selezionando una o più regole dei criteri, ad esempio la possibilità di inviare messaggi, ascoltare i messaggi e gestire le entità nello spazio dei nomi.

Considerazioni sulla firma di accesso condiviso

Quando si usa una firma di accesso condiviso con Funzioni di Azure e Hub eventi, è necessario esaminare le considerazioni seguenti:

  • Evitare il diritto di gestione: oltre a poter gestire le entità in uno spazio dei nomi di Hub eventi, il diritto Gestisci include sia i diritti di invio che di ascolto. Idealmente, a un'app per le funzioni deve essere concessa solo una combinazione dei diritti Di invio e ascolto, in base alle azioni eseguite.

  • Non usare la regola di gestione predefinita: evitare di usare la regola dei criteri predefinita denominata RootManageSharedAccessKey , a meno che non sia necessaria per l'app per le funzioni, che dovrebbe essere uno scenario non comune. Un altro avviso a questa regola predefinita è che viene creato a livello di spazio dei nomi e concede le autorizzazioni a tutti gli hub eventi sottostanti.

  • Esaminare gli ambiti dei criteri di accesso condiviso: i criteri di accesso condiviso possono essere creati a livello di spazio dei nomi e per hub eventi. Valutare la possibilità di creare criteri di accesso granulari personalizzati per ogni client per limitare l'intervallo e le autorizzazioni.

Identità gestita

Un'identità di Active Directory può essere assegnata a una risorsa gestita in Azure, ad esempio un'app per le funzioni o un'app Web. Una volta assegnata un'identità, ha le funzionalità per lavorare con altre risorse che usano l'ID Microsoft Entra per l'autorizzazione, in modo analogo a un'entità servizio.

Alle app per le funzioni è possibile assegnare un'identità gestita e sfruttare le connessioni basate sull'identità per un subset di servizi, inclusi Hub eventi. Le connessioni basate sull'identità forniscono supporto per le estensioni di associazione di trigger e output e devono usare l'estensione di Hub eventi 5.x e versioni successive per il supporto.

Rete

Per impostazione predefinita, gli spazi dei nomi di Hub eventi sono accessibili da Internet, purché la richiesta venga fornita con autenticazione e autorizzazione valide. Sono disponibili tre opzioni per limitare l'accesso di rete agli spazi dei nomi di Hub eventi:

In tutti i casi, è importante notare che viene specificata almeno una regola del firewall IP o una regola di rete virtuale per lo spazio dei nomi. In caso contrario, se non viene specificato alcun indirizzo IP o regola di rete virtuale, lo spazio dei nomi è accessibile tramite la rete Internet pubblica (usando la chiave di accesso).

Funzioni di Azure può essere configurato per l'utilizzo di eventi da o la pubblicazione di eventi in hub eventi, configurati con endpoint di servizio o endpoint privati. L'integrazione della rete virtuale a livello di area è necessaria per consentire all'app per le funzioni di connettersi a un hub eventi usando un endpoint di servizio o un endpoint privato.

Integrando Funzioni con una rete virtuale e abilitando vnetRouteAllEnabled, tutto il traffico in uscita dall'app per le funzioni viene forzato attraverso la rete virtuale. Ciò è particolarmente importante per gli scenari in cui si vuole proteggere l'app per le funzioni assicurando tutto il traffico, incluso il traffico verso i servizi di Azure, passa attraverso la rete virtuale per l'ispezione e il controllo. Se si vuole bloccare completamente l'app per le funzioni, è anche necessario limitare l'account di archiviazione.

Per attivare (utilizzare) eventi in un ambiente di rete virtuale, l'app per le funzioni deve essere ospitata in un piano Premium, un piano dedicato (servizio app) o un ambiente del servizio app (AMBIENTE del servizio app).

Inoltre, l'esecuzione in un piano Funzioni di Azure Premium e l'utilizzo di eventi da un hub eventi con restrizioni di rete virtuale richiede il supporto del trigger di rete virtuale, detto anche monitoraggio della scalabilità di runtime. Il monitoraggio della scalabilità di runtime può essere configurato tramite la portale di Azure, l'interfaccia della riga di comando di Azure o altre soluzioni di distribuzione. Il monitoraggio della scalabilità di runtime non è disponibile quando la funzione è in esecuzione in un piano dedicato (servizio app) o in un ambiente del servizio app.

Collaboratori

Questo articolo viene gestito da Microsoft. Originariamente è stato scritto dai seguenti contributori.

Autore principale:

Per visualizzare i profili LinkedIn non pubblici, accedere a LinkedIn.

Passaggi successivi

Prima di continuare, prendere in considerazione la revisione di questi articoli correlati: