Delen via


Microsoft Entra gebruiken voor cacheverificatie met Azure Managed Redis

Azure Managed Redis biedt twee methoden voor verificatie bij uw cache-exemplaar: toegangssleutels en Microsoft Entra. Azure Managed Redis-cache maakt standaard gebruik van beheerde identiteit. Wanneer u een nieuwe cache maakt, wordt beheerde identiteit ingeschakeld.

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 toegewezen 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

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.

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:

    1. Ontkoppel de caches.
    2. Toegangssleutels uitschakelen.
    3. Koppel de caches opnieuw.

Als u een cache hebt waarin u toegangssleutels wilt uitschakelen, volgt u deze procedure:

  1. Selecteer in Azure Portal het exemplaar van Azure Managed Redis waar u toegangssleutels wilt uitschakelen.

  2. In het menu Resource, selecteert u Verificatie.

  3. Selecteer Toegangssleutels in het werkvenster.

  4. Selecteer het besturingselement Verificatie van toegangssleutels om toegangssleutels uit te schakelen.

  5. 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.

Gebruikers of systeemprincipaal toevoegen aan uw cache

  1. Verbinding maken met uw cache in Azure Portal

  2. Selecteer Verificatie in het menu Resource.

  3. Selecteer op het tabblad Microsoft Entra-verificatie de optie Gebruiker of service-principal en selecteer vervolgens + Lid selecteren.

  4. Typ de naam van de gebruiker die u het programma wilt uitvoeren. Selecteer de gebruiker die u wilt toevoegen in de lijst en Selecteer. De gebruiker wordt toegevoegd aan de lijst met Redis-gebruikers.

    Schermopname van het tabblad Verificatie in een Redis-cache in Azure Portal.

Microsoft Entra-clientwerkstroom

  1. Configureer uw clienttoepassing voor het verkrijgen van een Microsoft Entra-token voor bereik, https://redis.azure.com/.defaultof acca5fbb-b7e4-4009-81f1-37e38fd66d78/.default, met behulp van de Microsoft Authentication Library (MSAL).

  2. Werk uw Redis-verbindingslogica bij om de volgende User en Password te gebruiken:

    • User = Object-ID van uw beheerde identiteit of serviceprincipal
    • Password = Microsoft Entra-token dat u hebt verkregen met behulp van MSAL
  3. 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 serviceprincipal
    • 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.

Klantbibliotheek Taal Koppeling naar voorbeeldcode
StackExchange.Redis .NET Codevoorbeeld StackExchange.Redis
redis-py Python Codevoorbeeld redis-py
Jedis Java Codevoorbeeld Jedis
Sla Java Codevoorbeeld Lettuce
node-redis Node.js Codevoorbeeld node-redis
go-redis Go-programmeertaal go-codevoorbeeld

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 de AUTH-opdrachten worden gefaseerd. Op deze manier ontvangt uw Redis-server niet te veel AUTH-opdrachten tegelijk.