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 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 Cache for Redis har en mekanism för lösenordsfri autentisering genom att integrera med Microsoft Entra. Den här integreringen omfattar även funktioner för rollbaserad åtkomstkontroll som ges 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änglighet

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 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.

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. I 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.

För mer information om hur du använder Microsoft Entra med Azure CLI läser du referenssidorna för identitet.

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 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 vid återanslutning av 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 skiljer sig åt, betyder det att det fortfarande finns anslutningar som har skapats med åtkomstnycklar i stället för Microsoft Entra-token.
  • Överväg att inaktivera åtkomst till cacheinstansen under det schemalagda underhållsfönstret.
  • 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. I 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 återförsöksmekanismer 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 din Redis-klient för att använda 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 genom att använda Microsoft autentiseringsbibliotek (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 automatiskt kör ett Redis AUTH-kommando 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 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 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 finns tillgängliga på flera olika 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 Lettuce kodexempel
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.
  • 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 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.