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.
- 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
,SHUTDOWN
och andra.
- Administrativa kommandon. Normala program behöver aldrig använda dessa, inklusive
dangerous
- Potentiellt farliga kommandon. Var och en bör övervägas med försiktighet av olika skäl, inklusive
FLUSHALL
,RESTORE
,SORT
,KEYS
,CLIENT
,DEBUG
INFO
,CONFIG
och andra.
- Potentiellt farliga kommandon. Var och en bör övervägas med försiktighet av olika skäl, inklusive
keyspace
- Skriva eller läsa från nycklar, databaser eller deras metadata på ett typagnostiskt sätt, inklusive
DEL
,RESTORE
,RENAME
DUMP
,EXISTS
,DBSIZE
,KEYS
,EXPIRE
, ,TTL
, ochFLUSHALL
mycket mer. Kommandon som kan ändra nyckelrymden, nyckeln eller metadata har också skrivkategorin. Kommandon som bara läser nyckelrymden, nyckeln eller metadata har läskategorin.
- Skriva eller läsa från nycklar, databaser eller deras metadata på ett typagnostiskt sätt, inklusive
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
~*
ellerallkeys
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
I Azure Portal väljer du den Azure Cache for Redis-instans där du vill konfigurera Microsoft Entra-tokenbaserad autentisering.
På resursmenyn väljer du Konfiguration av dataåtkomst.
Välj Lägg till och välj Ny åtkomstprincip.
Ange ett namn för din åtkomstprincip.
Konfigurera behörigheter enligt dina krav.
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.
Välj Aktivera Microsoft Entra-autentisering som flik i arbetsfönstret.
Om den inte redan är markerad markerar du kryssrutan Aktivera Microsoft Entra-autentisering och väljer OK. Välj sedan Spara.
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.