Identità gestite per Servizio Azure SignalR

In Servizio Azure SignalR è possibile usare un'identità gestita da Microsoft Entra ID per:

  • Ottenere i token di accesso.
  • Accedere ai segreti in Azure Key Vault.

Il servizio supporta una sola identità gestita. È possibile creare un'identità assegnata dal sistema o assegnata dall'utente. Un'identità assegnata dal sistema è dedicata all'istanza di Servizio Azure SignalR e viene eliminata quando si elimina l'istanza. Un'identità assegnata dall'utente viene gestita indipendentemente dalla risorsa Servizio Azure SignalR.

Questo articolo illustra come creare un'identità gestita per Servizio Azure SignalR e come usarla in scenari serverless.

Prerequisiti

Per usare un'identità gestita, è necessario disporre degli elementi seguenti:

  • Una sottoscrizione di Azure. Se non si ha una sottoscrizione di Azure, creare un account gratuito prima di iniziare.
  • Risorsa Servizio Azure SignalR.
  • Risorse upstream a cui si vuole accedere, ad esempio una risorsa di Azure Key Vault.
  • Un'app Funzioni di Azure (app per le funzioni).

Aggiungere un'identità gestita a Servizio Azure SignalR

È possibile aggiungere un'identità gestita a Servizio Azure SignalR nel portale di Azure o nell'interfaccia della riga di comando di Azure. Questo articolo illustra come aggiungere un'identità gestita a Servizio Azure SignalR nel portale di Azure.

Aggiungere un'identità assegnata dal sistema

Per aggiungere un'identità gestita assegnata dal sistema all'istanza di Servizio Azure SignalR:

  1. Nella portale di Azure passare all'istanza di Servizio Azure SignalR.

  2. Selezionare Identità.

  3. Nella scheda Assegnata dal sistema impostare Stato su .

    Screenshot that shows selections for adding a system-assigned identity in the portal.

  4. Seleziona Salva.

  5. Fare clic su per confermare la modifica.

Aggiungere un'identità assegnata dall'utente

Per aggiungere un'identità assegnata dall'utente all'istanza di Servizio Azure SignalR, è necessario creare l'identità e quindi aggiungerla al servizio.

  1. Seguire queste istruzioni per creare una risorsa identità gestita assegnata dall'utente.

  2. Nella portale di Azure passare all'istanza di Servizio Azure SignalR.

  3. Selezionare Identità.

  4. Nella scheda Assegnata dall'utente selezionare Aggiungi.

  5. Nel menu a discesa Identità gestite assegnate dall'utente selezionare l'identità.

    Screenshot that shows selections for adding a user-assigned identity in the portal.

  6. Selezionare Aggiungi.

Usare un'identità gestita in scenari serverless

Servizio Azure SignalR è un servizio completamente gestito. Usa un'identità gestita per ottenere un token di accesso. Negli scenari serverless, il servizio aggiunge il token di accesso nell'intestazione Authorization in una richiesta upstream.

Abilitare l'autenticazione dell'identità gestita nelle impostazioni upstream

Dopo aver aggiunto un'identità assegnata dal sistema o un'identità assegnata dall'utente all'istanza di Servizio Azure SignalR, è possibile abilitare l'autenticazione dell'identità gestita nelle impostazioni dell'endpoint upstream:

  1. Nella portale di Azure passare all'istanza di Servizio Azure SignalR.

  2. Selezionare Impostazioni dal menu.

  3. Selezionare la modalità servizio serverless .

  4. Nella casella di testo Add an upstream URL pattern (Aggiungi modello url upstream) immettere il modello di URL dell'endpoint upstream. Vedere Impostazioni del modello di URL.

  5. Selezionare Aggiungi un'impostazione upstream e quindi selezionare qualsiasi asterisco.

    Screenshot that shows Azure SignalR Service settings for adding an upstream URL pattern.

  6. In Upstream Impostazioni configurare le impostazioni dell'endpoint upstream.

    Screenshot of upstream settings for Azure SignalR Service.

  7. Nelle impostazioni di autenticazione dell'identità gestita, per Destinatari nel token rilasciato, è possibile specificare la risorsa di destinazione. La risorsa diventerà un'attestazione aud nel token di accesso ottenuto, che può essere usata come parte della convalida negli endpoint upstream. La risorsa può essere in uno dei formati seguenti:

    • ID applicazione (client) dell'entità servizio.
    • URI ID applicazione dell'entità servizio.

    Importante

    L'uso di risorse vuote acquisisce manualmente le destinazioni di un token a Microsoft Graph. Come oggi, Microsoft Graph abilita la crittografia dei token in modo che non sia disponibile per l'applicazione per autenticare il token diverso da Microsoft Graph. In pratica, è consigliabile creare sempre un'entità servizio per rappresentare la destinazione upstream. Impostare l'ID applicazione o l'URI ID applicazione dell'entità servizio creata.

