Dela via


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

Azure Managed Redis erbjuder två metoder för att autentisera till din cacheinstans: åtkomstnycklar och Microsoft Entra. Azure Managed Redis-cachen använder hanterad identitet som standard. När du skapar en ny cache aktiveras den hanterade identiteten.

Även om autentisering med åtkomstnyckel är enkel, medför den vissa utmaningar när det gäller säkerhet och hantering av lösenord. 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.

Azure Managed Redis erbjuder en mekanism för lösenordsfri autentisering genom att integrera med Microsoft Entra. Det Entra-ID som konfigurerats för att ansluta till Azure Managed Redis tilldelas samma behörigheter som när du använder åtkomstnycklar.

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.

Inaktivera autentisering av åtkomstnycklar i cacheminnet

Att ansluta din cache med Microsoft Entra är det säkraste alternativet. Vi rekommenderar att du använder Microsoft Entra och inaktiverar åtkomstnycklar.

När åtkomstnyckelautentisering inaktiveras för en Redis-instans avslutas alla befintliga klientanslutningar, oavsett om de använder åtkomstnycklar eller Microsoft Entra-autentisering. Följ de rekommenderade metodtipsen för Redis-klienten för att implementera lämpliga mekanismer för återförsök vid återanslutning av eventuella Microsoft Entra-baserade anslutningar.

Innan du inaktiverar åtkomstnycklar:

  • Microsoft Entra-autentisering måste vara aktiverat.

  • För geo-replikerade cacheminnen måste du:

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

Om du har en cache där 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 Inaktivera autentisering av åtkomstnycklar ändras för ett cacheminne 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.

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

Eftersom de flesta Azure Managed Redis-klienter förutsätter användning av ett lösenord och en åtkomstnyckel för autentisering kan du behöva uppdatera klientarbetsflödet för att stödja autentisering med Microsoft Entra. Det här avsnittet visar hur du konfigurerar dina klientprogram för att ansluta till Azure Managed Redis med en Microsoft Entra-token.

Lägga till användare eller systemhuvudnamn i cacheminnet

  1. Ansluta 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 AUTH-kommando 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

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

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.