Konfigurace řízení přístupu na základě role pomocí zásad přístupu k datům
Správa přístupu k instanci Azure Cache for Redis je důležitá k zajištění toho, aby měli správní uživatelé přístup ke správné sadě dat a příkazů. Ve verzi 6 Redis byl zaveden seznam řízení přístupu (ACL). Seznam ACL omezuje, který uživatel může spouštět určité příkazy, a klíče, ke kterým má uživatel přístup. Pomocí příkazu DEL můžete například zakázat odstranění klíčů v mezipaměti konkrétním uživatelům.
Azure Cache for Redis teď integruje tuto funkci seznamu ACL s ID Microsoft Entra, abyste mohli nakonfigurovat zásady přístupu k datům pro instanční objekt a spravovanou identitu vaší aplikace.
Azure Cache for Redis nabízí tři předdefinované zásady přístupu: Vlastník dat, Přispěvatel dat a Čtenář dat. Pokud předdefinované zásady přístupu nevyhovují vašim požadavkům na ochranu a izolaci dat, můžete vytvořit a použít vlastní zásady přístupu k datům, jak je popsáno v tématu Konfigurace vlastních zásad přístupu k datům.
Rozsah dostupnosti
Úroveň | Basic, Standard a Premium | Enterprise, Enterprise Flash |
---|---|---|
Dostupnost | Yes | No |
Předpoklady a omezení
- Zásady seznamu ACL a přístupu k datům v Azure Cache for Redis se nepodporují v instancích Azure Cache for Redis, které používají Redis verze 4.
- Zásady seznamu ACL a přístupu k datům Redis nejsou podporované v instancích Azure Cache for Redis, které závisí na cloudových službách.
- Ověřování a autorizace Microsoft Entra se podporuje jenom pro připojení SSL.
- Některé příkazy Redis jsou blokované.
Oprávnění pro zásady přístupu k datům
Jak je uvedeno v seznamu řízení přístupu Redis, seznam ACL v Redis verze 6.0 umožňuje konfigurovat přístupová oprávnění pro tři oblasti:
Kategorie příkazů
Redis vytvořil seskupení příkazů, jako jsou příkazy pro správu, nebezpečné příkazy atd. kvůli snadnějšímu nastavení oprávnění pro skupinu příkazů.
- Slouží
+@commandcategory
k povolení kategorie příkazů. - Použití
-@commandcategory
k zakázání kategorie příkazů
Tyto příkazy jsou stále blokované. Následující skupiny jsou užitečné kategorie příkazů, které Redis podporuje. Další informace okategoriích
admin
- Příkazy pro správu Normální aplikace je nikdy nepotřebují používat, včetně
MONITOR
,SHUTDOWN
a dalších.
- Příkazy pro správu Normální aplikace je nikdy nepotřebují používat, včetně
dangerous
- Potenciálně nebezpečné příkazy. Každý by měl být považován za opatrně z různých důvodů, včetně
FLUSHALL
,RESTORE
SORT
,KEYS
, , ,CLIENT
,DEBUG
, ,INFO
,CONFIG
a dalších.
- Potenciálně nebezpečné příkazy. Každý by měl být považován za opatrně z různých důvodů, včetně
keyspace
- Zápis nebo čtení z klíčů, databází nebo jejich metadat způsobem, který je nezávislý na typu, včetně , , , ,
DBSIZE
TTL
KEYS
FLUSHALL
EXPIRE
EXISTS
RENAME
a dalších.DUMP
RESTORE
DEL
Příkazy, které mohou změnit prostor klíčů, klíč nebo metadata, mají také kategorii zápisu. Příkazy, které čtou jenom prostor klíčů, klíč nebo metadata, mají kategorii čtení.
- Zápis nebo čtení z klíčů, databází nebo jejich metadat způsobem, který je nezávislý na typu, včetně , , , ,
pubsub
- Příkazy související s pubSub.
read
- Čtení z klíčů, hodnot nebo metadat Příkazy, které nepracují s klíči, nemají ani čtení nebo zápis.
set
- Datový typ: sady související.
sortedset
- Datový typ: Seřazené sady související.
stream
- Datový typ: datové proudy související.
string
- Datový typ: řetězce související.
write
- Zápis do klíčů (hodnoty nebo metadata)
Příkazy
Příkazy umožňují určit, které konkrétní příkazy může spustit konkrétní uživatel Redis.
- Slouží
+command
k povolení příkazu. - Slouží
-command
k zakázání příkazu.
Klávesy
Klíče umožňují řídit přístup ke konkrétním klíčům nebo skupinám klíčů uložených v mezipaměti.
Slouží
~<pattern>
k zadání vzoru pro klíče.Použijte buď
~*
neboallkeys
k označení, že oprávnění kategorie příkazů platí pro všechny klíče v instanci mezipaměti.
Určení oprávnění
Pokud chcete zadat oprávnění, musíte vytvořit řetězec, který se uloží jako vlastní zásady přístupu, a pak tento řetězec přiřadit uživateli Azure Cache for Redis.
Následující seznam obsahuje některé příklady řetězců oprávnění pro různé scénáře.
Povolit aplikaci spouštět všechny příkazy na všech klíčích
Řetězec oprávnění:
+@all allkeys
Povolit aplikaci spouštět pouze příkazy pro čtení
Řetězec oprávnění:
+@read ~*
Povolit aplikaci spustit kategorii příkazu pro čtení a nastavit příkaz na klíčích s předponou
Az
.Řetězec oprávnění:
+@read +set ~Az*
Konfigurace vlastních zásad přístupu k datům pro vaši aplikaci
Na webu Azure Portal vyberte instanci Azure Cache for Redis, ve které chcete nakonfigurovat ověřování založené na tokenech Microsoft Entra.
V nabídce Prostředek vyberte konfiguraci přístupu k datům.
Vyberte Přidat a zvolte Nové zásady přístupu.
Zadejte název zásady přístupu.
Nakonfigurujte oprávnění podle vašich požadavků.
Pokud chcete přidat uživatele k zásadám přístupu pomocí ID Microsoft Entra, musíte nejprve povolit MICROSOFT Entra ID výběrem možnosti Ověřování z nabídky Prostředek.
Jako kartu v pracovním podokně vyberte Povolit ověřování Microsoft Entra.
Pokud ještě není zaškrtnuté, zaškrtněte políčko Povolit ověřování Microsoft Entra a vyberte OK. Potom vyberte Uložit.
Zobrazí se automaticky otevírané dialogové okno s dotazem, jestli chcete aktualizovat konfiguraci, a informuje vás, že to trvá několik minut. Vyberte Ano.
Důležité
Po dokončení operace povolení se uzly v instanci mezipaměti restartují, aby se načetla nová konfigurace. Tuto operaci doporučujeme provést během časového období údržby nebo mimo špičku pracovní doby. Operace může trvat až 30 minut.
Konfigurace klienta Redis tak, aby používal Microsoft Entra ID
Teď, když jste nakonfigurovali zásady přístupu uživatelů a dat Redis pro konfiguraci řízení přístupu na základě role, musíte aktualizovat pracovní postup klienta tak, aby podporoval ověřování pomocí konkrétního uživatele nebo hesla. Informace o tom, jak nakonfigurovat klientskou aplikaci pro připojení k instanci mezipaměti jako konkrétního uživatele Redis, najdete v tématu Konfigurace klienta Redis tak, aby používal Microsoft Entra.