Hanterade identiteter för Azure SignalR Service

I Azure SignalR Service kan du använda en hanterad identitet från Microsoft Entra-ID för att:

  • Hämta åtkomsttoken.
  • Få åtkomst till hemligheter i Azure Key Vault.

Tjänsten stöder endast en hanterad identitet. Du kan skapa antingen en systemtilldelad eller en användartilldelad identitet. En systemtilldelad identitet är dedikerad till din Azure SignalR Service-instans och tas bort när du tar bort instansen. En användartilldelad identitet hanteras oberoende av din Azure SignalR Service-resurs.

Den här artikeln visar hur du skapar en hanterad identitet för Azure SignalR Service och hur du använder den i serverlösa scenarier.

Förutsättningar

Om du vill använda en hanterad identitet måste du ha följande objekt:

  • En Azure-prenumeration. Om du inte har någon Azure-prenumeration kan du skapa ett kostnadsfritt konto innan du börjar.
  • En Azure SignalR Service-resurs.
  • Överordnade resurser som du vill komma åt, till exempel en Azure Key Vault-resurs.
  • En Azure Functions-app (funktionsapp).

Lägga till en hanterad identitet i Azure SignalR Service

Du kan lägga till en hanterad identitet i Azure SignalR Service i Azure-portalen eller Azure CLI. Den här artikeln visar hur du lägger till en hanterad identitet i Azure SignalR Service i Azure-portalen.

Lägga till en systemtilldelad identitet

Så här lägger du till en systemtilldelad hanterad identitet i din Azure SignalR Service-instans:

  1. I Azure-portalen bläddrar du till din Azure SignalR Service-instans.

  2. Välj Identitet.

  3. På fliken Systemtilldelat växlar du Status till .

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

  4. Välj Spara.

  5. Välj Ja för att bekräfta ändringen.

Lägga till en användartilldelad identitet

Om du vill lägga till en användartilldelad identitet i din Azure SignalR Service-instans måste du skapa identiteten och sedan lägga till den i tjänsten.

  1. Skapa en användartilldelad hanterad identitetsresurs enligt dessa instruktioner.

  2. I Azure-portalen bläddrar du till din Azure SignalR Service-instans.

  3. Välj Identitet.

  4. På fliken Användartilldelade väljer du Lägg till.

  5. I listrutan Användartilldelade hanterade identiteter väljer du identiteten.

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

  6. Markera Lägga till.

Använda en hanterad identitet i serverlösa scenarier

Azure SignalR Service är en fullständigt hanterad tjänst. Den använder en hanterad identitet för att hämta en åtkomsttoken. I serverlösa scenarier lägger tjänsten till åtkomsttoken i Authorization huvudet i en överordnad begäran.

Aktivera hanterad identitetsautentisering i överordnade inställningar

När du har lagt till en systemtilldelad identitet eller användartilldelad identitet i din Azure SignalR Service-instans kan du aktivera hanterad identitetsautentisering i de överordnade slutpunktsinställningarna:

  1. I Azure-portalen bläddrar du till din Azure SignalR Service-instans.

  2. Välj Inställningar på menyn.

  3. Välj läget Serverlös tjänst.

  4. I textrutan Lägg till ett uppströms-URL-mönster anger du url-mönstret för den överordnade slutpunkten. Se INSTÄLLNINGAR för URL-mallar.

  5. Välj Lägg till en uppströmsinställning och välj sedan valfri asterisk.

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

  6. I Överordnade Inställningar konfigurerar du dina överordnade slutpunktsinställningar.

    Screenshot of upstream settings for Azure SignalR Service.

  7. I inställningarna för hanterad identitetsautentisering för Målgrupp i den utfärdade token kan du ange målresursen. Resursen blir ett aud anspråk i den erhållna åtkomsttoken, som kan användas som en del av valideringen i dina överordnade slutpunkter. Resursen kan ha något av följande format:

    • Program-ID (klient) för tjänstens huvudnamn.
    • Program-ID-URI för tjänstens huvudnamn.

    Viktigt!

    Använd tom resurs för att snabbt hämta ett tokenmål till Microsoft Graph. Precis som i dag aktiverar Microsoft Graph tokenkryptering så att det inte är tillgängligt för program att autentisera den andra token än Microsoft Graph. I vanliga fall bör du alltid skapa ett huvudnamn för tjänsten för att representera ditt överordnade mål. Ange program-ID eller program-ID-URI för tjänstens huvudnamn som du har skapat.

Autentisering i en funktionsapp

Du kan enkelt ange åtkomstverifiering för en funktionsapp utan kodändringar med hjälp av Azure-portalen:

  1. Gå till funktionsappen i Azure-portalen.

  2. Markera Autentisering på kommandomenyn.

  3. Välj Lägg till identitetsprovider.

  4. På fliken Grundläggande väljer du Microsoft i listrutan Identitetsprovider.

  5. I Åtgärd att vidta när begäran inte har autentiserats väljer du Logga in med Microsoft Entra-ID.

  6. Alternativet för att skapa en ny registrering är valt som standard. Du kan ändra namnet på registreringen. Mer information om hur du aktiverar en Microsoft Entra-provider finns i Konfigurera din App Service- eller Azure Functions-app för att använda en Microsoft Entra-ID-inloggning.

    Screenshot that shows basic information for adding an identity provider.

  7. Gå till Azure SignalR Service och följ stegen för att lägga till en systemtilldelad identitet eller användartilldelad identitet.

  8. I Azure SignalR Service går du till Överordnade inställningar och väljer sedan Använd hanterad identitet och Välj från befintliga program. Välj det program som du skapade tidigare.

När du har konfigurerat de här inställningarna avvisar funktionsappen begäranden utan en åtkomsttoken i huvudet.

Verifiera åtkomsttoken

Om du inte använder WebApp eller Azure Function kan du även verifiera token.

Token i Authorization huvudet är en Microsofts identitetsplattform åtkomsttoken.

För att verifiera åtkomsttoken bör appen även verifiera målgruppen och signeringstoken. Dessa token måste verifieras mot värdena i OpenID-identifieringsdokumentet. Ett exempel finns i den klientoberoende versionen av dokumentet.

Microsoft Entra-mellanprogrammet har inbyggda funktioner för validering av åtkomsttoken. Du kan bläddra igenom Microsofts identitetsplattform kodexempel för att hitta ett på valfritt språk.

Bibliotek och kodexempel som visar hur du hanterar tokenverifiering är tillgängliga. Flera partnerbibliotek med öppen källkod är också tillgängliga för JSON-webbtokenvalidering (JWT). Det finns minst ett alternativ för nästan alla plattformar och språk. Mer information om Microsoft Entra-autentiseringsbibliotek och kodexempel finns i Microsofts identitetsplattform autentiseringsbibliotek.

Använda en hanterad identitet för en Key Vault-referens

Azure SignalR Service kan komma åt Key Vault för att hämta hemligheter med hjälp av den hanterade identiteten.

  1. Lägg till en systemtilldelad identitet eller användartilldelad identitet i din Azure SignalR Service-instans.
  2. Bevilja hemlig läsbehörighet för den hanterade identiteten i åtkomstprinciperna i Key Vault. Se Tilldela en Key Vault-åtkomstprincip med hjälp av Azure-portalen.

För närvarande kan du använda den här funktionen för att referera till en hemlighet i det överordnade URL-mönstret.

Nästa steg