Använda Microsoft Entra-ID (förhandsversion) för cacheautentisering

Azure Cache for Redis erbjuder två metoder för att autentisera till din cacheinstans:

Ä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 mekanism för lösenordsfri autentisering genom att integrera med Microsoft Entra ID (förhandsversion). Den här integreringen omfattar även rollbaserade funktioner för åtkomstkontroll som tillhandahålls via åtkomstkontrollistor (ACL:er) som stöds i öppen källkod Redis.

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 cachen och hur du beviljar anslutningen 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 (förhandsversion) Nej

Förutsättningar och begränsningar

  • Microsoft Entra ID-baserad autentisering stöds för SSL-anslutningar och TLS 1.2 eller senare.
  • Microsoft Entra ID-baserad autentisering stöds inte på Azure Cache for Redis-instanser som är beroende av Cloud Services.
  • Microsoft Entra ID-baserad 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 Microsoft Entra-token måste klientprogram regelbundet uppdatera Microsoft Entra-token innan den upphör att gälla och 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-ID.

Aktivera Microsoft Entra-ID-autentisering i cacheminnet

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

  2. Välj Autentisering på resursmenyn.

  3. I arbetsfönstret väljer du (FÖRHANDSVERSION) Aktivera 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 aktivera Microsoft Entra-autentisering markerat.

  5. En popup-dialogruta visar en fråga 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 startas 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-ID med Azure CLI finns i referenssidorna för identitet.

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åtkomst på resursmenyn. Mer information finns i Konfigurera en anpassad dataåtkomstprincip för ditt program.

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

  2. Välj (FÖRHANDSVERSION) Konfiguration av dataåtkomst på resursmenyn.

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

  4. På fliken Åtkomstprincip 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 hanterade 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 dialogruta visar ett popup-fönster som meddelar dig att uppgraderingen är permanent och kan orsaka en kort anslutning. Välj Ja.

    Viktigt!

    När aktiveringsåtgärden är klar startas 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-ID

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-ID. 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 den 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 MSAL
  3. Se till 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-ID 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-ID.

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

Klientbibliotek Språk Länk till exempelkod
StackExchange.Redis .NET StackExchange.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 Denial of Service-attack.

  • Se till att klientprogrammet skickar en ny Microsoft Entra-token minst 3 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 bör du överväga att lägga till ett jitter så att kommandona är förskjutna AUTH och redis-servern inte får många AUTH kommandon samtidigt.