Autenticazione in un'app per le funzioni

È possibile impostare facilmente la convalida dell'accesso per un'app per le funzioni senza apportare modifiche al codice usando il portale di Azure:

  1. Nella portale di Azure passare all'app per le funzioni.

  2. Seleziona Autenticazione dal menu.

  3. Selezionare Aggiungi provider di identità.

  4. Nell'elenco a discesa Provider di identità della scheda Informazioni di base selezionare Microsoft.

  5. In Azione da eseguire quando la richiesta non è autenticata, selezionare Accedi con Microsoft Entra ID.

  6. L'opzione per creare una nuova registrazione è selezionata per impostazione predefinita. È possibile modificare il nome della registrazione. Per altre informazioni sull'abilitazione di un provider Microsoft Entra, vedere Configurare l'servizio app o l'app Funzioni di Azure per l'uso di un accesso a Microsoft Entra ID.

    Screenshot that shows basic information for adding an identity provider.

  7. Passare a Servizio Azure SignalR e seguire la procedura per aggiungere un'identità assegnata dal sistema o un'identità assegnata dall'utente.

  8. In Servizio Azure SignalR passare a Impostazioni upstream e quindi selezionare Usa identità gestita e Seleziona da applicazioni esistenti. Selezionare l'applicazione creata in precedenza.

Dopo aver configurato queste impostazioni, l'app per le funzioni rifiuterà le richieste senza un token di accesso nell'intestazione.

Convalidare i token di accesso

Se non si usa WebApp o Funzione di Azure, è anche possibile convalidare il token.

Il token nell'intestazione Authorization è un token di accesso di Microsoft Identity Platform.

Per convalidare i token di accesso, l'app deve anche convalidare il gruppo di destinatari e i token di firma. Questi token devono essere convalidati in base ai valori nel documento di individuazione OpenID. Per un esempio, vedere la versione indipendente dal tenant del documento.

Il middleware Microsoft Entra include funzionalità predefinite per la convalida dei token di accesso. È possibile esplorare gli esempi di codice di Microsoft Identity Platform per trovarne uno nel linguaggio preferito.

Sono disponibili librerie ed esempi di codice che illustrano come gestire la convalida dei token. Per la convalida del token JSON Web (JWT) sono disponibili diverse librerie di partner open source. È disponibile almeno un'opzione per quasi ogni piattaforma e linguaggio. Per altre informazioni sulle librerie di autenticazione e sugli esempi di codice di Microsoft Entra, vedere Librerie di autenticazione di Microsoft Identity Platform.

Usare un'identità gestita per un riferimento a Key Vault

Servizio Azure SignalR possibile accedere a Key Vault per ottenere segreti usando l'identità gestita.

  1. Aggiungere un'identità assegnata dal sistema o un'identità assegnata dall'utente all'istanza di Servizio Azure SignalR.
  2. Concedere l'autorizzazione di lettura privata per l'identità gestita nei criteri di accesso in Key Vault. Vedere Assegnare un criterio di accesso a Key Vault usando il portale di Azure.

Attualmente, è possibile usare questa funzionalità per fare riferimento a un segreto nel modello di URL upstream.

Passaggi successivi