Megosztás:


Alkalmazásszerepkörök

A következőkre vonatkozik:SQL ServerAzure SQL DatabaseAzure SQL Managed Instance

Az alkalmazási szerepkör egy adatbázis főszereplő, amely lehetővé teszi, hogy az alkalmazás saját, felhasználóhoz hasonló engedélyekkel működjön. Az alkalmazásszerepkörök használatával csak az adott alkalmazáson keresztül csatlakozó felhasználók férhetnek hozzá adott adatokhoz. Az adatbázisszerepkörökkel ellentétben az alkalmazásszerepkörök nem tartalmaznak tagokat, és alapértelmezés szerint inaktívak. Az alkalmazásszerepkörök sp_setapprole használatával engedélyezve vannak, amelyhez jelszó szükséges. Mivel az alkalmazásszerepkörök adatbázisszintű szereplők, más adatbázisokhoz csak az adott adatbázisokban a vendég számára megadott engedélyek révén férhetnek hozzá. Ezért minden olyan adatbázis, amelyben a vendég le van tiltva, nem érhető el más adatbázisok alkalmazásszerepköreihez.

Az SQL Serverben az alkalmazásszerepkörök nem férnek hozzá a kiszolgálószintű metaadatokhoz, mert nincsenek kiszolgálószintű fő princípiumhoz társítva. Ha le szeretné tiltani ezt a korlátozást, és ezáltal lehetővé szeretné tenni az alkalmazásszerepkörök számára a kiszolgálószintű metaadatok elérését, állítsa be a 4616-os globális nyomkövetési jelzőt -T4616 vagy DBCC TRACEON (4616, -1). Ha inkább nem szeretné engedélyezni ezt a nyomkövetési jelzőt, tanúsítványokkal aláírt tárolt eljárásokkal engedélyezheti az alkalmazásszerepkörök számára a kiszolgáló állapotának megtekintését. A mintakódért tekintse meg ezt a mintaszkriptet a GitHubon.

Kapcsolódás egy alkalmazási szerepkörhöz

Az alábbi lépések alkotják azt a folyamatot, amellyel egy alkalmazásszerepkör biztonsági környezeteket vált:

  1. A felhasználó végrehajt egy ügyfélalkalmazást.

  2. Az ügyfélalkalmazás felhasználóként csatlakozik az SQL Server egy példányához.

  3. Az alkalmazás ezután végrehajtja a sp_setapprole tárolt eljárást egy olyan jelszóval, amely csak az alkalmazás számára ismert.

  4. Ha az alkalmazásszerepkör neve és jelszava érvényes, az alkalmazásszerepkör engedélyezve van.

  5. Ekkor a kapcsolat elveszíti a felhasználó engedélyeit, és feltételezi az alkalmazásszerepkör engedélyeit.

Az alkalmazásszerepkörön keresztül beszerzett engedélyek a kapcsolat időtartamára érvényesek maradnak.

Az SQL Server korábbi verzióiban a felhasználó csak úgy tudja visszaállítani az eredeti biztonsági környezetét, miután elindított egy alkalmazásszerepkört, ha lecsatlakozik és újracsatlakozik az SQL Serverhez. Az SQL Server 2005 -től kezdve (9.x) sp_setapprole van egy lehetőség, amely létrehoz egy cookie-t. A cookie környezeti információkat tartalmaz az alkalmazásszerepkör engedélyezése előtt. A sp_unsetapprole tárolt eljárás ezután a cookie használatával visszaállítja a munkamenetet az eredeti környezetbe. Erről az új lehetőségről és egy példáról a sp_setapprole (Transact-SQL) és a sp_unsetapprole (Transaction-SQL) című témakörben olvashat.

Fontos

Az SQLClient nem támogatja az ODBC titkosítási lehetőségét. Ha bizalmas adatokat továbbít egy hálózaton keresztül, használja a Transport Layer Security (TLS), korábbi nevén Secure Sockets Layer (SSL) vagy IPsec protokollt a csatorna titkosításához. Ha meg kell őriznie a hitelesítő adatokat az ügyfélalkalmazásban, titkosítja a hitelesítő adatokat a titkosítási API-függvények használatával. Az SQL Server 2005 (9.x) és újabb verzióiban a paraméterjelszó egyirányú kivonatként lesz tárolva.

Feladatok Típus
Hozzon létre egy alkalmazásszerepkört. Alkalmazásszerepkör létrehozása és ALKALMAZÁSSZEREPKÖR LÉTREHOZÁSA (Transact-SQL)
Alkalmazásszerepkör módosítása. ALKALMAZÁS SZEREPÉNEK MÓDOSÍTÁSA (Transact-SQL)
Alkalmazásszerepkör törlése. JELENTKEZÉSI POZÍCIÓ (Transact-SQL)
Az alkalmazásszerepkör használata. sp_setapprole (Transact-SQL)

Lásd még

Az SQL Server biztosítása