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 Azure Portal het Azure Managed Redis-exemplaar waar u verificatie op basis van Een Token wilt configureren.
Selecteer Verificatie in het menu Resource.
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
Het gebruik van Microsoft Entra 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 verificatie van toegangssleutels voor een Redis-exemplaar uitschakelt, worden alle bestaande clientverbindingen beëindigd, ongeacht of ze toegangssleutels of Microsoft Entra-verificatie gebruiken. Volg de aanbevolen best practices 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.
Selecteer Verificatie in het menu Resource.
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 van toegangssleutels uitschakelen voor een cache wordt gewijzigd, worden alle bestaande clientverbindingen, met behulp van toegangssleutels of Microsoft Entra, 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 voor het gebruik van Microsoft Entra
Omdat de meeste door Azure beheerde Redis-clients ervan uitgaan dat een wachtwoord en toegangssleutel worden gebruikt voor verificatie, moet u waarschijnlijk uw clientwerkstroom bijwerken om verificatie te ondersteunen met behulp van Microsoft Entra. 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 het bereik of
https://redis.azure.com/.default
acca5fbb-b7e4-4009-81f1-37e38fd66d78/.default
, met behulp van de Microsoft Authentication Library (MSAL).Werk uw Redis-verbindingslogica bij om het volgende
User
te gebruiken enPassword
:User
= Object-id van uw beheerde identiteit of service-principalPassword
= 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-principalPassword
= Microsoft Entra-token periodiek vernieuwd
Ondersteuning voor clientbibliotheek
De bibliotheek Microsoft.Azure.StackExchangeRedis
is een uitbreiding waarmee StackExchange.Redis
u Microsoft Entra kunt gebruiken om verbindingen van een Redis-clienttoepassing te verifiëren met een Door Azure beheerde Redis-client. 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 | Voorbeeld van Jedis-code |
Lettuce | Java | Voorbeeld van slacode |
Redisson | Java | Voorbeeld van redisson-code |
ioredis | Node.js | ioredis-codevoorbeeld |
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 Redis-serveropdracht
AUTH
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.