Använda Microsoft Entra för cacheautentisering med Azure Managed Redis (förhandsversion)
Azure Managed Redis (förhandsversion)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 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 med å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.
Förutsättningar och begränsningar
- Microsoft Entra-autentisering stöds endast för SSL-anslutningar.
- Vissa Redis-kommandon blockeras. En fullständig lista över blockerade kommandon finns i Redis-kommandon som inte stöds i Azure Managed 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
I Azure Portal väljer du den Azure Managed Redis-instans där du vill konfigurera Microsoft Entra-tokenbaserad autentisering.
På menyn Resurs väljer du Autentisering.
I arbetsfönstret väljer du fliken Microsoft Entra-autentisering .
Välj Aktivera Microsoft Entra-autentisering och välj knapparna "Användare eller tjänstens huvudnamn" eller "Hanterad identitet". Användaren du anger tilldelas automatiskt samma behörigheter som när du använder åtkomstnycklar när du väljer. Du kan också ange en hanterad identitet eller tjänstens huvudnamn för att ansluta till din AMR-instans.
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 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 för att återansluta Eventuella Microsoft Entra-baserade anslutningar.
Innan du inaktiverar åtkomstnycklar:
Microsoft Entra-autentisering måste vara aktiverat.
För geo-replikerade cacheminnen måste du:
- Ta bort länk till cacheminnena.
- Inaktivera åtkomstnycklar.
- Länka om cacheminnena.
Om du har en cache där du använder åtkomstnycklar och vill inaktivera åtkomstnycklar följer du den här proceduren:
I Azure Portal väljer du den Azure Managed Redis-instans där du vill inaktivera åtkomstnycklar.
På menyn Resurs väljer du Autentisering.
I arbetsfönstret väljer du Åtkomstnycklar.
Konfigurera autentisering av åtkomstnycklar så att det inaktiveras.
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.
Konfigurera Redis-klienten så att den använder Microsoft Entra
Eftersom de flesta Azure Managed 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 Managed Redis med hjälp av en Microsoft Entra-token.
Microsoft Entra-klientarbetsflöde
Konfigurera klientprogrammet för att hämta en Microsoft Entra-token för omfång,
https://redis.azure.com/.default
elleracca5fbb-b7e4-4009-81f1-37e38fd66d78/.default
, med hjälp av Microsoft Authentication Library (MSAL).Uppdatera Redis-anslutningslogik så att du använder följande
User
ochPassword
:User
= Objekt-ID för din hanterade identitet eller tjänstens huvudnamnPassword
= Microsoft Entra-token som du har köpt med hjälp av MSAL
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 huvudnamnPassword
= 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 Managed 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 Managed 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 Managed 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 |
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 bör du överväga att lägga till ett jitter så att kommandona är förskjutnaAUTH
. På så sätt får inte Redis-servern för mångaAUTH
kommandon samtidigt.