Sdílet prostřednictvím


Konfigurace serveru: clr přísné zabezpečení

platí pro:SQL Server

Řídí interpretaci SAFE, EXTERNAL_ACCESSnebo UNSAFE oprávnění v SQL Serveru. Další informace o těchtooprávněních

Hodnota Popis
0 Invalidní. Poskytuje se zpětná kompatibilita. Nastavení této hodnoty na 0 nedoporučují, protože může vytvořit ohrožení zabezpečení.
1 Povoleno Způsobí, že databázový stroj ignoruje PERMISSION_SET informace o sestaveních a vždy je interpretuje jako UNSAFE. V SQL Serveru 2017 (14.x) a novějších verzích 1 je výchozí hodnota.

Zabezpečení přístupu kódu se už nepodporuje.

CLR používá zabezpečení přístupu kódu (CAS) v rozhraní .NET Framework, které se už nepodporuje jako hranice zabezpečení. Sestavení CLR vytvořené s PERMISSION_SET = SAFE může mít přístup k externím systémovým prostředkům, volat nespravovaný kód a získat oprávnění správce systému. V SQL Serveru 2017 (14.x) a novějších verzích clr strict security zachází se sestaveními SAFE a EXTERNAL_ACCESS jako s označenými UNSAFE.

Doporučujeme podepsat všechna sestavení certifikátem nebo asymetrickým klíčem s odpovídajícím přihlašovacím jménem, kterému bylo uděleno oprávnění UNSAFE ASSEMBLY v databázi master. Správci SQL Serveru mohou také přidat sestavení do seznamu sestavení, kterým má databázový stroj důvěřovat. Další informace naleznete v tématu sys.sp_add_trusted_assembly.

Poznámky

Pokud je tato možnost povolená, PERMISSION_SET možnost v CREATE ASSEMBLY příkazech a ALTER ASSEMBLY příkazech se ignoruje za běhu, ale PERMISSION_SET možnosti se zachovají v metadatech. Ignorování této možnosti minimalizuje přerušení existujících příkazů kódu.

CLR strict security je advanced option.

Po povolení přísného zabezpečení se nenačtou žádná sestavení, která nejsou podepsaná. Každé sestavení musíte buď změnit, nebo znovu vytvořit, aby bylo podepsané certifikátem nebo asymetrickým klíčem, který má odpovídající přihlášení s oprávněním UNSAFE ASSEMBLY na serveru.

Povolení

Změnit tuto možnost

Vyžaduje CONTROL SERVER oprávnění nebo členství v pevné roli serveru správce systému .

Vytvořte sestavení CLR

K vytvoření sestavení CLR při povolení funkce CLR strict security se vyžadují následující oprávnění:

  • Uživatel musí mít CREATE ASSEMBLY oprávnění.

  • Musí být splněna také jedna z následujících podmínek:

    • Sestavení je podepsáno certifikátem nebo asymetrickým klíčem, který má odpovídající přihlášení s oprávněním UNSAFE ASSEMBLY na serveru. Doporučuje se podepsání sestavení.

    • Databáze má vlastnost TRUSTWORTHY nastavenou na ONa databáze je vlastněna přihlášením, které má oprávnění UNSAFE ASSEMBLY na serveru. Tato možnost se nedoporučuje.

Příklady

Následující příklad nejprve zobrazí aktuální nastavení clr strict security možnosti a pak nastaví hodnotu možnosti na 1 (povoleno).

EXECUTE sp_configure 'clr strict security';
GO

EXECUTE sp_configure 'clr strict security', '1';
RECONFIGURE;
GO