Oracle'da Şema düzeyinde ayrıcalıkların yokluğunu nasıl ele alıyorsunuz? Oracle'ın güvenlik mimarisi, yalnızca nesne düzeyinde ayrıcalıklara ihtiyaç duyan uygulamalar için iyi çalışır ve az kısıtlamaya ihtiyaç duyan DBA'lar için iyi çalışır. Bununla birlikte, bir ön uç uygulaması ve çoklu şemada PL / SQL ile geliştirme yapan programcılar için mimaride büyük bir boşluk var gibi görünüyor. İşte benim dezavantajları ile bazı seçeneklerim:
Her programcının kendi şemasında geliştirme yapmasını sağlayın. DBA, ihtiyaç duyan programcılara nesne düzeyinde ayrıcalıklar tanıyacaktır. Herhangi bir paket geliştirme bir DBA tarafından yapılmalıdır. En büyük dezavantajı, programcıların veritabanını, veritabanı performansına zarar vermek için bir bit grubu gibi kullanmasıdır. Programcıların veritabanında gelişmesini istiyorum, ancak bu yöntem büyük ölçüde cesaret kırıcı olacaktır.
Her programcıya, geliştirmeleri gereken düzinelerce şema için kullanıcı adı / şifre verin. Bu uygulama şemasına prosedürler, tablolar vb. Oluşturmak için izin verin. Bu yaklaşımla ilgili bazı dezavantajlar, programcıların birden fazla oturum açması ve nadiren kendileri olarak giriş yaptılar. Çapraz şema geliştirme de zordur.
Programcılara, geliştirmeleri gereken her şema için proxy kimlik doğrulama ayrıcalıkları verin. Bu, proxy ayrıcalığı dışındaki ayrıcalıkları vermek zorunda kalmadan kendilerinin oturum açmasını sağlar. Dezavantajları arasında, proxy'leri her şema için ayrı bağlantı sağlamak zorunda olan programcılar, bağlantıların sürekli olarak değişmesi gerektiğinden çapraz şema geliştirme daha zahmetlidir ve geçiş kimlik doğrulamasıyla ortak veritabanı bağlantıları kullanan paketler proxy bağlantıları içinde derlenmez.
Her programcıya DBA ayrıcalıkları verin. - Buradaki dezavantaj güvenlik. Hiçbir şema programcısı herhangi bir şemadan uzak tutulamaz ve herhangi bir programcı başka bir programcıyı (DBA) taklit edebilir.
Her programcıya SELECT / INSERT / CREATE / etc'yi vermek için eksik bir seçenek var gibi görünüyor. geliştirmeleri gereken şema üzerinde ayrıcalıklar. Bir bağlantı kullanarak işlerini yapmak için kendileri olarak giriş yapıyorlar. Şemadaki erişime sahip oldukları yeni nesneler hemen kullanılabilir.
Bir şey mi kaçırıyorum? PL / SQL geliştirme yapan uygulama programcılarını nasıl ele alırsınız?