DB2 - Veritabanı Güvenliği

Bu bölümde veritabanı güvenliği açıklanmaktadır.

Giriş

DB2 veritabanı ve işlevleri, iki farklı güvenlik denetimi modu tarafından yönetilebilir:

  1. Authentication
  2. Authorization

Doğrulama

Kimlik doğrulama, bir kullanıcının yalnızca gerçekleştirme yetkisine sahip olduğu etkinlikleri gerçekleştirme haklarına uygun olarak oturum açtığını doğrulama sürecidir. Kullanıcı kimlik doğrulaması, işletim sistemi düzeyinde veya veritabanı düzeyinde gerçekleştirilebilir. Retina ve figür baskıları gibi biyometri için kimlik doğrulama araçları kullanılarak, veri tabanını bilgisayar korsanlarından veya kötü niyetli kullanıcılardan korumak için kullanılmaktadır.

Veritabanı güvenliği, db2 veritabanı sisteminin dışından yönetilebilir. İşte bazı güvenlik kimlik doğrulama süreci türleri:

  • İşletim Sistemi kimlik doğrulamalarına dayanmaktadır.
  • Hafif Dizin Erişim Protokolü (LDAP)

DB2 için güvenlik hizmeti, ayrı bir ürün olarak işletim sisteminin bir parçasıdır. Kimlik Doğrulama için, kullanıcı kimliği veya kullanıcı adı ve şifre olmak üzere iki farklı kimlik bilgisi gerektirir.

yetki

DB2 Veritabanı yöneticisi tarafından yönetilen DB2 veritabanı sistemi içinden DB2 Veritabanına ve işlevlerine erişebilirsiniz. Yetkilendirme, DB2 Veritabanı yöneticisi tarafından yönetilen bir süreçtir. Yönetici, geçerli kimliği doğrulanmış kullanıcı hakkında, kullanıcının gerçekleştirebileceği veya erişebileceği veritabanı işlemini gösteren bilgileri elde eder.

Yetkilendirme için kullanılabilen farklı izin yolları şunlardır:

Primary permission: Yetkilendirme kimliğini doğrudan verir.

Secondary permission: Kullanıcı üye ise gruplara ve rollere verir

Public permission: Tüm kullanıcılara herkese açık olarak verilir.

Context-sensitive permission: Güvenilir bağlam rolüne verir.

Kullanıcılara aşağıdaki kategorilere göre yetki verilebilir:

  • Sistem düzeyinde yetkilendirme
  • Sistem yöneticisi [SYSADM]
  • Sistem Kontrolü [SYSCTRL]
  • Sistem bakımı [SYSMAINT]
  • Sistem monitörü [SYSMON]

Yetkililer, örnek düzeyinde işlevsellik üzerinde denetim sağlar. Yetki, bakım ve yetki işlemlerini kontrol etmek için gruba ayrıcalıklar sağlar. Örneğin, veritabanı ve veritabanı nesneleri.

  • Veritabanı düzeyinde yetkilendirme
  • Güvenlik Yöneticisi [SECADM]
  • Veritabanı Yöneticisi [DBADM]
  • Erişim Kontrolü [ACCESSCTRL]
  • Veri erişimi [DATAACCESS]
  • SQL yöneticisi. [SQLADM]
  • İş yükü yönetimi yöneticisi [WLMADM]
  • Açıklayın [EXPLAIN]

Yetkililer veri tabanı içinde kontroller sağlar. Veritabanı için diğer yetkiler arasında LDAD ve CONNECT yer alır.

  • Object-Level Authorization: Nesne Düzeyinde yetkilendirme, bir nesne üzerinde bir işlem gerçekleştirildiğinde ayrıcalıkların doğrulanmasını içerir.
  • Content-based Authorization: Kullanıcı, Etiket tabanlı erişim Kontrolünü [LBAC] kullanarak belirli bir tablodaki ayrı satır ve sütunlara okuma ve yazma erişimine sahip olabilir.

DB2 tabloları ve yapılandırma dosyaları, yetkilendirme adlarıyla ilişkili izinleri kaydetmek için kullanılır. Bir kullanıcı verilere erişmeye çalıştığında, kaydedilen izinler aşağıdaki izinleri doğrular:

  • Kullanıcının yetkilendirme adı
  • Hangi grup kullanıcıya ait
  • Hangi rollerin doğrudan kullanıcıya veya dolaylı olarak bir gruba verildiği
  • Güvenilir bir bağlam aracılığıyla alınan izinler.

SQL deyimleriyle çalışırken, DB2 yetkilendirme modeli aşağıdaki izinlerin birleşimini dikkate alır:

  • SQL ifadeleriyle ilişkili birincil yetkilendirme kimliğine verilen izinler.
  • SQL ifadeleriyle ilişkili ikincil yetkilendirme kimlikleri.
  • PUBLIC'e verildi
  • Güvenilir bağlam rolüne verildi.

Örnek düzeyi yetkilileri

Örnekle ilgili bazı otoriteleri tartışalım.

Sistem yönetim yetkisi (SYSADM)

