Configurare il controllo degli accessi in base al ruolo con i criteri di accesso ai dati
La gestione dell'accesso all'istanza della cache di Azure per Redis è fondamentale per garantire che gli utenti corretti abbiano accesso al set corretto di dati e comandi. In Redis versione 6 è stato introdotto l'elenco di controllo di accesso (ACL). L’elenco di controllo di accesso limita l'utente che può eseguire determinati comandi e le chiavi a cui un utente può accedere. Ad esempio, è possibile impedire a utenti specifici di eliminare chiavi nella cache usando il comando DEL.
La cache di Azure per Redis integra ora questa funzionalità ACL con Microsoft Entra ID per consentire di configurare i criteri di accesso ai dati per l'entità servizio e l'identità gestita dell'applicazione.
La cache di Azure per Redis offre tre criteri di accesso predefiniti: proprietario dati, collaboratore dati e lettore dati. Se i criteri di accesso predefiniti non soddisfano i requisiti di protezione e isolamento dei dati, è possibile creare e usare criteri di accesso ai dati personalizzati, come descritto in Configurare i criteri di accesso ai dati personalizzati.
Ambito della disponibilità
Livello | Basic, Standard, Premium | Enterprise, Enterprise Flash |
---|---|---|
Disponibilità | Sì | No |
Prerequisiti e limitazioni
- L’elenco di controllo di accesso Redis e criteri di accesso ai dati non sono supportati nelle istanze della cache di Azure per Redis che eseguono la versione 4 di Redis.
- L'autenticazione e l'autorizzazione di Microsoft Entra sono supportate solo per le connessioni SSL.
- Alcuni comandi Redis sono bloccati.
Autorizzazioni per i criteri di accesso ai dati
Come documentato in Elenco di controllo di accesso Redis, la versione 6.0 dell’elenco di controllo di accesso in Redis consente di configurare le autorizzazioni di accesso per tre aree:
Categorie di comandi
Redis ha creato raggruppamenti di comandi, ad esempio comandi amministrativi, comandi pericolosi e così via, per semplificare l'impostazione delle autorizzazioni per un gruppo di comandi.
- Usare
+@commandcategory
per consentire una categoria di comandi - Usare
-@commandcategory
per impedire una categoria di comandi
Questi comandi sono ancora bloccati. I gruppi seguenti sono categorie di comandi utili supportate da Redis. Per altre informazioni sulle categorie di comandi, vedere l'elenco completo sotto l'intestazione Categorie di comandi.
admin
- Comandi amministrativi. Le applicazioni normali non hanno mai bisogno di usarle, tra cui
MONITOR
,SHUTDOWN
e altre.
- Comandi amministrativi. Le applicazioni normali non hanno mai bisogno di usarle, tra cui
dangerous
- Comandi potenzialmente pericolosi. Ognuno di essi deve essere considerato per vari motivi, tra cui
FLUSHALL
,RESTORE
,SORT
,KEYS
,CLIENT
,DEBUG
,INFO
,CONFIG
e altri.
- Comandi potenzialmente pericolosi. Ognuno di essi deve essere considerato per vari motivi, tra cui
keyspace
- Scrittura o lettura da chiavi, database o relativi metadati in modo indipendente dai tipi, tra cui
DEL
,RESTORE
,DUMP
,RENAME
,EXISTS
,DBSIZE
,KEYS
,EXPIRE
,TTL
,FLUSHALL
e altro ancora. I comandi che possono modificare il keyspace, la chiave o i metadati hanno anche la categoria di scrittura. I comandi che leggono solo il keyspace, la chiave o i metadati hanno la categoria di lettura.
- Scrittura o lettura da chiavi, database o relativi metadati in modo indipendente dai tipi, tra cui
pubsub
- Comandi correlati a PubSub.
read
- Lettura da chiavi, valori o metadati. I comandi che non interagiscono con le chiavi, non dispongono di operazioni di lettura o scrittura.
set
- Tipo di dati: set correlati.
sortedset
- Tipo di dati: set ordinati correlati.
stream
- Tipo di dati: flussi correlati.
string
- Tipo di dati: stringhe correlate.
write
- Scrittura in chiavi (valori o metadati).
Comandi
I comandi consentono di controllare quali comandi specifici possono essere eseguiti da un determinato utente Redis.
- Usare
+command
per consentire un comando. - Usare
-command
per impedire un comando.
Chiavi
Le chiavi consentono di controllare l'accesso a chiavi o gruppi specifici di chiavi archiviate nella cache.
Usare
~<pattern>
per fornire un modello per le chiavi.Usare
~*
oallkeys
per indicare che le autorizzazioni della categoria di comandi si applicano a tutte le chiavi nell'istanza della cache.
Come specificare le autorizzazioni
Per specificare le autorizzazioni, è necessario creare una stringa da salvare come criterio di accesso personalizzato, quindi assegnare la stringa all'utente della cache di Azure per Redis.
L'elenco seguente contiene alcuni esempi di stringhe di autorizzazione per diversi scenari.
Consentire all'applicazione di eseguire tutti i comandi in tutte le chiavi
Stringa di autorizzazioni:
+@all allkeys
Consentire all'applicazione di eseguire solo comandi di lettura
Stringa di autorizzazioni:
+@read ~*
Consentire all'applicazione di eseguire lettura categoria di comandi e impostare il comando sulle chiavi con prefisso
Az
.Stringa di autorizzazioni:
+@read +set ~Az*
Configurare un criterio di accesso ai dati personalizzato per l'applicazione
Nel portale di Azure selezionare l'istanza della cache di Azure per Redis in cui si vuole configurare l'autenticazione basata su token di Microsoft Entra.
Dal menu Risorsa selezionare Configurazione accesso ai dati.
Selezionare Aggiungi e scegliere Nuovo criterio di accesso.
Specificare un nome per i criteri di accesso.
Configurare le autorizzazioni in base alle esigenze.
Per aggiungere un utente ai criteri di accesso usando Microsoft Entra ID, è prima necessario abilitare Microsoft Entra ID selezionando Autenticazione dal menu Risorsa.
Selezionare Abilita autenticazione di Microsoft Entra come scheda nel riquadro di lavoro.
Se non è già selezionata, selezionare la casella con etichetta Abilita autenticazione di Microsoft Entra e selezionare OK. Selezionare quindi Salva.
Viene visualizzata una finestra di dialogo popup in cui viene chiesto se si vuole aggiornare la configurazione e viene segnalato che l'operazione richiede qualche minuto. Selezionare Sì.
Importante
Al termine dell'operazione di abilitazione, i nodi nell'istanza della cache vengono riavviati per caricare la nuova configurazione. È consigliabile eseguire questa operazione durante la finestra di manutenzione o al di fuori dell'orario di ufficio di punta. L'operazione può richiedere fino a 30 minuti.
Configurare il client Redis per l'uso di Microsoft Entra ID
Dopo aver configurato i criteri di accesso utente e dati di Redis per la configurazione del controllo degli accessi in base al ruolo, è necessario aggiornare il flusso di lavoro client per supportare l'autenticazione usando un utente/password specifici. Per informazioni su come configurare l'applicazione client per connettersi all'istanza della cache come utente Redis specifico, vedere Configurare il client Redis per l'uso di Microsoft Entra.