Godkendelse og autorisation
Konfigurer Redis-adgangskoder, ACL'er og brugeradministration for at kontrollere adgangen til Deres Redis-instanser.
Godkendelse og autorisation er en gratis Redis-caching og meddelelser (Pub/Sub, Streams)-lektion på CoddyKit. Dette er lektion 1 af 4. Du kan læse alle 3 lektioner i dette læringsspor gratis i deres fulde længde — derefter låser CoddyKit PRO alle lektioner op samt praktiske øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. Den er en del af læringsforløbet i Redis-caching og meddelelser (Pub/Sub, Streams), og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Redis-caching og meddelelser (Pub/Sub, Streams)-kurset indeholder 4 lektioner i alt.
Hvorfor skal du sikre Redis?
Redis er superhurtig og indeholder ofte følsomme data. Uden ordentlig sikkerhed kan dine data blive eksponeret eller ændret af uautoriserede brugere. Ligesom dit hus har din database brug for låse!
I denne lektion lærer du, hvordan du konfigurerer grundlæggende godkendelse med adgangskoder og avanceret autorisation ved hjælp af Access Control Lists (ACL'er) for at beskytte dine Redis-instanser.
Grundlæggende adgangskodebeskyttelse
Den enkleste måde at sikre Redis på er at bruge direktivet requirepass i din redis.conf-fil. Det angiver en global adgangskode, som klienter skal angive for at udføre enhver kommando.
Det svarer til én hovednøgle, som alle bruger.
requirepass your_strong_password_hereLog ind med AUTH
Når requirepass er angivet, skal klienter, der opretter forbindelse til Redis, godkende sig ved hjælp af kommandoen AUTH. Hvis adgangskoden er forkert, mislykkes de fleste kommandoer.
Sådan opretter du forbindelse via redis-cli og godkender dig:
redis-cli
127.0.0.1:6379> AUTH your_strong_password_here
OK
127.0.0.1:6379> SET mykey "hello"
OK
127.0.0.1:6379> GET mykey
"hello"Ulempen ved en global adgangskode
Selvom requirepass er nem at konfigurere, har den en væsentlig begrænsning: Det er én adgangskode for alle og alt. Alle godkendte klienter har fuld adgang til alle kommandoer og data.
- Ingen specifikke brugerkonti.
- Ingen detaljerede tilladelser (f.eks. skrivebeskyttet adgang for nogle brugere).
- Svært at administrere i komplekse applikationer.
Her er Redis Access Control Lists (ACL'er) nyttige!
Detaljeret adgang med ACL'er
Redis ACL'er (Access Control Lists) giver dig mulighed for at definere flere brugere, hver med sin egen adgangskode og et bestemt sæt tilladelser. Det giver langt bedre kontrol over, hvem der kan gøre hvad.
Du kan styre:
- Hvilke kommandoer en bruger kan udføre.
- Hvilke nøgler en bruger kan få adgang til.
Det svarer til at have forskellige nøgler til forskellige rum i dit hus.
Oprette og konfigurere brugere
Du administrerer ACL'er direkte gennem Redis-kommandoer, enten i redis-cli eller programmatisk. Kommandoen ACL SETUSER er central, når du definerer brugere og deres egenskaber.
Lad os oprette en ny bruger med navnet app_user og en adgangskode. Tegnet > før adgangskoden angiver, at den er en adgangskode.
ACL SETUSER app_user ON >some_secret_password
ACL SETUSER another_user ON >another_secret_pass_123
ACL LIST
user default on #... (default user)
user app_user on #... (our new user)Styring af kommandoer
Med ACL'er kan du angive præcis, hvilke kommandoer en bruger må køre. Tilladelser gives ofte i kategorier (f.eks. @all, @read, @write) eller som specifikke kommandonavne.
+@read: Giver alle skrivebeskyttede kommandoer.-@admin: Fjerner alle administrative kommandoer.+SET: Giver kun adgang til kommandoen SET.
Her er et eksempel for vores app_user, hvor brugeren får læse- og skrivetilladelser, men nægtes administrative kommandoer:
ACL SETUSER app_user +@read +@write -@admin
ACL SETUSER metrics_user ON >metrics_pass +INFO +MONITOR
ACL CAT @admin
# ... lists admin commandsAdgang på nøgleniveau
Ud over kommandoer giver ACL'er dig mulighed for at begrænse adgangen til bestemte nøgler eller nøglemønstre. Det er særdeles nyttigt i applikationer med flere lejere eller i mikrotjenester.
~mykey: Adgang kun til nøglen 'mykey'.~data:*: Adgang til alle nøgler, der begynder med 'data:'.~*: Adgang til alle nøgler (brug med forsigtighed!).
Lad os begrænse app_user, så brugeren kun har adgang til nøgler, der begynder med user_data::
ACL SETUSER app_user ON >some_secret_password +@read +@write ~user_data:*
ACL SETUSER readonly_user ON >read_only_pass +@read ~cache:*Sikre ACL-vaner
Følg disse bedste fremgangsmåder for at opnå maksimal sikkerhed med ACL'er:
- Princippet om mindst mulige privilegier: Giv kun de nødvendige tilladelser. Undgå
+@all, hvis det ikke er strengt nødvendigt. - Stærke adgangskoder: Brug unikke og komplekse adgangskoder for hver bruger. Skift dem regelmæssigt.
- Deaktivér standardbrugeren: Hvis den ikke bruges, skal du deaktivere brugeren
defaulteller give den en stærk adgangskode og minimale tilladelser. - Foretag regelmæssig kontrol: Gennemgå jævnligt dine ACL-konfigurationer ved hjælp af
ACL LIST.
Test din viden om ACL'er
Forestil dig en Redis-instans, hvor du vil have en bruger med navnet report_viewer til at:
- Kun læse data.
- Kun få adgang til nøgler, der begynder med
reports:. - Have adgangskoden
ViewerPass!.
Hvilken af følgende kommandoer konfigurerer denne bruger korrekt?
Opsummering: Beskyt din Redis!
Godt gået! Du har lært, hvordan du sikrer dine Redis-instanser:
requirepass: Giver enkel, global adgangskodebeskyttelse.AUTH: Kommandoen, som klienter bruger til at godkende sig.- ACL'er: Giver avanceret og detaljeret kontrol over brugere, kommandoer og bestemte nøgler.
ACL SETUSER: Den primære kommando til at oprette og ændre brugere samt angive deres tilladelser.- Bedste fremgangsmåder: Følg altid princippet om mindst mulige privilegier, brug stærke adgangskoder, og kontrollér dine konfigurationer.
Det er afgørende at beskytte dine data, og Redis giver dig effektive værktøjer til netop det!
Lær Redis-caching og meddelelser (Pub/Sub, Streams) med en AI-underviser — gratis
Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.
- Kurser
- 12
- Lektioner
- 48
Ofte stillede spørgsmål
Er lektionen “Godkendelse og autorisation” gratis?
Ja — alle 3 lektioner i læringssporet Redis-caching og meddelelser (Pub/Sub, Streams), inklusive “Godkendelse og autorisation”, kan læses gratis i deres fulde længde her på webstedet. Derefter låser CoddyKit PRO alle lektioner op samt interaktive øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. Redis-caching og meddelelser (Pub/Sub, Streams)-kurset indeholder 4 lektioner i alt.
Hvad lærer jeg i “Godkendelse og autorisation”?
Konfigurer Redis-adgangskoder, ACL'er og brugeradministration for at kontrollere adgangen til Deres Redis-instanser. Du øver dig i Redis-caching og meddelelser (Pub/Sub, Streams) med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.
Skal jeg have erfaring for at begynde på Redis-caching og meddelelser (Pub/Sub, Streams)?
Der kræves ingen tidligere erfaring. Redis-caching og meddelelser (Pub/Sub, Streams) på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 1 af 4.
Hvor lang tid tager lektionen “Godkendelse og autorisation”?
De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.
Kan jeg skrive og køre kode i denne Redis-caching og meddelelser (Pub/Sub, Streams)-lektion?
Ja. Alle Redis-caching og meddelelser (Pub/Sub, Streams)-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.
Alle lektioner i dette kursus
- Godkendelse og autorisation
- Netværkssikkerhed for Redis
- Bedste praksis for drift
- Kryptering under transport med TLS