Örnek düzeyindeki en üst düzey idari otoritedir. SYSADM yetkisine sahip kullanıcılar, örnek içinde bazı veritabanlarını ve veritabanı yöneticisi komutlarını çalıştırabilir. SYSADM yetkisine sahip kullanıcılar aşağıdaki işlemleri gerçekleştirebilir:

  • Veritabanını Yükseltme
  • Veritabanını Geri Yükleme
  • Veritabanı yöneticisi yapılandırma dosyasını güncelleyin.

Sistem kontrol yetkisi (SYSCTRL)

Sistem kontrol yetkisindeki en üst seviyedir. Veritabanı yöneticisi örneği ve veritabanlarına karşı bakım ve yardımcı program işlemlerinin gerçekleştirilmesini sağlar. Bu işlemler sistem kaynaklarını etkileyebilir, ancak veritabanındaki verilere doğrudan erişime izin vermezler.

SYSCTRL yetkisine sahip kullanıcılar aşağıdaki eylemleri gerçekleştirebilir:

  • Veritabanı, Düğüm veya Dağıtılmış Bağlantı Hizmeti (DCS) dizinini güncelleme
  • Kullanıcıları sistem düzeyinden zorlama
  • Veritabanı düzeyinde oluşturma veya bırakma
  • Tablo alanı oluşturma, değiştirme veya bırakma
  • Herhangi bir masa alanını kullanma
  • Veritabanını Geri Yükleme

Sistem bakım yetkilisi (SYSMAINT)

İkinci düzey sistem kontrol yetkisidir. Veritabanı yöneticisi örneği ve veritabanlarına karşı bakım ve yardımcı program işlemlerinin gerçekleştirilmesini sağlar. Bu işlemler, veritabanındaki verilere doğrudan erişime izin vermeden sistem kaynaklarını etkiler. Bu yetki, kullanıcıların hassas verileri içeren bir veritabanı yöneticisi örneğindeki veritabanlarını tutması için tasarlanmıştır.

Yalnızca SYSMAINT veya daha üst düzey sistem yetkilerine sahip kullanıcılar aşağıdaki görevleri gerçekleştirebilir:

  • Yedek almak
  • Yedeği geri yükleme
  • Kurtarma işlemini ileri sarın
  • Örneği başlatma veya durdurma
  • Tablo alanlarını geri yükleme
  • Db2trc komutunun yürütülmesi
  • Örnek düzeyinde bir kullanıcı veya veritabanı düzeyinde bir kullanıcı olması durumunda sistem monitörü anlık görüntülerini alma.

SYSMAINT'e sahip bir kullanıcı aşağıdaki görevleri gerçekleştirebilir:

  • Bir tablo alanının durumunu sorgulayın
  • Günlük geçmişi dosyalarını güncelleme
  • Tabloların yeniden düzenlenmesi
  • RUNSTATS'ı kullanma (Koleksiyon kataloğu istatistikleri)

Sistem izleme yetkisi (SYSMON)

Bu yetki ile kullanıcı, veritabanı yöneticisi örneğinin veya veritabanının anlık görüntülerini izleyebilir veya alabilir. SYSMON yetkisi, kullanıcının aşağıdaki görevleri çalıştırmasını sağlar:

  • VERİTABANI YÖNETİCİSİ MONİTÖR ANAHTARLARINI EDİNİN
  • MONİTÖR ANAHTARLARINI ALIN
  • SNAPSHOT'U EDİN
  • LİSTE
    • AKTİF VERİTABANLARINI LİSTELE
    • LİSTE UYGULAMALARI
    • LİSTE VERİTABANI BÖLÜM GRUPLARI
    • DCS UYGULAMALARINI LİSTELE
    • LİSTE PAKETLERİ
    • LİSTE TABLOLARI
    • LİSTE TABLOSU KONTEYNERLERİ
    • LİSTE TABLOLARI
    • HİZMETLER LİSTESİ
  • MONİTÖRÜ SIFIRLA
  • MONİTÖR ANAHTARLARINI GÜNCELLE

Veritabanı yetkilileri

Her veritabanı yetkilisi, veritabanı üzerinde bazı eylemler gerçekleştirmek için yetkilendirme kimliğini tutar. Bu veritabanı yetkileri ayrıcalıklardan farklıdır. İşte bazı veritabanı yetkililerinin listesi:

ACCESSCTRL: tüm nesne ayrıcalıklarını ve veritabanı yetkilerini vermeyi ve iptal etmeyi sağlar.

BINDADD: Veritabanında yeni bir paket oluşturmaya izin verir.

CONNECT: Veritabanına bağlanmaya izin verir.

CREATETAB: Veritabanında yeni tablolar oluşturmaya izin verir.

CREATE_EXTERNAL_ROUTINE: Uygulamalar ve veri tabanlarının kullanıcıları tarafından kullanılacak bir prosedür oluşturmaya izin verir.

DATAACCESS: Veritabanı tablolarında depolanan verilere erişim sağlar.

DBADM: Veritabanı yöneticisi olarak hareket edin. ACCESSCTRL, DATAACCESS ve SECADM dışındaki diğer tüm veritabanı yetkilerini verir.

EXPLAIN: Tablolardaki verilere erişim yetkilerine sahip olmalarını gerektirmeden sorgu planlarını açıklamaya izin verir.

IMPLICIT_SCHEMA: Kullanıcının bir CREATE deyimi kullanarak bir nesne oluşturarak örtük olarak bir şema oluşturmasına izin verir.

LOAD: Tabloya veri yüklemeye izin verir.

QUIESCE_CONNECT: Veritabanına sessizken erişilmesine izin verir (geçici olarak devre dışı bırakılır).

SECADM: Veritabanı için bir güvenlik yöneticisi olarak hareket etmesine izin verir.

SQLADM: SQL ifadelerinin izlenmesine ve ayarlanmasına izin verir.

WLMADM: Bir iş yükü yöneticisi olarak hareket etmesine izin verir

Ayrıcalıklar

SETSESSIONUSER

Yetkilendirme kimliği ayrıcalıkları, yetkilendirme kimlikleriyle ilgili işlemleri içerir. SETSESSIONUSER ayrıcalığı adı verilen tek bir ayrıcalık vardır. Kullanıcıya veya bir gruba verilebilir ve oturum kullanıcısının, yetkilerin verildiği herhangi bir yetkilendirme kimliğine kimlik değiştirmesine izin verir. Bu ayrıcalık, SECADM kullanıcı yetkisi tarafından verilir.

Şema ayrıcalıkları

Bu ayrıcalıklar, veritabanındaki şema üzerindeki eylemleri içerir. Şema sahibi, tablolar, görünümler, dizinler, paketler, veri türleri, işlevler, tetikleyiciler, prosedürler ve takma adlar gibi şema nesnelerini işlemek için tüm izinlere sahiptir. Bir kullanıcıya, bir gruba, bir role veya PUBLIC'e aşağıdaki ayrıcalıklara sahip herhangi bir kullanıcı verilebilir:

  • CREATEIN: şema içinde nesneler oluşturmaya izin verir
  • ALTERIN: şema içindeki nesneleri değiştirmeye izin verir.

DROPIN

Bu, şema içindeki nesnelerin silinmesine izin verir.

Tablo alanı ayrıcalıkları

Bu ayrıcalıklar, veritabanındaki tablo alanlarındaki eylemleri içerir. Kullanıcıya tablo alanları için KULLANIM ayrıcalığı verilebilir. Ayrıcalıklar daha sonra tablo alanları içinde tablolar oluşturmalarına izin verir. Ayrıcalık sahibi, tablo alanı oluşturulduğunda tablo alanında WITH GRANT OPTION komutu ile KULLANIM ayrıcalığını verebilir. SECADM veya ACCESSCTRL yetkilileri, tablo alanında ayrıcalıkları KULLANMA izinlerine sahiptir.

Tablo ve görünüm ayrıcalıkları

Kullanıcının tablo kullanabilmesi ve ayrıcalıklarını görüntüleyebilmesi için veritabanında CONNECT yetkisine sahip olması gerekir. Tablolar ve görünümler için ayrıcalıklar aşağıdaki gibidir:

KONTROL

Bir tablo veya görünüm için, kullanıcıya bırakma ve verme, ayrı tablo ayrıcalıklarını iptal etme dahil tüm ayrıcalıkları sağlar.

DEĞİŞTİR

Kullanıcının bir tabloyu değiştirmesine izin verir.

SİL

Kullanıcının tablo veya görünümden satırları silmesine izin verir.

INDEX

Kullanıcının tabloya veya görünüme bir satır eklemesine izin verir. Ayrıca içe aktarma yardımcı programını da çalıştırabilir.

REFERANSLAR

Kullanıcıların yabancı anahtar oluşturmasına ve bırakmasına olanak tanır.

SEÇ

Kullanıcının bir tablodan veya görünümden satırları almasını sağlar.

GÜNCELLEME

Kullanıcının bir tablodaki girişleri değiştirmesine, görüntülemesine izin verir.

Paket ayrıcalıkları

Kullanıcı veritabanına BAĞLANMA yetkisine sahip olmalıdır. Paket, belirli bir uygulama için verilere en verimli şekilde erişmek için veritabanı yöneticisinin bilgilerini içeren bir veritabanı nesnesidir.

KONTROL

Kullanıcıya paketleri yeniden bağlama, bırakma veya yürütme ayrıcalıkları sağlar. Bu ayrıcalıklara sahip bir kullanıcıya BIND ve EXECUTE ayrıcalıkları verilir.

BIND

Kullanıcının bu paketi bağlamasına veya yeniden bağlamasına izin verir.

YÜRÜT

Bir paketin yürütülmesine izin verir.

Dizin ayrıcalıkları

Bu ayrıcalık, indekste otomatik olarak KONTROL ayrıcalığını alır.

Sıra ayrıcalıkları

Sıra, sıra üzerinde KULLANIM ve ALTER ayrıcalıklarını otomatik olarak alır.

Rutin ayrıcalıklar

Bir veritabanı içindeki işlevler, prosedürler ve yöntemler gibi rutinlerin eylemini içerir.