Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A következőkre vonatkozik:SQL Server
Az SQL Serverben az SAFE, EXTERNAL_ACCESSvagy UNSAFE engedély értelmezését szabályozza. Ezekről az engedélyekről további információt a Tervezési szerelvények című témakörben talál.
| Érték | Leírás |
|---|---|
0 |
Fogyatékos. Visszamenőleges kompatibilitást biztosít. Ennek az értéknek 0-re való beállítása nem ajánlott, mivel biztonsági rést okozhat. |
1 |
Engedélyezve. Az Adatbázismotor figyelmen kívül hagyja a PERMISSION_SET szerelvények adatait, és mindig UNSAFE-ként értelmezi őket. Az SQL Server 2017 (14.x) és újabb verzióiban 1 az alapértelmezett érték. |
A kódhozzáférés biztonsága már nem támogatott
A CLR a .NET-keretrendszerben a Code Access Securityt (CAS) használja, amely már nem támogatott biztonsági határként. Előfordulhat, hogy egy PERMISSION_SET = SAFE létrehozott CLR-szerelvény hozzáférhet külső rendszererőforrásokhoz, meghívhatja a nem felügyelt kódot, és sysadmin-jogosultságokat szerezhet be. Az SQL Server 2017 (14.x) és újabb verzióiban a rendszer úgy kezeli a clr strict security és SAFE szerelvényeket, mintha EXTERNAL_ACCESS megjelölést kaptak volna UNSAFE-ként.
Javasoljuk, hogy az összes összetevőt egy tanúsítvánnyal vagy aszimmetrikus kulccsal írja alá, amelyhez tartozik egy megfelelő jogosultsággal rendelkező bejelentkezés, amely UNSAFE ASSEMBLY engedélyt kapott az master adatbázisban. Az SQL Server rendszergazdái könyvtárakat is hozzáadhatnak egy listához, amelyekben az adatbázismotornak meg kell bíznia. További információ: sys.sp_add_trusted_assembly.
Megjegyzések
Ha engedélyezve van, a PERMISSION_SET opció az CREATE ASSEMBLY és ALTER ASSEMBLY utasításokban futásidőben figyelmen kívül marad, de a PERMISSION_SET opciók megmaradnak a metaadatokban. Ha ezt a beállítást figyelmen kívül hagyja, azzal minimálisra csökkenti a meglévő kódkivonatok feltörését.
CLR strict security egy advanced option .
Miután engedélyezi a szigorú biztonságot, minden aláíratlan összeállítás betöltése sikertelen lesz. Módosítania vagy el kell dobnia és újra létre kell hoznia az egyes szerelvényeket, hogy egy tanúsítvánnyal vagy aszimmetrikus kulccsal legyenek aláírva, amelyhez tartozik egy megegyező bejelentkezés a kiszolgálón UNSAFE ASSEMBLY engedéllyel.
Engedélyek
A beállítás módosítása
Engedélyre vagy tagságra van szükség CONTROL SERVER a sysadmin rögzített kiszolgálói szerepkörben.
CLR-szerelvény létrehozása
Ha engedélyezve van, a következő engedélyek szükségesek a CLR-szerelvény CLR strict security létrehozásához:
A felhasználónak rendelkeznie kell az
CREATE ASSEMBLYengedéllyelAz alábbi feltételek egyikének is teljesülnie kell:
A szerelvény egy tanúsítvánnyal vagy aszimmetrikus kulccsal van aláírva, amelyhez tartozik egy olyan bejelentkezés, amely rendelkezik
UNSAFE ASSEMBLYengedéllyel a kiszolgálón. Ajánlott aláírni a szerelvényt.Az adatbázis tulajdonsága a
TRUSTWORTHYértékre van beállítva, és az adatbázis tulajdonosa egy bejelentkezés, amely rendelkezik aONengedéllyel a kiszolgálón. Ez a beállítás nem ajánlott.
Példák
Az alábbi példa először a beállítás aktuális beállítását clr strict security jeleníti meg, majd a beállítás értékét 1 (engedélyezve) állítja be.
EXECUTE sp_configure 'clr strict security';
GO
EXECUTE sp_configure 'clr strict security', '1';
RECONFIGURE;
GO