Microsoft Entra gebruiken voor cacheverificatie
Azure Cache voor Redis 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 Cache voor Redis biedt een verificatiemechanisme zonder wachtwoord door integratie met Microsoft Entra. Deze integratie bevat ook functionaliteit voor op rollen gebaseerd toegangsbeheer die wordt geboden via toegangsbeheerlijsten (ACL's) die worden ondersteund in opensource Redis.
Als u de ACL-integratie wilt gebruiken, moet uw clienttoepassing de identiteit aannemen van een Microsoft Entra-entiteit, zoals een service-principal of beheerde identiteit, en verbinding maken met uw cache. In dit artikel leert u hoe u uw service-principal of beheerde identiteit gebruikt om verbinding te maken met uw cache. U leert ook hoe u vooraf gedefinieerde machtigingen voor uw verbinding verleent op basis van het Microsoft Entra-artefact dat wordt gebruikt voor de verbinding.
Bereik van beschikbaarheid
Laag | Basic, Standard en Premium | Enterprise, Enterprise Flash |
---|---|---|
Beschikbaarheid | Ja | Nr. |
Vereisten en beperkingen
- Microsoft Entra-verificatie wordt ondersteund voor SSL-verbindingen en TLS 1.2 of hoger.
- Microsoft Entra-verificatie wordt niet ondersteund op Azure Cache voor Redis exemplaren die afhankelijk zijn van Azure Cloud Services.
- Microsoft Entra-verificatie wordt niet ondersteund in de Enterprise-lagen van Azure Cache voor Redis Enterprise.
- Sommige Redis-opdrachten worden geblokkeerd. Zie Redis-opdrachten die niet worden ondersteund in Azure Cache voor 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 Cache voor Redis exemplaar waar u verificatie op basis van Microsoft Entra-tokens wilt configureren.
Selecteer Verificatie in het menu Resource.
Selecteer in het werkvenster het tabblad Microsoft Entra-verificatie .
Selecteer Microsoft Entra-verificatie inschakelen en voer de naam van een geldige gebruiker in. De gebruiker die u invoert, wordt standaard automatisch toegangsbeleid voor gegevenseigenaar toegewezen wanneer u Opslaan selecteert. U kunt ook een beheerde identiteit of service-principal invoeren om verbinding te maken met uw cache-exemplaar.
In een pop-updialoogvenster wordt gevraagd of u de configuratie wilt bijwerken en wordt u ervan op de hoogte gesteld dat het enkele minuten duurt. Selecteer Ja.
Belangrijk
Nadat de inschakeling is voltooid, worden de knooppunten in het cache-exemplaar opnieuw opgestart om de nieuwe configuratie te laden. U wordt aangeraden deze bewerking uit te voeren tijdens uw onderhoudsvenster of buiten uw piekuren. De bewerking kan tot 30 minuten duren.
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 cache 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:
Zorg ervoor dat Microsoft Entra-verificatie is ingeschakeld en u ten minste één Redis-gebruiker hebt geconfigureerd.
Zorg ervoor dat alle toepassingen die verbinding maken met uw cache-exemplaar overschakelen naar het gebruik van Microsoft Entra-verificatie.
Zorg ervoor dat de metrische gegevens verbonden clients en verbonden clients die gebruikmaken van Microsoft Entra-token dezelfde waarden hebben. Als de waarden voor deze twee metrische gegevens niet hetzelfde zijn, betekent dit dat er nog steeds enkele verbindingen zijn gemaakt met behulp van toegangssleutels en niet entra-token.
Overweeg om toegang uit te schakelen tijdens het geplande onderhoudsvenster voor uw cache-exemplaar.
Het uitschakelen van toegangssleutels is alleen beschikbaar voor caches in de Basic-, Standard- en Premium-laag.
Voor geo-gerepliceerde caches moet u het volgende doen:
- Ontkoppel de caches.
- Toegangssleutels uitschakelen.
- Koppel de caches opnieuw.
Als u een cache hebt waarin toegangssleutels worden gebruikt en u toegangssleutels wilt uitschakelen, volgt u deze procedure:
Selecteer in Azure Portal het Azure Cache voor Redis exemplaar waar u toegangssleutels wilt uitschakelen.
Selecteer Verificatie in het menu Resource.
Selecteer Toegangssleutels in het werkvenster.
Selecteer Verificatie van toegangssleutels uitschakelen. Selecteer vervolgens Opslaan.
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.
Configuratie voor gegevenstoegang gebruiken met uw cache
Als u een aangepast toegangsbeleid wilt gebruiken in plaats van Redis-gegevenseigenaar, gaat u naar De configuratie van Gegevenstoegang in het menu Resource . Zie Een aangepast beleid voor gegevenstoegang configureren voor uw toepassing voor meer informatie.
Selecteer in Azure Portal het Azure Cache voor Redis exemplaar waaraan u de configuratie voor gegevenstoegang wilt toevoegen.
Selecteer Data Access Configuration in het menu Resource.
Selecteer Toevoegen en selecteer vervolgens Nieuwe Redis-gebruiker.
Selecteer op het tabblad Toegangsbeleid een van de beschikbare beleidsregels in de tabel: Gegevenseigenaar, Gegevensbijdrager of Gegevenslezer. Selecteer vervolgens Volgende: Redis-gebruikers.
Kies Gebruiker of service-principal of Beheerde identiteit om te bepalen hoe u toegang toewijst aan uw Azure Cache voor Redis-exemplaar. Als u Gebruiker of service-principal selecteert en u een gebruiker wilt toevoegen, moet u eerst Microsoft Entra-verificatie inschakelen.
Kies vervolgens Leden selecteren en kies Selecteren. Selecteer vervolgens Volgende: Beoordelen en toewijzen.
In een pop-updialoogvenster wordt u geïnformeerd dat de upgrade permanent is en kan dit leiden tot een korte verbindingslip. Selecteer Ja.
Belangrijk
Nadat de inschakeling is voltooid, worden de knooppunten in het cache-exemplaar opnieuw opgestart om de nieuwe configuratie te laden. U wordt aangeraden deze bewerking uit te voeren tijdens uw onderhoudsvenster of buiten uw piekuren. De bewerking kan tot 30 minuten duren.
Uw Redis-client configureren voor het gebruik van Microsoft Entra
Omdat de meeste Azure Cache voor 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 Cache voor 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 bij een Azure Cache voor Redis. 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 Cache voor Redis-exemplaar met behulp van Microsoft Entra.
De volgende tabel bevat koppelingen naar codevoorbeelden. Ze laten zien hoe u verbinding maakt met uw Azure Cache voor 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 willekeurige vertraging toe te voegen, zodat deAUTH
opdrachten worden gefaseerd. Op deze manier ontvangt uw Redis-server niet te veelAUTH
opdrachten tegelijk.