Kullanıcıya hak vermek için Grant verilen hakkı geri almak için Revoke deyimlerini kullanıyoruz.
Kullanıcıya Verebileceğiniz Haklar
Insert > Kayıt Ekleme Hakkı
Update > Kayıtları Güncelleme Hakkı
Delete > Kayıtları Silme Hakkı
Select > Kayıtları Seçme Hakkı
Execute > Stored Procedureleri Çalıştırma Hakkı
References > Primary/Foreign Key gibi Özelliklere Bakabilme Hakkı.
All > Yukarıdaki Hakların Tümünü Tek Seferde Vermenizi Sağlar
DelphiDunyasi adında bir kullanıcı oluşturduğunuzu Varsayıyorum.
Grant Bir Kullanıcı yada Role belirli haklar verebilmenizi sağlar
Procedureyi çalıştırabilme hakkı vermek için
Kod: Tümünü seç
GRANT EXECUTE ON PROCEDURE BenimSP to DelphiDunyasi;
Kod: Tümünü seç
GRANT DELETE, INSERT, SELECT, UPDATE, REFERENCES ON BenimTablo TO DelphiDunyasi;
Kod: Tümünü seç
GRANT ALL ON BenimTablo TO DelphiDunyasi;
Kod: Tümünü seç
WITH GRANT OPTION
Kod: Tümünü seç
GRANT Select ON BenimTablo TO DelphiDunyasi WITH GRANT OPTION;
Revoke Grant ile verdiğiniz hakları geri alır. Grant yerine Revoke To Yerine From deyimlerini kullanmalısınız.
DelphiDunyasi kullanıcısından tüm hakları almak için
Kod: Tümünü seç
REVOKE ALL ON BenimTablo FROM DelphiDunyasi;
Kod: Tümünü seç
Revoke insert on BenimTablo from DelphiDunyasi;
Kod: Tümünü seç
REVOKE GRANT OPTION FOR INSERT ON BenimTablo FROM DelphiDunyasi;
Role ye yukarıdaki yetkileri verebilir. Role’ye verilen yetkileride oluşturacağınız kullanıcıya verebilirsiniz.
10 kullanıcı oluşturup bu kullanıcılara bütün tablolar üzerinde tek tek seçme yetkisi vermek baya uzun bir işlem olacaktır. Bunun yerine tablolarda seçme yetkisini Role’ye atayarak oluşturacağınız her kullanıcıya bu role’yi atamanız yeterli.
kullanıcıya Role atamadan önce Rola oluşturmamız gerekiyor.
Role oluşturmak için
Kod: Tümünü seç
create role RoleAdi;
Kod: Tümünü seç
Drop role RoleAdi;
Kod: Tümünü seç
create role BenimRole;
Kod: Tümünü seç
grant all on BenimTablo to BenimRole;
Kod: Tümünü seç
grant BenimRole to DelphiDunyasi;
Kod: Tümünü seç
grant BenimRole to DelphiDunyasi2;