Dela via


Använda Microsoft Entra för cacheautentisering

Azure Cache for Redis erbjuder två metoder för att autentisera till din cacheinstans: åtkomstnycklar och Microsoft Entra.

Även om åtkomstnyckelautentisering är enkel, 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 däremot lära dig hur du använder en Microsoft Entra-token för cacheautentisering.

Azure Cache for Redis erbjuder en lösenordsfri autentiseringsmekanism genom att integrera med Microsoft Entra. Den här integreringen omfattar även rollbaserade funktioner för åtkomstkontroll som tillhandahålls via åtkomstkontrollistor (ACL:er) som stöds i Redis med öppen källkod.

Om du vill använda ACL-integreringen måste klientprogrammet förutsätta identiteten för en Microsoft Entra-entitet, t.ex. tjänstens huvudnamn eller hanterade identitet, och ansluta till din cache. 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 cacheminnet. Du får också lära dig hur du beviljar din anslutning fördefinierade behörigheter baserat på Den Microsoft Entra-artefakt som används för anslutningen.

Tillgänglighetsomfång

Nivå Basic, Standard, Premium Enterprise, Enterprise Flash
Tillgänglighet Ja Nej

Förutsättningar och begränsningar

  • Microsoft Entra-autentisering stöds för SSL-anslutningar och TLS 1.2 eller senare.
  • Microsoft Entra-autentisering stöds inte på Enterprise-nivåerna i Azure Cache for Redis Enterprise.
  • Vissa Redis-kommandon blockeras. En fullständig lista över blockerade kommandon finns i Redis-kommandon som inte stöds i Azure Cache for Redis.

Viktigt!

När en anslutning har upprättats med hjälp av en Microsoft Entra-token måste klientprogram regelbundet uppdatera Microsoft Entra-token innan den upphör att gälla. 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 så att den använder Microsoft Entra.

Aktivera Microsoft Entra-autentisering i cacheminnet

  1. I Azure Portal väljer du den Azure Cache for Redis-instans där du vill konfigurera Microsoft Entra-tokenbaserad autentisering.

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

  3. I arbetsfönstret väljer du fliken Microsoft Entra-autentisering .

  4. Välj Aktivera Microsoft Entra-autentisering och ange namnet på en giltig användare. Användaren som du anger tilldelas automatiskt åtkomstprincip för dataägare som standard när du väljer Spara. Du kan också ange en hanterad identitet eller tjänstens huvudnamn för att ansluta till cacheinstansen.

    Skärmbild som visar autentisering som valts i resursmenyn och kryssrutan Aktivera Microsoft Entra-autentisering.

  5. En popup-dialogruta frågar om du vill uppdatera konfigurationen och informerar dig om att det tar flera minuter. Välj Ja.

    Viktigt!

    När aktiveringsåtgärden är klar startar noderna i cacheinstansen om för att läsa in den nya konfigurationen. Vi rekommenderar att du utför den här åtgärden under underhållsperioden eller utanför din rusningstid. Åtgärden kan ta upp till 30 minuter.

Information om hur du använder Microsoft Entra med Azure CLI finns i referenssidorna för identitet.

Inaktivera autentisering av åtkomstnycklar i cacheminnet

Att använda Microsoft Entra är det säkra sättet att ansluta din cache. Vi rekommenderar att du använder Microsoft Entra och inaktiverar åtkomstnycklar.

När du inaktiverar åtkomstnyckelautentisering för en cache 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 för att återansluta Eventuella Microsoft Entra-baserade anslutningar.

Innan du inaktiverar åtkomstnycklar

  • Kontrollera att Microsoft Entra-autentisering är aktiverat och att du har minst en Redis-användare konfigurerad.
  • Se till att alla program som ansluter till cacheinstansen växlar till med Microsoft Entra-autentisering.
  • Kontrollera att måtten Anslutna klienter och anslutna klienter som använder Microsoft Entra-token har samma värden. Om värdena för dessa två mått inte är desamma innebär det att det fortfarande finns vissa anslutningar som har skapats med åtkomstnycklar och inte Microsoft Entra-token.
  • Överväg att inaktivera åtkomst under det schemalagda underhållsfönstret för cacheinstansen.
  • Det går bara att inaktivera åtkomstnycklar för cacheminnen på Basic-, Standard- och Premium-nivå.

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 använde åtkomstnycklar och vill inaktivera åtkomstnycklar följer du den här proceduren:

  1. I Azure Portal väljer du den Azure Cache for 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 Inaktivera autentisering av åtkomstnycklar. Välj sedan Spara.

    Skärmbild som visar åtkomstnycklar i arbetsfönstret med kryssrutan Inaktivera autentisering av åtkomstnycklar.

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

