DBAtlas · Veritabanı operasyon atlası

ACL kullanıcıları oluştur, yetkiyi test et ve kalıcı yap

RedisGüvenlik

Komut

# Uygulama kullanicisi: yalnizca app:* key'leri ve kanallari, tehlikeli komutlar haric:
ACL SETUSER app_rw on >S3cret-Change ~app:* resetchannels &app:* +@read +@write -@dangerous
# Izleme kullanicisi: key erisimi yok, yalnizca belirli komutlar:
ACL SETUSER monitor on >M0n-Secret resetkeys resetchannels -@all +info +ping +client|list +slowlog|get +latency +config|get
# Komutu calistirmadan yetkiyi test et:
ACL DRYRUN app_rw GET app:1001
ACL GETUSER app_rw
ACL LIST
# Kalici yap: aclfile tanimliysa ACL SAVE, degilse redis.conf'a CONFIG REWRITE
ACL SAVE

Ne yapar?

Key prefix'i, pub/sub kanalı ve komut kategorisi bazında yetkilendirilmiş uygulama ve izleme kullanıcıları oluşturur; DRYRUN ile bir komutun izinli olup olmadığını çalıştırmadan test eder ve ACL'leri diske yazar.

Ne zaman kullanılır?

Tek şifreli (requirepass) yapıdan kullanıcı bazlı erişime geçerken, uygulamaları birbirinin key'lerinden izole ederken veya izleme aracına salt okunur hesap açarken.

Dikkat

Kural sırası önemlidir: resetchannels kendisinden önce verilen &kanal kurallarını siler. -@dangerous KEYS, FLUSHALL, CONFIG, DEBUG gibi komutları da kapatır; uygulamanın kullandığı komutları DRYRUN ile doğrula. default kullanıcı nopass ve +@all ile açık kalırsa ACL'ler koruma sağlamaz; yönetici kullanıcıyı oluşturduktan sonra ACL SETUSER default off yap. redis-cli'de --user/--pass ile AUTH başarısız olursa bağlantı default kullanıcıyla devam eder ve komut yine çalışır; yetki testlerini bu yüzden DRYRUN ile yap.

DBAtlas'ta aç →

İlgili