Veri Erişim İlkesi ile rol tabanlı erişim denetimini yapılandırma
doğru kullanıcıların doğru veri ve komut kümesine erişimi olduğundan emin olmak için Redis için Azure Cache örneğine erişimi yönetmek kritik önem taşır. Redis sürüm 6'da Erişim Denetim Listesi (ACL) kullanıma sunulmuştur. ACL, hangi kullanıcının belirli komutları yürütebileceğini ve kullanıcının erişebileceği anahtarları sınırlar. Örneğin, DEL komutunu kullanarak belirli kullanıcıların önbellekteki anahtarları silmesini yasaklayabilirsiniz.
Redis için Azure Cache artık bu ACL işlevini Microsoft Entra Id ile tümleştirerek uygulamanızın hizmet sorumlusu ve yönetilen kimliği için Veri Erişim İlkelerinizi yapılandırmanıza olanak sağlıyor.
Redis için Azure Cache üç yerleşik erişim ilkesi sunar: Veri Sahibi, Veri Katkıda Bulunanı ve Veri Okuyucusu. Yerleşik erişim ilkeleri veri koruma ve yalıtım gereksinimlerinizi karşılamıyorsa, Özel veri erişim ilkesini yapılandırma bölümünde açıklandığı gibi kendi özel veri erişim ilkenizi oluşturabilir ve kullanabilirsiniz.
Kullanılabilirlik kapsamı
Katmanı | Temel, Standart, Premium | Enterprise, Enterprise Flash |
---|---|---|
Kullanılabilirlik | Yes | Hayır |
Ön koşullar ve sınırlamalar
- Redis ACL ve Veri Erişim İlkeleri, Redis sürüm 4 çalıştıran Redis için Azure Cache örneklerde desteklenmez.
- Redis ACL ve Veri Erişim İlkeleri, Cloud Services'e bağımlı Redis için Azure Cache örneklerde desteklenmez.
- Microsoft Entra kimlik doğrulaması ve yetkilendirmesi yalnızca SSL bağlantıları için desteklenir.
- Bazı Redis komutları engellenir.
Veri erişim ilkeniz için izinler
Redis Erişim Denetim Listesi'nde belirtildiği gibi Redis sürüm 6.0'daki ACL, üç alan için erişim izinlerinin yapılandırılmasına olanak tanır:
Komut kategorileri
Redis, bir komut grubu üzerinde izinleri ayarlamayı kolaylaştırmak için yönetim komutları, tehlikeli komutlar vb. komutlardan oluşan gruplandırmalar oluşturmuştur.
- Komut kategorisine izin vermek için kullanın
+@commandcategory
- Komut kategorisine izin vermek için kullanma
-@commandcategory
Bu komutlar hala engellenir. Aşağıdaki gruplar Redis'in desteklediği yararlı komut kategorileridir. Komut kategorileri hakkında daha fazla bilgi için, Komut Kategorileri başlığının altındaki tam listeye bakın.
admin
- Yönetim komutları. Normal uygulamaların, ve diğerleri dahil olmak üzere
MONITOR
SHUTDOWN
bunları kullanması gerekmez.
- Yönetim komutları. Normal uygulamaların, ve diğerleri dahil olmak üzere
dangerous
- Potansiyel olarak tehlikeli komutlar. Her birinin, , , , ,
SORT
CLIENT
KEYS
,CONFIG
DEBUG
INFO
ve diğerleri gibiFLUSHALL
çeşitli nedenlerle dikkatli bir şekilde dikkate alınması gerekir.RESTORE
- Potansiyel olarak tehlikeli komutlar. Her birinin, , , , ,
keyspace
- Anahtarlardan, veritabanlarından veya meta verilerinden , , , ,
DBSIZE
EXPIRE
FLUSHALL
KEYS
EXISTS
RENAME
TTL
ve daha fazlası gibiDEL
belirsiz bir şekilde yazma veya okuma.DUMP
RESTORE
Anahtar alanını, anahtarı veya meta verileri değiştirebilen komutlar da yazma kategorisine sahiptir. Yalnızca anahtar alanını, anahtarı veya meta verileri okuyan komutlar okuma kategorisine sahiptir.
- Anahtarlardan, veritabanlarından veya meta verilerinden , , , ,
pubsub
- PubSub ile ilgili komutlar.
read
- Anahtarlardan, değerlerden veya meta verilerden okuma. Anahtarlarla etkileşimde bulunmayan, okuma veya yazma olmayan komutlar.
set
- Veri türü: ilgili kümeleri.
sortedset
- Veri türü: ilişkili sıralanmış kümeler.
stream
- Veri türü: akışlarla ilgili.
string
- Veri türü: ilgili dizeler.
write
- Anahtarlara yazma (değerler veya meta veriler).
Komutlar
Komutlar , belirli bir Redis kullanıcısı tarafından hangi komutların çalıştırılabileceğini denetlemenizi sağlar.
- Bir komuta izin vermek için kullanın
+command
. - Bir komuta izin vermek için kullanın
-command
.
Anahtarlar
Anahtarlar, önbellekte depolanan belirli anahtarlara veya anahtar gruplarına erişimi denetlemenize olanak sağlar.
Anahtarlar için bir desen sağlamak için kullanın
~<pattern>
.~*
Komut kategorisi izinlerinin önbellek örneğindeki tüm anahtarlar için geçerli olduğunu belirtmek için veyaallkeys
kullanın.
İzinleri belirtme
İzinleri belirtmek için, özel erişim ilkeniz olarak kaydetmek üzere bir dize oluşturmanız ve ardından dizeyi Redis için Azure Cache kullanıcınıza atamanız gerekir.
Aşağıdaki listede çeşitli senaryolar için izin dizelerinin bazı örnekleri yer alır.
Uygulamanın tüm anahtarlarda tüm komutları yürütmesine izin ver
İzin dizesi:
+@all allkeys
Uygulamanın yalnızca okuma komutlarını yürütmesine izin ver
İzin dizesi:
+@read ~*
Uygulamanın okuma komut kategorisini yürütmesine ve ön ekine
Az
sahip anahtarlarda komut ayarlamasına izin ver.İzin dizesi:
+@read +set ~Az*
Uygulamanız için özel veri erişim ilkesi yapılandırma
Azure portalında Microsoft Entra belirteci tabanlı kimlik doğrulamasını yapılandırmak istediğiniz Redis için Azure Cache örneğini seçin.
Kaynak menüsünden Veri Erişimi yapılandırması'nı seçin.
Ekle'yi seçin ve Yeni Erişim İlkesi'ni seçin.
Erişim ilkeniz için bir ad belirtin.
İzinleri gereksinimlerinize göre yapılandırın.
Microsoft Entra Id kullanarak erişim ilkesine kullanıcı eklemek için önce Kaynak menüsünden Kimlik Doğrulaması'nı seçerek Microsoft Entra Id'yi etkinleştirmeniz gerekir.
Çalışma bölmesinde sekme olarak Microsoft Entra Kimlik Doğrulamasını Etkinleştir'i seçin.
Henüz işaretlenmemişse, Microsoft Entra Kimlik Doğrulamasını Etkinleştir etiketli kutuyu işaretleyin ve Tamam'ı seçin. Ardından Kaydet’i seçin.
Yapılandırmanızı güncelleştirmek isteyip istemediğinizi soran ve bunun birkaç dakika sürdüğünü bildiren bir açılır iletişim kutusu görüntülenir. Evet'i seçin.
Önemli
Etkinleştirme işlemi tamamlandıktan sonra önbellek örneğinizdeki düğümler yeni yapılandırmayı yüklemek için yeniden başlatılır. Bu işlemi bakım pencereniz sırasında veya yoğun iş saatlerinizin dışında gerçekleştirmenizi öneririz. İşlem 30 dakikaya kadar sürebilir.
Redis istemcinizi Microsoft Entra Id kullanacak şekilde yapılandırma
Rol tabanlı erişim denetimini yapılandırmak için Redis Kullanıcı ve Veri erişim ilkesini yapılandırdığınıza göre, istemci iş akışınızı belirli bir kullanıcı/parola kullanarak kimlik doğrulamayı destekleyecek şekilde güncelleştirmeniz gerekir. İstemci uygulamanızı belirli bir Redis Kullanıcısı olarak önbellek örneğinize bağlanacak şekilde yapılandırmayı öğrenmek için bkz . Redis istemcinizi Microsoft Entra kullanacak şekilde yapılandırma.