Skip to main content

Command Palette

Search for a command to run...

SQL Server'da Kullanıcı ve Rol Yönetimi: Değişiklikler Nasıl İzlenmeli?

Published
3 min read
S

I’m a passionate software engineer specializing in SQL change management, database security, and DevOps automation. With over 17 years of experience in the banking sector, I focus on building tools and processes that make database deployments safer, more auditable, and automated.

As the creator of SQL Change Guard, I develop solutions that use risk scoring and AI-powered code analysis to detect dangerous SQL scripts before they reach production. I’m dedicated to helping teams minimize downtime and data loss through smarter change governance.

When I’m not coding, I enjoy sharing insights about secure development practices, WPF desktop applications, and integrating modern CI/CD pipelines.

Feel free to connect or reach out at info@sqlchangeguard.com

Veritabanı güvenliğinin temeli kullanıcı ve rol yönetimi. Ama bu alandaki değişiklikler çoğunlukla en az izlenen değişiklikler.

Neden Bu Kadar Kritik? Bir kullanıcıya yanlış rol atandı. Ya da bir rol fazla yetkiyle tanımlandı. Ya da ayrılan çalışanın hesabı silinmedi. Bu değişikliklerin hiçbiri sistemi hemen bozmaz. Sessizce orada durur, ta ki biri o yetkiyi kullanana kadar. Güvenlik ihlallerinin önemli bir kısmı teknik açıklardan değil, yanlış yönetilen yetkilerden kaynaklanır.

İzlenmesi Gereken Değişiklikler Yeni kullanıcı oluşturma Kim oluşturdu? Hangi amaçla? Hangi yetkiler verildi? Rol ataması ve değişikliği Bir kullanıcıya yeni rol atandı ya da mevcut rol değiştirildi. Kim onayladı? Yetki genişletme Bir kullanıcıya GRANT ile yeni yetki verildi. Hangi nesne için, hangi seviyede? Hesap durumu değişikliği Hesap devre dışı bırakıldı ya da yeniden etkinleştirildi. Kim yaptı, neden?

Mevcut Durum Analizi sql-- Veritabanındaki tüm kullanıcıları ve rollerini listele SELECT dp.name AS KullaniciAdi, dp.type_desc AS KullaniciTipi, dp.create_date AS OlusturmaTarihi, dp.modify_date AS SonDegisiklikTarihi, STRING_AGG(r.name, ', ') AS Roller FROM sys.database_principals dp LEFT JOIN sys.database_role_members rm ON dp.principal_id = rm.member_principal_id LEFT JOIN sys.database_principals r ON rm.role_principal_id = r.principal_id WHERE dp.type IN ('S', 'U', 'G') -- SQL user, Windows user, Windows group GROUP BY dp.name, dp.type_desc, dp.create_date, dp.modify_date ORDER BY dp.modify_date DESC; sql-- Nesne bazlı yetkileri listele SELECT dp.name AS KullaniciAdi, p.class_desc AS NesneTipi, OBJECT_NAME(p.major_id) AS NesneAdi, p.permission_name AS Yetki, p.state_desc AS YetkiDurumu FROM sys.database_permissions p JOIN sys.database_principals dp ON p.grantee_principal_id = dp.principal_id WHERE dp.type IN ('S', 'U', 'G') AND p.major_id > 0 ORDER BY dp.name, OBJECT_NAME(p.major_id);

Periyodik Yetki Denetimi Altı ayda bir şu kontrolleri yapın: Aktif olmayan hesaplar: son 90 günde hiç login olmamış kullanıcılar büyük ihtimalle artık gerekli değil. sqlSELECT name AS KullaniciAdi, type_desc AS Tip, create_date AS OlusturmaTarihi, LOGINPROPERTY(name, 'LastSuccessfulLogon') AS SonBasariliGiris FROM sys.server_principals WHERE type IN ('S', 'U') AND is_disabled = 0 ORDER BY SonBasariliGiris; Aşırı yetkili hesaplar: sysadmin rolünde kaç kişi var? Gerçekten bu kadar kişinin sysadmin olması gerekiyor mu? sqlSELECT sp.name AS KullaniciAdi, sp.type_desc AS Tip FROM sys.server_principals sp JOIN sys.server_role_members srm ON sp.principal_id = srm.member_principal_id JOIN sys.server_principals r ON srm.role_principal_id = r.principal_id WHERE r.name = 'sysadmin' ORDER BY sp.name;

Yetki Değişikliklerini Değişiklik Sürecine Dahil Etmek Yetki değişiklikleri şema değişiklikleriyle aynı onay sürecinden geçmeli. Fark şu: yetki değişikliklerinde güvenlik ekibinin de onayı olmalı, sadece teknik onay yetmez. Yeni kullanıcı oluşturma talebi geldiğinde şu bilgiler istenmeli: hangi amaçla, hangi sistemlere erişim gerekiyor, kim talep etti, kim onaylıyor, ne zaman erişime gerek kalmayacak? Son soru özellikle önemli. Geçici erişimlerin bitiş tarihi baştan belirlenirse erişim temizliği otomatik hatırlatıcıyla yönetilebilir.

Sonuç Kullanıcı ve rol yönetimi değişiklik yönetiminin en sık ihmal edilen ama en kritik alanlarından biri. Sistematik izleme ve periyodik denetim bu alandaki riskleri büyük ölçüde azaltır. Detaylı bilgi için: sqlchangeguard.com

More from this blog

S

SQL Change Guard

81 posts