Autenticazione e autorizzazione del bus di servizio

Esistono due modi per autenticare e autorizzare l'accesso alle risorse del bus di servizio di Azure:

  • Microsoft Entra ID
  • Firme di accesso condiviso.

Questo articolo fornisce informazioni dettagliate sull'uso di questi due tipi di meccanismi di sicurezza.

Microsoft Entra ID

L'integrazione di Microsoft Entra con bus di servizio fornisce il controllo degli accessi in base al ruolo per bus di servizio risorse. È possibile usare il controllo degli accessi in base al ruolo di Azure per concedere autorizzazioni per un'entità servizio, ad esempio un utente, un gruppo o un'entità servizio dell'applicazione. Microsoft Entra autentica l'entità di sicurezza e restituisce un token OAuth 2.0. Questo token può essere usato per autorizzare una richiesta ad accedere a una risorsa bus di servizio (coda, argomento e così via).

Per altre informazioni sull'autenticazione con Microsoft Entra ID, vedere gli articoli seguenti:

Nota

bus di servizio'API REST supporta l'autenticazione OAuth con Microsoft Entra ID.

Importante

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. È consigliabile usare Microsoft Entra ID con le applicazioni bus di servizio di Azure quando possibile.

È possibile disabilitare l'autenticazione della chiave di firma di accesso condiviso o locale per uno spazio dei nomi bus di servizio e consentire solo l'autenticazione di Microsoft Entra. Per istruzioni dettagliate, vedere Disabilitare l'autenticazione locale.

Firma di accesso condiviso

L'autenticazione della firma di accesso condiviso garantisce l'accesso dell'utente alle risorse del bus di servizio con diritti specifici. Nel bus di servizio, l'autenticazione della firma di accesso condiviso implica la configurazione di una chiave di crittografia con i relativi diritti in una risorsa del bus di servizio. I client possono quindi ottenere l'accesso a questa risorsa presentando un token di firma di accesso condiviso composto dall'URI della risorsa a cui si vuole accedere e da una scadenza firmata con la chiave configurata.

È possibile configurare le chiavi per la firma di accesso condiviso in uno spazio dei nomi del bus di servizio. La chiave si applica a tutte le entità di messaggistica nello spazio dei nomi. È anche possibile configurare le chiavi nelle code e negli argomenti del bus di servizio. Per usare la firma di accesso condiviso, è possibile configurare una regola di autorizzazione di accesso condiviso in uno spazio dei nomi, una coda o un argomento. Questa regola include gli elementi seguenti:

  • KeyName: identifica la regola.
  • PrimaryKey: è una chiave di crittografia usata per firmare/convalidare i token di firma di accesso condiviso.
  • SecondaryKey: è una chiave di crittografia usata per firmare/convalidare i token di firma di accesso condiviso.
  • Rights: rappresenta la raccolta di diritti Listen, Send o Manage concessi.

Le regole di autorizzazione configurate a livello di spazio dei nomi possono garantire l'accesso a tutte le entità in uno spazio dei nomi per i client con token firmati che usano la chiave corrispondente. In uno spazio dei nomi, una coda o un argomento del bus di servizio è possibile configurare fino a 12 regole di autorizzazione. Per impostazione predefinita, una regola di autorizzazione di accesso condiviso con tutti i diritti viene configurata per ogni spazio dei nomi al primo provisioning.

Per accedere a un'entità, il client richiede un token di firma di accesso condiviso generato usando una regola di autorizzazione di accesso condiviso specifica. Il token di firma di accesso condiviso viene generato usando l'algoritmo HMAC-SHA256 di una stringa di risorsa composta dall'URI della risorsa a cui si vuole accedere e da una scadenza, seguiti da una chiave di crittografia associata alla regola di autorizzazione.

Il supporto per l'autenticazione della firma di accesso condiviso per il bus di servizio è incluso in Azure .NET SDK 2.0 e versioni successive. La firma di accesso condiviso include il supporto per una regola di autorizzazione di accesso condiviso. Tutte le API che accettano una stringa di connessione come parametro includono il supporto per le stringhe di connessione della firma di accesso condiviso.

Passaggi successivi

Per altre informazioni sull'autenticazione con Microsoft Entra ID, vedere gli articoli seguenti:

Per altre informazioni sull'autenticazione con firma di accesso condiviso, vedere gli articoli seguenti: