SQL Server 2005 güvenlik açısından
daha sağlam bir yapı ile karşımıza çıkmaktadır. Bu yenilikleri öğrenerek,
database çözümümüzün planını yapabiliriz.
- SQL
Server logins için Password policy
: SQL Server’in eski
versiyonlarında da olduğu gibi, Microsoft Windows güvenlik sistemi veya
SQL Server güvenlik sistemi aracılığıyla SQL Server 2005’e erişebiliriz.
Buradaki farklılık daha önce Windows güvenlik sisteminde varolan password
policy’lerini SQL Server login’lere de uygulayabilmemiz. Windows kullanıcı
için var olan şifre sınırlandırmalarını artık SQL Server 2005’te de aynı
durum geçerlidir.
- Hiyerarşik
Güvenlik Seviyeleri (Scopes) : Hiyerarşik
güvenlik seviyeleri (scopes) farklı seviyelerdeki nesnelerin, principals,
securables ve permissions’ların hiyerarşik düzenlenmesinin sağlayarak eski
SQL versiyonlarına göre güvenliğin daha iyi ve kolay yönetilebilmesini sağlar.
- Kullanıcı
ve şemanın bağımsızlığı: SQL
2005’te nesne isim uzayları nesne sahibinden bağımsız olarak, şema
kullanılarak tanımlanır. Nesne sahibi ve nesne isim uzayının birbirinden
bağımsız hale getirilmesi, daha esnek ve yönetilebilir bir framework
sağlar.
- Sınırlı
metadata görüntülenmesi :
SQL Server 2005’le gelen catalog viewler, metadatanın sınırlı olarak
görüntülenmesini sağlar. Varsayılan
olarak kullanıcılar, izinli oldukları nesnelerin metadatalarını
görebilirler.
- Declarative
execution context : CREATE
komutu içerisinde yordam (procedure) ve foksiyonlar gibi programlanabilir
modüllerin hangi güvenlik yetkileriyle çalışabileceğini ayarlayabiliriz.
SQL Server 2005’te güvenlik
principals, securables ve permission’lar tabanlıdır.
Principallar:
Sisteme erişen kullanıcılardır.
Windows seviyesinde
Windows
Grupları
Domanin User
Accountları
Local User Accountlarını
içerir.
SQL Server sistem’de SQL Server Loginleri
SQL Server Rolleri
Loginler de Windows login veya SQL
Server Login’leri olabilirler. Defaut olararak Windows login etkindir. Windows
accountları, SQL Server’daki Windows loginlere map edilmiştir.
Windows ve SQL Server loginlerin
ikisi de sunucu rollerine atanabilirler. Bu aynı izinlere ihtiyaç duyan
kullanıcı gruplarını ayarlamak açısından büyük kolaylık sağlar.
Windows kullanıcı şifreleri Windows
işletim sistemi tarafından(Domain) kontrol edilir ve atanmış Windows
kullanıcısına policy uygulayarak sınırlandırılabilir.
SQL Server loginleri için şifreler
SQL Server tarafından kontrol edilir ve SQL Server tarafından yönetilen şifre
policiyleri ile de sınırlandırılırlar. Şifre policy’leri yeni CREATE LOGIN
statementinin bir parçası olarak tanımlanırlar.
Database Seviyesinde
users (kullanıcılar)
database rolleri
uygulama (application) rolleri olmak üzere 3 seviye vardır.
Loginler database kullanıcılarına
map edilirler ve kullanıcılar bir veya birden fazla database rolüne
eklenebilirler. Uygulama rolleri, client
uygulama tabanlı alternatif güvenlik katmanı sağlamak için kullanılırlar.
Securables:
Sistemde güvenliğini sağlamamız gereken nesnelerdir.
Securable’lar da farklı seviyelerde var olurlar. Windows
seviyesinde SQL Server ile ilişkili securable’lar, SQL Server’in
kullandığı dosya ve registry keyleri içerirler. SQL Server seviyesinde
securable’lar hiyerarşik düzeylerle organize edilmişlerdir.
Bunlar
- server seviyesi,
- database seviyesi
- şema seviyesidir.
En geniş seviyesi olan Server seviyesinde logins, http endpoints, serfifikalar, event
notification (olay bildiricileri) gibi securable’lar içerirler. Server seviyesi
SQL Server principal seviyesi ile uyum içindedir. Ayrıca server seviyesi bir sonraki seviyeyi temsil eden bir veya
birden fazla database içerir.
Database seviyesi,
servisler, assemblyler, XML şemalar, roller, DDL eventler gibi securable’lar
içerirler. Bir database, her biri nesneler için isim uzayı olarak görev yapan
ve en düşük securable seviyesinde olan şemalar içerir.
Şema seviyesi
tablolar, viewler, procedurler, queues gibi securable’lar içerir.
Permissionlar:
Bir kullanıcının belirli aksiyonları veritabanı nesneleri üzerinde
gerçekleştirmesi için gerekli olan yetkidir.
SQL Server’da GRANT, REVOKE ve DENY komutları securable
üzerinde principalların işlem yapmalarını kontrol ederler. Daha üst sevideki
bir permission, daha düşük seviyelerdekilerde de geçerli olur. Permissionların
bazılarını inceleyelim.
Bu yorum bir blog yöneticisi tarafından kaldırıldı.
YanıtlayınSil