Proteggere Funzioni di Azure con Hub eventi di Azure

Quando si configura l'accesso alle risorse in Azure, applicare un controllo granulare sulle autorizzazioni alle risorse. Basare l'accesso a queste risorse 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

È possibile autorizzare l'accesso alle risorse Hub eventi di Azure usando i costrutti di sicurezza seguenti:

  • Microsoft Entra ID: Microsoft Entra ID fornisce il controllo degli accessi basato sui ruoli di Azure per un controllo granulare sull'accesso di un client alle risorse degli Event Hubs. 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: È possibile usare una firma di accesso condiviso per 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 sull'uso di una firma di accesso condiviso

Tenere presenti le considerazioni seguenti quando si usa una firma di accesso condiviso con Funzioni di Azure e Hub eventi:

  • Evitare l’autorizzazione Gestisci: Oltre a consentire la gestione delle entità in uno spazio dei nomi di Event Hubs, l’autorizzazione Gestisci concede anche le autorizzazioni di Invio e di Ascolto. Idealmente, a un'app per le funzioni deve essere concessa solo una combinazione dei diritti Di invio e ascolto, a seconda delle 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'altra eccezione a questa regola predefinita è che viene creata a livello di spazio dei nomi e concede le autorizzazioni a tutti gli hub di 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 a livello di hub eventi. Valutare la possibilità di creare criteri di accesso granulari personalizzati per ogni client per limitare l'intervallo e le autorizzazioni dei client.

Identità gestita

Un'identità può essere assegnata a una risorsa gestita in Azure, ad esempio un'app per le funzioni o un'app Web. Dopo aver assegnato un'identità, può interagire con altre risorse che utilizzano Microsoft Entra ID per l'autorizzazione, in modo analogo a un service principal.

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 su identità forniscono il supporto per le estensioni di associazione di trigger e output.

Rete

Per impostazione predefinita, è possibile accedere da Internet ai namespace di Event Hubs, purché la richiesta includa credenziali di autenticazione e autorizzazione valide. Per limitare l'accesso alla rete agli spazi dei nomi di Event Hubs, considera queste tre opzioni:

In tutti i casi, 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, è possibile accedere allo spazio dei nomi tramite la rete Internet pubblica (tramite la chiave di accesso).

È possibile configurare Funzioni di Azure per utilizzare eventi provenienti da hub eventi configurati con endpoint di servizio o endpoint privati, oppure per pubblicare eventi negli stessi. L'app per le funzioni richiede l'integrazione della rete virtuale a livello di area per connettersi a un hub eventi tramite 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. Questa configurazione è particolarmente importante per gli scenari in cui si vuole proteggere l'app per le funzioni assicurandosi che tutto il traffico, incluso il traffico verso i servizi di Azure, attraversi 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 utilizzare gli eventi in un ambiente di rete virtuale, è necessario ospitare l'app per le funzioni in un piano Premium, un piano dedicato (App Service) o in un ambiente del servizio app.

Inoltre, l'esecuzione su un piano Funzioni di Azure Premium e l'elaborazione di eventi provenienti da un Event Hub con restrizioni della rete virtuale richiedono il supporto del trigger della rete virtuale, detto anche monitoraggio della scalabilità in fase di esecuzione. È possibile configurare il monitoraggio della scalabilità di runtime usando il portale di Azure, il 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

Microsoft gestisce questo articolo. I seguenti collaboratori hanno scritto questo articolo.

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: