Autorizzazione dell'accesso alle risorse di Hub eventi tramite firme di accesso condiviso

Una firma di accesso condiviso consente di concedere l'accesso limitato alle risorse nello spazio dei nomi di Hub eventi. Sas protegge l'accesso alle risorse di Hub eventi in base alle regole di autorizzazione. Queste regole vengono configurate in uno spazio dei nomi o in un hub eventi. Questo articolo offre una panoramica del modello di firma di accesso condiviso ed esamina le procedure consigliate per la firma di accesso condiviso.

Nota

Questo articolo illustra l'autorizzazione dell'accesso alle risorse di Hub eventi usando la firma di accesso condiviso. Per informazioni sull'autenticazione dell'accesso alle risorse di Hub eventi tramite firma di accesso condiviso, vedere Eseguire l'autenticazione con la firma di accesso condiviso.

Che cosa sono le firme di accesso condiviso?

Una firma di accesso condiviso fornisce l'accesso delegato alle risorse di Hub eventi in base alle regole di autorizzazione. Una regola di autorizzazione ha un nome, è associata a diritti specifici e include una coppia di chiavi di crittografia. Usare il nome e la chiave della regola tramite i client di Hub eventi o nel proprio codice per generare token di firma di accesso condiviso. Un client può quindi passare il token a Hub eventi per dimostrare l'autorizzazione per l'operazione richiesta.

La firma di accesso condiviso è un meccanismo di autorizzazione basato su attestazioni che usa token semplici. Quando si usa la firma di accesso condiviso, le chiavi non vengono mai passate in rete. Le chiavi vengono usate per firmare crittograficamente informazioni che possono essere verificate in un secondo momento dal servizio. L'uso delle firme di accesso condiviso è paragonabile a quello della combinazione di nome utente e password in cui il client entra immediatamente in possesso di un nome di regola di autorizzazione e una chiave corrispondente. La firma di accesso condiviso può essere usata in modo simile a un modello di sicurezza federato, in cui il client riceve un token di accesso limitato al tempo e firmato da un servizio token di sicurezza senza mai entrare in possesso della chiave di firma.

Nota

Hub eventi di Azure supporta anche l'autorizzazione alle risorse di Hub eventi tramite Microsoft Entra ID. L'autorizzazione di utenti o applicazioni tramite il token OAuth 2.0 restituito dall'ID Microsoft Entra offre sicurezza e facilità di utilizzo superiori rispetto alle firme di accesso condiviso. Con Microsoft Entra ID non è necessario archiviare i token nel codice e rischiare potenziali vulnerabilità di sicurezza.

Microsoft consiglia di usare Microsoft Entra ID con le applicazioni Hub eventi di Azure quando possibile. Per altre informazioni, vedere Autorizzare l'accesso alla risorsa Hub eventi di Azure usando l'ID Microsoft Entra.

Importante

I token di firma di accesso condiviso (firme di accesso condiviso) sono fondamentali per proteggere le risorse. Pur fornendo granularità, la firma di accesso condiviso concede ai client l'accesso alle risorse di Hub eventi. Non devono essere condivisi pubblicamente. Quando si condivide, se necessario per motivi di risoluzione dei problemi, prendere in considerazione l'uso di una versione ridotta di tutti i file di log o l'eliminazione dei token di firma di accesso condiviso (se presente) dai file di log e assicurarsi che gli screenshot non contengano le informazioni sulla firma di accesso condiviso.

Criteri di autorizzazione di accesso condiviso

Ogni spazio dei nomi di Hub eventi e ogni entità di Hub eventi (un hub eventi o un argomento Kafka) ha un criterio di autorizzazione di accesso condiviso costituito da regole. I criteri a livello di spazio dei nomi si applicano a tutte le entità in esso incluse, indipendentemente dalle specifiche configurazioni dei criteri. Per ogni regola del criterio di autorizzazione si stabiliscono tre informazioni: nome, ambito e diritti. Il nome è un nome univoco in tale ambito. L'ambito è l'URI della risorsa in questione. Per uno spazio dei nomi di Hub eventi, l'ambito è il nome di dominio completo (FQDN), ad esempio https://<yournamespace>.servicebus.windows.net/.

I diritti forniti dalla regola dei criteri possono essere una combinazione di:

  • Invia : dà il diritto di inviare messaggi all'entità
  • Listen : dà il diritto di ascoltare o ricevere messaggi dall'entità
  • Gestisci : consente di gestire la topologia dello spazio dei nomi, inclusa la creazione e l'eliminazione delle entità. Il diritto Di gestione include i diritti di invio e ascolto .

Uno spazio dei nomi o un criterio di entità può contenere fino a 12 regole di autorizzazione di accesso condiviso, fornendo spazio per i tre set di regole, ognuno che copre i diritti di base e la combinazione di Invio e Ascolto. Questo limite sottolinea che l'archivio criteri di firma di accesso condiviso non deve essere un archivio account utente o di servizio. Se l'applicazione deve concedere l'accesso alle risorse di Hub eventi in base alle identità dell'utente o del servizio, deve implementare un servizio token di sicurezza che rilascia token di firma di accesso condiviso dopo un'autenticazione e un controllo di accesso.

A una regola di autorizzazione viene assegnata una chiave primaria e una chiave secondaria. Queste chiavi sono chiavi crittograficamente complesse. Non perderli o perderli. Saranno sempre disponibili nella portale di Azure. È possibile utilizzare una delle chiavi generate ed è possibile rigenerarle in qualsiasi momento. Se si rigenera o si modifica una chiave nel criterio, tutti i token emessi in precedenza in base a tale chiave diventano immediatamente non validi. Le connessioni in corso create in base a tali token continueranno invece a funzionare fino alla scadenza del token.

Quando si crea uno spazio dei nomi di Hub eventi, viene creata automaticamente una regola dei criteri denominata RootManageSharedAccessKey per lo spazio dei nomi. Questo criterio dispone di autorizzazioni di gestione per l'intero spazio dei nomi. È consigliabile considerare questa regola come un account radice amministrativo e non usarla nell'applicazione. È possibile creare regole di criteri aggiuntive nella scheda Configura per lo spazio dei nomi nel portale, tramite PowerShell o l'interfaccia della riga di comando di Azure.

Procedure consigliate per l'uso della firma di accesso condiviso

Quando si utilizzano le firme di accesso condiviso nell'applicazione, è necessario essere consapevoli di due rischi potenziali:

  • Se viene persa una firma di accesso condiviso, può essere usata da chiunque lo ottenga, che potrebbe compromettere le risorse di Hub eventi.
  • Se una firma di accesso condiviso fornita a un'applicazione client scade e l'applicazione non è in grado di recuperare una nuova firma di accesso condiviso dal servizio, la funzionalità dell'applicazione potrebbe essere ostacolata.

Per mitigare questi rischi, è consigliabile attenersi ai consigli seguenti relativi all'utilizzo di firme di accesso condiviso:

  • Chiedere ai client di rinnovare automaticamente la firma di accesso condiviso, se necessario: i client devono rinnovare la firma di accesso condiviso prima della scadenza, per consentire il tempo necessario per i nuovi tentativi se il servizio che fornisce la firma di accesso condiviso non è disponibile. Se la firma di accesso condiviso deve essere usata per un numero ridotto di operazioni immediate e di breve durata che si prevede vengano completate entro il periodo di scadenza, potrebbe non essere necessario perché la firma di accesso condiviso non dovrebbe essere rinnovata. Se tuttavia si dispone di client che effettuano normalmente richieste tramite la firma di accesso condiviso, è necessario considerare la possibilità che la firma scada. La considerazione chiave consiste nell'bilanciare la necessità che la firma di accesso condiviso sia di breve durata (come indicato in precedenza) con la necessità di garantire che il client richieda il rinnovo in anticipo (per evitare interruzioni a causa della scadenza della firma di accesso condiviso prima di un rinnovo riuscito).
  • Prestare attenzione all'ora di inizio della firma di accesso condiviso: se si imposta ora l'ora di inizio della firma di accesso condiviso, a causa dell'asimmetria dell'orologio (differenze nell'ora corrente in base a computer diversi), gli errori possono essere osservati in modo intermittente per i primi minuti. In generale, impostare l'ora di inizio ad almeno 15 minuti prima. In alternativa, non impostarlo affatto, che lo renderà valido immediatamente in tutti i casi. Lo stesso vale in genere anche per l'ora di scadenza. Tenere presente che è possibile osservare fino a 15 minuti di asimmetria dell'orologio in entrambe le direzioni su qualsiasi richiesta.
  • Essere specifici con la risorsa a cui accedere: una procedura consigliata per la sicurezza consiste nel fornire all'utente i privilegi minimi necessari. Se un utente necessita solo dell'accesso in lettura a una singola entità, concedere solo tale tipo di accesso per tale entità e non l'accesso in lettura/scrittura/eliminazione per tutte le entità. Aiuta anche a ridurre il danno se una firma di accesso condiviso viene compromessa perché la firma di accesso condiviso ha meno potere nelle mani di un utente malintenzionato.
  • Non usare sempre la firma di accesso condiviso: a volte i rischi associati a una particolare operazione rispetto a Hub eventi superano i vantaggi della firma di accesso condiviso. Per tali operazioni, creare un servizio di livello intermedio che scrive in Hub eventi dopo la convalida, l'autenticazione e il controllo delle regole business.
  • Usare sempre ITTP: usare sempre Https per creare o distribuire una firma di accesso condiviso. Se una firma di accesso condiviso passata tramite HTTP viene intercettata, un utente malintenzionato che esegue un attacco man-in-the-middle è in grado di leggere la firma e quindi di usarla come se fosse l'utente cui è destinata, e questo potrebbe comportare la compromissione di dati sensibili o il danneggiamento di dati da parte dell'utente malintenzionato.

Conclusione

Le firme di accesso alla condivisione sono utili per fornire autorizzazioni limitate alle risorse di Hub eventi ai client. Fanno parte del modello di sicurezza per qualsiasi applicazione che usa Hub eventi di Azure. Se si seguono le procedure consigliate elencate in questo articolo, è possibile usare la firma di accesso condiviso per offrire maggiore flessibilità di accesso alle risorse, senza compromettere la sicurezza dell'applicazione.

Passaggi successivi

Vedere gli articoli correlati seguenti: