Microsoft Entra gebruiken voor cacheverificatie met Azure Managed Redis (preview)
Azure Managed Redis (preview) biedt twee methoden voor verificatie bij uw cache-exemplaar: toegangssleutels en Microsoft Entra.
Hoewel verificatie van toegangssleutels eenvoudig is, krijgt u een aantal uitdagingen met betrekking tot beveiliging en wachtwoordbeheer. In dit artikel leert u echter hoe u een Microsoft Entra-token gebruikt voor cacheverificatie.
Azure Managed Redis biedt een verificatiemechanisme zonder wachtwoord door integratie met Microsoft Entra. De Entra ID die is geconfigureerd om verbinding te maken met Azure Managed Redis, krijgt dezelfde machtigingen als bij het gebruik van toegangssleutels.
In dit artikel leert u hoe u uw service-principal of beheerde identiteit gebruikt om verbinding te maken met uw Redis-exemplaar.
Vereisten en beperkingen
- Microsoft Entra-verificatie wordt alleen ondersteund voor SSL-verbindingen.
- Sommige Redis-opdrachten worden geblokkeerd. Zie Redis-opdrachten die niet worden ondersteund in Azure Managed Redis voor een volledige lijst met geblokkeerde opdrachten.
Belangrijk
Nadat een verbinding tot stand is gebracht met behulp van een Microsoft Entra-token, moeten clienttoepassingen het Microsoft Entra-token periodiek vernieuwen voordat deze verloopt. Vervolgens moeten de apps een AUTH
-opdracht naar de Redis-server verzenden om te voorkomen dat verbindingen worden onderbroken. Zie Uw Redis-client configureren voor het gebruik van Microsoft Entra voor meer informatie.
Microsoft Entra-verificatie inschakelen in uw cache
Selecteer in de Azure Portal het Azure Managed Redis-exemplaar waarvoor u verificatie op basis van een Microsoft Entra-token wilt configureren.
In het menu Resource, selecteert u Verificatie.
Selecteer in het werkvenster het tabblad Microsoft Entra-verificatie.
Selecteer Microsoft Entra-verificatie inschakelen en kies de knoppen 'Gebruiker of service-principal' of 'Beheerde identiteit'. De gebruiker die u invoert, krijgt automatisch dezelfde machtigingen toegewezen als bij het gebruik van toegangssleutels wanneer u Selecteert. U kunt ook een beheerde identiteit of service-principal invoeren om verbinding te maken met uw AMR-exemplaar.
Zie de referentiepagina's voor identiteit voor informatie over het gebruik van Microsoft Entra met de Azure CLI.
Toegangssleutelverificatie uitschakelen in uw cache
Microsoft Entra gebruiken is de veilige manier om verbinding te maken met uw cache. U wordt aangeraden Microsoft Entra te gebruiken en toegangssleutels uit te schakelen.
Wanneer u toegangssleutelverificatie uitschakelt voor een Redis-exemplaar, worden alle bestaande clientverbindingen beëindigd, ongeacht of ze toegangssleutels of Microsoft Entra-verificatie gebruiken. Volg de aanbevolen procedures voor Redis-clients om de juiste mechanismen voor opnieuw proberen te implementeren voor het opnieuw verbinden van op Microsoft Entra gebaseerde verbindingen, indien van toepassing.
Voordat u toegangssleutels uitschakelt:
Microsoft Entra-verificatie moet zijn ingeschakeld.
Voor geo-gerepliceerde caches moet u het volgende doen:
- Ontkoppel de caches.
- Toegangssleutels uitschakelen.
- Koppel de caches opnieuw.
Als u een cache hebt waarin u toegangssleutels gebruikt en u toegangssleutels wilt uitschakelen, volgt u deze procedure:
Selecteer in Azure Portal het exemplaar van Azure Managed Redis waar u toegangssleutels wilt uitschakelen.
In het menu Resource, selecteert u Verificatie.
Selecteer Toegangssleutels in het werkvenster.
Configureer verificatie van toegangssleutels om te worden uitgeschakeld.
Bevestig dat u uw configuratie wilt bijwerken door Ja te selecteren.
Belangrijk
Wanneer de instelling Verificatie met toegangssleutels uitschakelen voor een cache wordt gewijzigd, worden alle bestaande clientverbindingen, die toegangssleutels of Microsoft Entra gebruiken, beëindigd. Volg de aanbevolen procedures voor het implementeren van de juiste mechanismen voor opnieuw proberen voor het opnieuw verbinden van op Microsoft Entra gebaseerde verbindingen. Zie Verbindingstolerantie voor meer informatie.
Uw Redis-client configureren om Microsoft Entra te gebruiken
Omdat de meeste Azure Managed Redis-clients ervan uitgaan dat een wachtwoord en toegangssleutel worden gebruikt voor verificatie, moet u waarschijnlijk uw clientwerkstroom bijwerken om verificatie met Microsoft Entra te ondersteunen. In deze sectie leert u hoe u uw clienttoepassingen configureert om verbinding te maken met Azure Managed Redis met behulp van een Microsoft Entra-token.
Microsoft Entra-clientwerkstroom
Configureer uw clienttoepassing voor het verkrijgen van een Microsoft Entra-token voor bereik,
https://redis.azure.com/.default
ofacca5fbb-b7e4-4009-81f1-37e38fd66d78/.default
, met behulp van de Microsoft Authentication Library (MSAL).Werk uw Redis-verbindingslogica bij om de volgende
User
enPassword
te gebruiken:-
User
= Object-id van uw beheerde identiteit of service-principal -
Password
= Microsoft Entra-token dat u hebt verkregen met behulp van MSAL
-
Zorg ervoor dat uw client automatisch een Redis AUTH-opdracht uitvoert voordat uw Microsoft Entra-token verloopt met behulp van:
-
User
= Object-id van uw beheerde identiteit of service-principal -
Password
= Microsoft Entra-token periodiek vernieuwd
-
Ondersteuning voor clientbibliotheek
De bibliotheek Microsoft.Azure.StackExchangeRedis
is een uitbreiding van StackExchange.Redis
waarmee u Microsoft Entra kunt gebruiken om verbindingen van een Redis-clienttoepassing met een Azure Managed Redis te verifiëren. De extensie beheert het verificatietoken, inclusief proactief vernieuwen van tokens voordat ze verlopen om permanente Redis-verbindingen over meerdere dagen te onderhouden.
In dit codevoorbeeld ziet u hoe u het Microsoft.Azure.StackExchangeRedis
NuGet-pakket gebruikt om verbinding te maken met uw Azure Managed Redis-exemplaar met behulp van Microsoft Entra.
De volgende tabel bevat koppelingen naar codevoorbeelden. Ze laten zien hoe u verbinding maakt met uw Azure Managed Redis-exemplaar met behulp van een Microsoft Entra-token. Verschillende clientbibliotheken zijn opgenomen in meerdere talen.
Clientbibliotheek | Taal | Koppeling naar voorbeeldcode |
---|---|---|
StackExchange.Redis | .NET | Codevoorbeeld StackExchange.Redis |
redis-py | Python | Codevoorbeeld redis-py |
Jedis | Java | Codevoorbeeld Jedis |
Lettuce | Java | Codevoorbeeld Lettuce |
Redisson | Java | Codevoorbeeld Redisson |
ioredis | Node.js | Codevoorbeeld ioredis |
node-redis | Node.js | Codevoorbeeld node-redis |
Aanbevolen procedures voor Microsoft Entra-verificatie
- Configureer privékoppelingen of firewallregels om uw cache te beschermen tegen een Denial of Service-aanval.
- Zorg ervoor dat uw clienttoepassing ten minste drie minuten voor het verlopen van het token een nieuw Microsoft Entra-token verzendt om onderbreking van de verbinding te voorkomen.
- Wanneer u de opdracht
AUTH
van de Redis-server periodiek aanroept, kunt u overwegen om een jitter toe te voegen, zodat deAUTH
-opdrachten worden gefaseerd. Op deze manier ontvangt uw Redis-server niet te veelAUTH
-opdrachten tegelijk.