Använda Microsoft Entra-ID för cacheautentisering med Azure Managed Redis

Azure Managed Redis erbjuder en mekanism för lösenordsfri autentisering genom att integrera med Microsoft Entra-ID. Azure Managed Redis-cacheminnen använder Microsoft Entra-ID som standard. När du skapar en ny cache aktiveras den hanterade identiteten.

Även om åtkomstnyckelautentisering fortfarande är tillgänglig, kommer den med en uppsättning utmaningar när det gäller säkerhet och lösenordshantering. I den här artikeln får du istället lära dig hur du använder en Microsoft Entra-token för att autentisera cacheminnet.

I den här artikeln får du lära dig hur du använder tjänstens huvudnamn eller hanterade identitet för att ansluta till din Redis-instans.

Krav och begränsningar

Important

När en anslutning har etablerats med hjälp av en Microsoft Entra-token måste klientprogram regelbundet förnya token innan dess giltighetstid löper ut. Sedan måste apparna skicka ett AUTH-kommando till Redis-servern för att undvika avbrott i anslutningarna. Mer information finns i Konfigurera Redis-klienten till att använda Microsoft Entra.

Konfigurera din Redis-klient för att använda Microsoft Entra

Om du tidigare har använt åtkomstnycklar för autentisering måste du uppdatera klientarbetsflödet för att stödja autentisering med hjälp av Microsoft Entra-ID. I det här avsnittet får du lära dig hur du ansluter till Azure Managed Redis med hjälp av ett Microsoft Entra-ID.

Lägga till användare eller systemhuvudnamn i cacheminnet

  1. Anslut till din cache i Azure-portalen.

  2. På menyn Resurs väljer du Autentisering.

  3. På fliken Microsoft Entra-autentisering väljer du Användaren eller tjänstens huvudnamn och sedan + Välj medlem.

  4. Ange namnet på den användare som du vill köra programmet. Välj den användare som ska läggas till i listan och Välj. Användaren läggs till i listan över Redis-användare.

    Skärmbild av fliken autentisering i en Redis-cache på Azure-portalen.

Microsoft Entra-klientarbetsflöde

  1. Konfigurera klientprogrammet för att hämta en Microsoft Entra-token för omfång, https://redis.azure.com/.defaulteller acca5fbb-b7e4-4009-81f1-37e38fd66d78/.default, med hjälp av Microsoft Authentication Library (MSAL).

  2. Uppdatera Redis-anslutningslogik så att du använder följande User och Password:

    • User = Objekt-ID för din hanterade identitet eller tjänstens huvudnamn
    • Password = Microsoft Entra-token som du har anskaffat med hjälp av MSAL
  3. Kontrollera att klienten kör ett Redis-kommando AUTH automatiskt innan din Microsoft Entra-token upphör att gälla med hjälp av:

    • User = Objekt-ID för din hanterade identitet eller tjänstens huvudnamn
    • Password = Microsoft Entra-token uppdateras regelbundet

Metodtips för Microsoft Entra-autentisering

  • Konfigurera privata länkar eller brandväggsregler för att skydda cacheminnet från en överbelastningsattack.
  • Säkerställ att klientprogrammet skickar en ny Microsoft Entra-token minst tre minuter innan token förfaller för att undvika avbrott i anslutningen.
  • När du regelbundet anropar kommandot till Redis-servern AUTH överväg att lägga till en jitter för att AUTH sprida ut kommandona över tiden. På så sätt får inte Redis-servern för många AUTH kommandon samtidigt.

Felsöka Microsoft Entra-ID och din cache

Om programmet inte kan komma åt Azure Managed Redis-instansen via Microsoft Entra-ID använder du det här PowerShell-skriptet:

EntraTokenValidation

Använd det här PowerShell-skriptet för att verifiera Microsoft Entra-ID-token för Azure Managed Redis Cache-resurser. Skriptet validerar token och verifierar åtkomstprinciper som hjälper dig att diagnostisera autentiseringsproblem.

Om du har problem med att använda Microsoft Entra-ID för att autentisera Redis-anslutningar kör du det här skriptet för att analysera din Microsoft Entra-token och identifiera eventuella problem.

Stöd för klientbibliotek

Biblioteket Microsoft.Azure.StackExchangeRedis är ett tillägg som StackExchange.Redis som möjliggör användning av Microsoft Entra för att autentisera anslutningar från ett Redis-klientprogram till Azure Managed Redis. Tillägget hanterar autentiseringstoken, inklusive proaktiv uppdatering av token innan de förfaller, för att upprätthålla beständiga Redis-anslutningar över flera dagar.

Det här kodexemplet visar hur du använder Microsoft.Azure.StackExchangeRedis NuGet-paketet för att ansluta till din Azure Managed Redis-instans med Microsoft Entra.

Följande tabell innehåller länkar till kodexempel. De visar hur du ansluter till din Azure Managed Redis-instans med en Microsoft Entra-token. Olika klientbibliotek finns tillgängliga på flera olika språk.

Klientbibliotek Language Länk till exempelkod
StackExchange.Redis .NET StackExchange.Redis kodexempel
redis-py Python redis-py kodexempel
Jedis Java Jedis kodexempel
Lettuce Java Lettuce kodexempel
node-redis Node.js node-redis kodexempel
go-redis Go go-kodexempel

Inaktivera autentisering av åtkomstnycklar i cacheminnet

Om du har en cache med åtkomstnycklar rekommenderar vi att du byter till Microsoft Entra-ID som ett säkert sätt att ansluta din cache och inaktivera åtkomstnycklar.

När du inaktiverar åtkomstnycklar avslutar systemet alla befintliga klientanslutningar, oavsett om de använder åtkomstnycklar eller Microsoft Entra-ID-autentisering.

Innan du inaktiverar åtkomstnycklar på geo-replikerade cacheminnen måste du:

  1. Ta bort länk till cacheminnena.
  2. Inaktivera åtkomstnycklar.
  3. Länka om cacheminnena.

Om du vill inaktivera åtkomstnycklar följer du den här proceduren:

  1. I Azure Portal väljer du den Azure Managed Redis-instans där du vill inaktivera åtkomstnycklar.

  2. På menyn Resurs väljer du Autentisering.

  3. I arbetsfönstret väljer du Åtkomstnycklar.

  4. Välj autentiseringskontrollen Åtkomstnycklar för att inaktivera åtkomstnycklar.

  5. Bekräfta att du vill uppdatera konfigurationen genom att välja Ja.

    Important

    När inställningen Autentisering av åtkomstnycklar ändras för en cache avslutas alla befintliga klientanslutningar med hjälp av åtkomstnycklar eller Microsoft Entra. Följ metodtipsen för att implementera lämpliga återförsöksmekanismer för att återansluta Microsoft Entra-baserade anslutningar. Mer information finns i Anslutningsresiliens.