Viktigt!

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 mekanismer för återförsök för att återansluta Microsoft Entra-baserade anslutningar. Mer information finns i Anslutningsresiliens.

Använda konfiguration av dataåtkomst med cacheminnet

Om du vill använda en anpassad åtkomstprincip i stället för Redis-dataägare går du till Konfiguration av dataåtkomstresursmenyn . Mer information finns i Konfigurera en anpassad dataåtkomstprincip för ditt program.

  1. I Azure Portal väljer du den Azure Cache for Redis-instans som du vill lägga till i konfigurationen för dataåtkomst.

  2. På resursmenyn väljer du Konfiguration av dataåtkomst.

  3. Välj Lägg till och välj sedan Ny Redis-användare.

  4. På fliken Åtkomstprinciper väljer du en av de tillgängliga principerna i tabellen: Dataägare, Datadeltagare eller Dataläsare. Välj sedan Nästa: Redis-användare.

    Skärmbild som visar tillgängliga åtkomstprinciper.

  5. Välj antingen Användarens eller tjänstens huvudnamn eller Hanterad identitet för att avgöra hur du tilldelar åtkomst till din Azure Cache for Redis-instans. Om du väljer Användaren eller tjänstens huvudnamn och vill lägga till en användare måste du först aktivera Microsoft Entra-autentisering.

  6. Välj sedan Välj medlemmar och välj Välj. Välj sedan Nästa: Granska + tilldela.

    Skärmbild som visar medlemmar som ska läggas till som nya Redis-användare.

  7. En popup-dialogruta meddelar dig att uppgraderingen är permanent och kan orsaka en kort anslutning. Välj Ja.

    Viktigt!

    När aktiveringsåtgärden är klar startar noderna i cacheinstansen om för att läsa in den nya konfigurationen. Vi rekommenderar att du utför den här åtgärden under underhållsperioden eller utanför din rusningstid. Åtgärden kan ta upp till 30 minuter.

Konfigurera Redis-klienten så att den använder Microsoft Entra

Eftersom de flesta Azure Cache for Redis-klienter förutsätter att ett lösenord och en åtkomstnyckel används för autentisering måste du förmodligen uppdatera klientarbetsflödet för att stödja autentisering med hjälp av Microsoft Entra. I det här avsnittet får du lära dig hur du konfigurerar dina klientprogram för att ansluta till Azure Cache for Redis med hjälp av en Microsoft Entra-token.

Microsoft Entra-klientarbetsflöde

  1. Konfigurera klientprogrammet för att hämta en Microsoft Entra-token för omfång, https://redis.azure.com/.default eller 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 köpt 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 gör att du kan använda Microsoft Entra för att autentisera anslutningar från ett Redis-klientprogram till en Azure Cache for Redis. Tillägget hanterar autentiseringstoken, inklusive proaktiv uppdatering av token innan de upphör att gälla för att underhålla beständiga Redis-anslutningar under flera dagar.

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

Följande tabell innehåller länkar till kodexempel. De visar hur du ansluter till din Azure Cache for Redis-instans med hjälp av en Microsoft Entra-token. Olika klientbibliotek ingår i flera språk.

Klientbibliotek Språk Länk till exempelkod
StackExchange.Redis .NET StackExchange.Redis-kodexempel
go-redis Go go-redis-kodexempel
redis-py Python redis-py-kodexempel
Jedis Java Jedis-kodexempel
Lettuce Java Exempel på salladskod
Redisson Java Redisson-kodexempel
ioredis Node.js ioredis-kodexempel
node-redis Node.js node-redis-kodexempel

Metodtips för Microsoft Entra-autentisering

  • Konfigurera privata länkar eller brandväggsregler för att skydda cacheminnet från en överbelastningsattack.
  • Se till att klientprogrammet skickar en ny Microsoft Entra-token minst tre minuter innan token upphör att gälla för att undvika anslutningsstörningar.
  • När du anropar Redis-serverkommandot AUTH med jämna mellanrum kan du överväga att lägga till en slumpmässig fördröjning så att AUTH kommandona ändras. På så sätt får inte Redis-servern för många AUTH kommandon samtidigt.