I denne opplæringen vil vi utforske hvordan du bruker ACL -funksjoner i Redis for å forbedre sikkerheten til Redis -serveren.
Hvordan virker det?
Du starter med å definere brukere i ACL. Når en klient kobles til Redis CLI, må de autentisere ved hjelp av et brukernavn og passord som er spesifisert i tilgangskontrolllisten.
Etter vellykket autentisering knytter Redis den forbindelsen med brukeren og tildeler den definerte tillatelsen til den forbindelsen.
For eksempel, hvis en klient autentiserer med en bruker med bare tillatelse til visning, vil tilkoblingen arve den brukerens tillatelser.
Merk: ACL -funksjonen er bare tilgjengelig i Redis 6.0 og over.
Redis Auth Command
I den nyere versjonen av Redis bruker vi Auth -kommandoen etterfulgt av brukernavn og passord.
Hvis bare passordet leveres, vil Redis automatisk autentisere som standardbruker.
Redis konfigurer ACL
Redis kommer med en standardbruker, kalt standard i ACL. Du kan se dette ved hjelp av ACL -liste -kommandoen:
127.0.0.1: 6379> ACL -liste
1) "bruker misligholde på #5E884898DA28047151D0E56F8DC6292773603D0D6AABBDD62A11EF721D1542D8 ~* +@alle”
Utgangen fra ACL -listekommandoen følger et spesifikt mønster. La oss bryte det ned:
ACL -regler
Redis har en omfattende liste over ACL -regler du kan bruke. Først la oss imidlertid liste ned noen essensielle.
Redis konfigurerer ACL -brukere
For å legge til en bruker i ACL -listen, bruk ACL Setuser -kommandoen. Kommandoen tar brukernavnet og listen over regler for å gjelde for den spesifiserte brukeren.
Et eksempel er som vist nedenfor:
127.0.0.1: 6379> ACL Setuser Linuxhint
Ok
Kommandoen vil legge til en bruker med det spesifiserte brukernavnet.
Du kan sjekke brukerne i ACL -listen som:
127.0.0.1: 6379> ACL -liste
1) “Bruker standard på ~* +@alle”
2) “Bruker Linuxhint Off -@alle”
Merk at "Linuxhint" -brukeren er deaktivert som standard og kan utføre ingen kommandoer eller få tilgang til noen nøkler.
Redis vil opprette en ny bruker med minst mulig privilegier.
Vi kan kjøre kommandoen nedenfor for å aktivere brukeren og angi et passord.
127.0.0.1: 6379> ACL SetUser Linuxhint på> Passord
Ok
I kommandoen over aktiverer vi brukeren ved å angi verdien til på og legge til et passord som> passord.
For å legge til kommandoer til brukeren, kan vi gjøre:
127.0.0.1: 6379> ACL Setuser Linuxhint +Set | Get | Del
Ok
Dette bør legge til noen få kommandoer til Linuxhint -brukeren.
Brukeren har imidlertid ikke tilgang til noen nøkkel. Vi kan gjøre det mulig for brukeren å få tilgang til alle nøkler som vist i kommandoen nedenfor:
127.0.0.1: 6379> ACL Setuser Linuxhint ~*
Ok
Husk at brukernavnene er saksfølsomme.
Vi kan nå liste brukerne i ACL som:
1) “Bruker standard på ~* +@alle”
2) “Bruker linuxhint på ~* -@all +set | få | del”
Redis beskriver brukeren
For å få beskrivende informasjon om en ACL -bruker, kjør kommandoen ACL -getUser etterfulgt av målbrukernavnet.
127.0.0.1: 6379> ACL GetUser Linuxhint
1) "Flagg"
2) 1) “On”
2) “Allkeys”
3) “Passord”
4) 1) “5E884898DA28047151D0E56F8DC6292773603D0D6AABBDD62A11EF721D1542D8”
5) “Kommandoer”
6) “-@alle +sett | få | del”
7) “Keys”
8) 1) “*”
ACL genererer passord
Hvis du ikke vil generere et passord for brukeren din, kan du bruke ACL Genpass -kommandoen.
Et eksempel er som vist:
127.0.0.1: 6379> ACL GenpassKommandoen ovenfor bør returnere et tilfeldig passord -hasj.
Konklusjon
Dette var en destillert artikkel som beskrev Redis ACL -funksjonen. Vi dekket hvordan vi kan aktivere og bruke ACL i Redis, legge til brukere, angi ACL -regler osv.
Vi anbefaler på det sterkeste å sjekke dokumentasjonen for å lære mer.
Takk for at du leser, vi sees neste gang.