Dela via


Konfigurera rollbaserad åtkomstkontroll med dataåtkomstprincip

Det är viktigt att hantera åtkomsten till din Azure Cache for Redis-instans för att säkerställa att rätt användare har åtkomst till rätt uppsättning data och kommandon. I Redis version 6 introducerades åtkomstkontrollistan (ACL). ACL begränsar vilken användare som kan köra vissa kommandon och de nycklar som en användare kan komma åt. Du kan till exempel förhindra att vissa användare tar bort nycklar i cacheminnet med hjälp av KOMMANDOT DEL .

Azure Cache for Redis integrerar nu den här ACL-funktionen med Microsoft Entra-ID så att du kan konfigurera dina dataåtkomstprinciper för programmets tjänsthuvudnamn och hanterade identitet.

Azure Cache for Redis erbjuder tre inbyggda åtkomstprinciper: Dataägare, Datadeltagare och Dataläsare. Om de inbyggda åtkomstprinciperna inte uppfyller dina krav på dataskydd och isolering kan du skapa och använda din egen princip för åtkomst till anpassade data enligt beskrivningen i Konfigurera anpassad dataåtkomstprincip.

Tillgänglighetsomfång

Nivå Basic, Standard, Premium Enterprise, Enterprise Flash
Tillgänglighet Ja Nej

Förutsättningar och begränsningar

  • Redis ACL- och dataåtkomstprinciper stöds inte i Azure Cache for Redis-instanser som kör Redis version 4.
  • Redis ACL- och dataåtkomstprinciper stöds inte i Azure Cache for Redis-instanser som är beroende av Cloud Services.
  • Microsoft Entra-autentisering och -auktorisering stöds endast för SSL-anslutningar.
  • Vissa Redis-kommandon blockeras.

Behörigheter för din dataåtkomstprincip

ACL i Redis version 6.0 gör det möjligt att konfigurera åtkomstbehörigheter för tre områden som beskrivs i Redis-åtkomstkontrollistan:

Kommandokategorier

Redis har skapat grupper av kommandon, till exempel administrativa kommandon, farliga kommandon osv. för att göra det enklare att ange behörigheter för en grupp kommandon.

  • Använd +@commandcategory för att tillåta en kommandokategori
  • Använd -@commandcategory för att inte tillåta en kommandokategori

Dessa kommandon är fortfarande blockerade. Följande grupper är användbara kommandokategorier som Redis stöder. Mer information om kommandokategorier finns i den fullständiga listan under rubriken Kommandokategorier.

  • admin
    • Administrativa kommandon. Normala program behöver aldrig använda dessa, inklusive MONITOR, SHUTDOWNoch andra.
  • dangerous
    • Potentiellt farliga kommandon. Var och en bör övervägas med försiktighet av olika skäl, inklusive FLUSHALL, RESTORE, SORT, KEYS, CLIENT, DEBUGINFO, CONFIGoch andra.
  • keyspace
    • Skriva eller läsa från nycklar, databaser eller deras metadata på ett typagnostiskt sätt, inklusive DEL, RESTORE, RENAMEDUMP, EXISTS, DBSIZE, KEYS, EXPIRE, , TTL, och FLUSHALLmycket mer. Kommandon som kan ändra nyckelrymden, nyckeln eller metadata har också skrivkategorin. Kommandon som bara läser nyckelrymden, nyckeln eller metadata har läskategorin.
  • pubsub
    • PubSub-relaterade kommandon.
  • read
    • Läser från nycklar, värden eller metadata. Kommandon som inte interagerar med nycklar har varken läs- eller skrivfunktioner.
  • set
    • Datatyp: uppsättningar relaterade.
  • sortedset
    • Datatyp: sorterade uppsättningar relaterade.
  • stream
    • Datatyp: strömmar relaterade.
  • string
    • Datatyp: relaterade strängar.
  • write
    • Skriva till nycklar (värden eller metadata).

Kommandon

Med kommandon kan du styra vilka specifika kommandon som kan köras av en viss Redis-användare.

  • Använd +command för att tillåta ett kommando.
  • Använd -command för att inte tillåta ett kommando.

Nycklar

Med nycklar kan du styra åtkomsten till specifika nycklar eller grupper av nycklar som lagras i cacheminnet.

  • Använd ~<pattern> för att ange ett mönster för nycklar.

  • Använd antingen ~* eller allkeys för att ange att behörigheterna för kommandokategorin gäller för alla nycklar i cacheinstansen.

Så här anger du behörigheter

Om du vill ange behörigheter måste du skapa en sträng som ska sparas som din anpassade åtkomstprincip och sedan tilldela strängen till din Azure Cache for Redis-användare.

Följande lista innehåller några exempel på behörighetssträngar för olika scenarier.

  • Tillåt att programmet kör alla kommandon på alla nycklar

    Behörighetssträng: +@all allkeys

  • Tillåt att programmet endast kör läskommandon

    Behörighetssträng: +@read ~*

  • Tillåt att programmet kör läskommandokategorin och anger kommandot på nycklar med prefixet Az.

    Behörighetssträng: +@read +set ~Az*

Konfigurera en anpassad dataåtkomstprincip för ditt program

  1. I Azure-portalen väljer du den Azure Cache for Redis-instans där du vill konfigurera Microsoft Entra-tokenbaserad autentisering.

  2. På resursmenyn väljer du Konfiguration av dataåtkomst.

    Skärmbild som visar dataåtkomstkonfigurationen markerad på resursmenyn.

  3. Välj Lägg till och välj Ny åtkomstprincip.

    Skärmbild som visar ett formulär för att lägga till en anpassad åtkomstprincip.

  4. Ange ett namn för din åtkomstprincip.

  5. Konfigurera behörigheter enligt dina krav.

  6. Om du vill lägga till en användare i åtkomstprincipen med hjälp av Microsoft Entra-ID måste du först aktivera Microsoft Entra-ID genom att välja Autentisering på resursmenyn.

  7. Välj Aktivera Microsoft Entra-autentisering som flik i arbetsfönstret.

  8. Om den inte redan är markerad markerar du kryssrutan Aktivera Microsoft Entra-autentisering och väljer OK. Välj sedan Spara.

    Skärmbild av åtkomstauktorisering för Microsoft Entra-ID.

  9. En popup-dialogruta visar en fråga om du vill uppdatera konfigurationen och informerar dig om att det tar flera minuter. Välj Ja.

    Viktigt!

    När aktiveringsåtgärden är klar startas noderna i cacheinstansen om för att läsa in den nya konfigurationen. Vi rekommenderar att du utför den här åtgärden under underhållsperioden eller utanför din rusningstid. Åtgärden kan ta upp till 30 minuter.

Konfigurera Redis-klienten så att den använder Microsoft Entra-ID

Nu när du har konfigurerat redis-användar- och dataåtkomstprincip för att konfigurera rollbaserad åtkomstkontroll måste du uppdatera klientarbetsflödet för att stödja autentisering med hjälp av en specifik användare/lösenord. Information om hur du konfigurerar klientprogrammet för att ansluta till cacheinstansen som en specifik Redis-användare finns i Konfigurera redis-klienten att använda Microsoft Entra-ID.

Nästa steg