Condividi tramite


Autenticazione e autorizzazione di Inoltro di Azure

Esistono due modi per autenticare e autorizzare l'accesso alle risorse di Inoltro di Azure: Microsoft Entra ID e firme di accesso condiviso.There are two ways to authenticate and authorize access to Azure Relay resources: Microsoft Entra ID and Shared Access Signatures (SAS). Questo articolo fornisce informazioni dettagliate sull'uso di questi due tipi di meccanismi di sicurezza.

Microsoft Entra ID

L'integrazione di Microsoft Entra per le risorse di Inoltro di Azure fornisce il controllo degli accessi in base al ruolo di Azure per un controllo granulare sull'accesso di un client alle 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. L'entità di sicurezza viene autenticata da Microsoft Entra ID per restituire un token OAuth 2.0. Il token può essere usato per autorizzare una richiesta ad accedere a una risorsa di inoltro di Azure.

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

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 di inoltro di Azure quando possibile.

Ruoli predefiniti

Per Inoltro di Azure, la gestione degli spazi dei nomi e di tutte le risorse correlate tramite il portale di Azure e l'API di gestione delle risorse di Azure è già protetta usando il modello di controllo degli accessi in base al ruolo di Azure. Azure fornisce i ruoli predefiniti di Azure seguenti per autorizzare l'accesso a uno spazio dei nomi di inoltro:

Ruolo Descrizione
Proprietario dell'inoltro di Azure Usare questo ruolo per concedere l'accesso completo alle risorse di Inoltro di Azure.
Listener di inoltro di Azure Usare questo ruolo per concedere l'accesso in lettura in ascolto e entità alle risorse di Inoltro di Azure.
Mittente dell'inoltro di Azure Usare questo ruolo per concedere l'accesso in lettura di invio ed entità alle risorse di Inoltro di Azure.

Firma di accesso condiviso

Le applicazioni possono eseguire l'autenticazione a Inoltro di Azure usando l'autenticazione con firma di accesso condiviso (SAS). L'autenticazione con firma di accesso condiviso consente alle applicazioni di eseguire l'autenticazione al servizio di inoltro di Azure con una chiave di accesso configurata nello spazio dei nomi dell'inoltro. È quindi possibile usare questa chiave per generare un token di firma di accesso condiviso che i client possono usare per eseguire l'autenticazione al servizio di inoltro.

L'autenticazione SAS garantisce l'accesso dell'utente alle risorse del servizio Inoltro di Azure con diritti specifici. Nel bus di servizio l'autenticazione SAS implica la configurazione di una chiave di crittografia con i relativi diritti in una risorsa. 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 di Inoltro. A differenza della messaggistica del bus di servizio, le connessioni ibride di inoltro supportano mittenti non autorizzati o anonimi. È possibile abilitare l'accesso anonimo per l'entità quando viene creato, come illustrato nello screenshot seguente dal portale:

A dialog box titled

Per usare la firma di accesso condiviso, è possibile configurare un oggetto SharedAccessAuthorizationRule in uno spazio dei nomi di inoltro costituito dalle proprietà seguenti:

  • KeyName che identifica la regola.
  • PrimaryKey che è una chiave di crittografia usata per firmare/convalidare i token di firma di accesso condiviso.
  • SecondaryKey che è una chiave di crittografia usata per firmare/convalidare i token di firma di accesso condiviso.
  • Rights che 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 connessioni di inoltro in uno spazio dei nomi per i client con token firmati che usano la chiave corrispondente. In uno spazio dei nomi di Inoltro è possibile configurare fino a 12 regole di autorizzazione di questo tipo. Per impostazione predefinita, un oggetto SharedAccessAuthorizationRule con tutti i diritti viene configurato per ogni spazio dei nomi al primo provisioning.

Per accedere a un'entità, è necessario un token di firma di accesso condiviso generato usando un oggetto SharedAccessAuthorizationRule. 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 Inoltro di Azure è incluso in Azure .NET SDK 2.0 e versioni successive. Nella firma di accesso condiviso è incluso il supporto per un oggetto SharedAccessAuthorizationRule. Tutte le API che accettano una stringa di connessione come parametro includono il supporto per le stringhe di connessione della firma di accesso condiviso.

Esempi

Passaggi successivi