Application Role Nedir

24 Nis by NURULLAH ÇAKIR

Application Role Nedir

Application Role veritabanı seviyesinde tanımlanan bir roldür. Application Rolleri kullanarak bir veritabanına sadece belirli bir uygulamadan belirli kullanıcılarla erişmek için kullanabilirsiniz.

 

Default olarak aktif değillerdir. Aşağıdaki şekilde veritabanı üzerinde application role oluşturabilirsiniz.

CREATE APPLICATION ROLE APPROLETest  
    WITH PASSWORD = '123456'  
    , DEFAULT_SCHEMA = dbo;

 

Application Role’ler veritabanı bazında tanımlandıkları için instance seviyesinde herhangi bir veriye erişemezler. Var olan bir application role’e şema bazında aşağıdaki gibi yetki verebilirsiniz.

GRANT SELECT ON SCHEMA::dbo TO APPROLETest; 

 

Application Role’lerin database rolleri gibi üyeleri olmaz. Uygulama üzerinden sp_setapprole stored procedure’ü ile aşağıdaki gibi aktif edilebilirler.

 

EXEC sp_setapprole 'APPROLETest', '123456';

 

Application Role’lerin en önemli özelliği herhangi bir login’e bağlı olmadıkları için veritabanının başka bir instance’a taşınma işlemi daha kolay olacaktır.

 

SQL Server 2005 ile beraber Application Role’lerin yerine SQL User Without Login kavramı geldi. “SQL User Without Login Nedir” isimli makalemi okumak isteyebilirsiniz.

 

Login olmadan veritabanına bağlanmanın başka bir yolu da veritabanını Contained yapıya dönüştürmektir. “Contained Database Nedir” isimli makalemi okumak isteyebilirsiniz.

Test veritabanında sadece public yetkisi olan bir kullanıcı oluşturup aşağıdaki script ile Select sorgusu çalıştırabilirsiniz.

USE TEST
EXEC sp_setapprole 'APPROLETest', '123456'; 
SELECT * FROM [Test].[dbo].[IdentitiyOrnekTablo]

 

 

Loading

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir