Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy:SQL Server
Steruje interpretacją uprawnień SAFE, EXTERNAL_ACCESS lub UNSAFE w programie SQL Server. Aby uzyskać więcej informacji na temat tych uprawnień, zobacz Projektowanie zestawów.
| Wartość | Opis |
|---|---|
0 |
Niepełnosprawny. Zapewniana zgodność z poprzednimi wersjami. Ustawienie tej wartości na 0 wartość nie jest zalecane, ponieważ może utworzyć lukę w zabezpieczeniach. |
1 |
Włączona. Powoduje, że aparat bazy danych ignoruje PERMISSION_SET informacje dotyczące zestawów i zawsze interpretuje je jako UNSAFE. W programie SQL Server 2017 (14.x) i nowszych wersjach 1 jest wartością domyślną. |
Zabezpieczenia dostępu kodu nie są już obsługiwane
CLR używa zabezpieczeń dostępu kodu (CAS) w programie .NET Framework, który nie jest już obsługiwany jako granica bezpieczeństwa. Zestaw CLR utworzony za pomocą PERMISSION_SET = SAFE może mieć dostęp do zasobów systemu zewnętrznego, wywołać kod niezarządzany i uzyskać uprawnienia administratora systemu. W programie SQL Server 2017 (14.x) i nowszych wersjach, clr strict security traktuje zestawy SAFE i EXTERNAL_ACCESS tak, jakby były oznaczone jako UNSAFE.
Zalecamy podpisanie wszystkich zestawów certyfikatem lub kluczem asymetrycznym, z odpowiadającym loginem, któremu udzielono uprawnienia UNSAFE ASSEMBLY w bazie danych master. Administratorzy programu SQL Server mogą również dodawać zestawy do listy zestawów, którym aparat bazy danych powinien ufać. Aby uzyskać więcej informacji, zobacz sys.sp_add_trusted_assembly.
Uwagi
Po włączeniu opcji PERMISSION_SET w instrukcjach CREATE ASSEMBLY i ALTER ASSEMBLY jest ona pomijana podczas wykonywania, ale opcje PERMISSION_SET są zachowane w metadanych. Ignorowanie tej opcji minimalizuje łamliwość istniejących instrukcji kodu.
CLR strict security jest advanced option.
Po włączeniu rygorystycznych zabezpieczeń wszystkie zestawy, które nie są podpisane, nie zostaną załadowane. Należy albo zmienić, albo usunąć i ponownie utworzyć każdy zestaw, aby był podpisany certyfikatem lub kluczem asymetrycznym, który ma odpowiedni login z uprawnieniem UNSAFE ASSEMBLY na serwerze.
Uprawnienia
Zmień tę opcję
Wymaga uprawnień CONTROL SERVER lub członkostwa w ustalonej roli serwera sysadmin.
Utwórz zestaw CLR
Następujące uprawnienia są wymagane do utworzenia zestawu CLR po CLR strict security włączeniu:
Użytkownik musi mieć
CREATE ASSEMBLYuprawnienieNależy również spełnić jeden z następujących warunków:
Zbiór jest podpisany przy użyciu certyfikatu lub klucza asymetrycznego, który ma odpowiadające dane logowania z
UNSAFE ASSEMBLYuprawnieniem na serwerze. Zalecane jest podpisywanie zestawu.Baza danych ma właściwość ustawioną
TRUSTWORTHYnaON, a baza danych jest własnością loginu, który posiadaUNSAFE ASSEMBLYuprawnienia na serwerze. Ta opcja nie jest zalecana.
Przykłady
Poniższy przykład najpierw wyświetla bieżące ustawienie clr strict security opcji, a następnie ustawia wartość opcji na 1 (włączone).
EXECUTE sp_configure 'clr strict security';
GO
EXECUTE sp_configure 'clr strict security', '1';
RECONFIGURE;
GO
Treści powiązane
- opcje konfiguracji serwera
- sp_configure (Transact-SQL)
- Konfiguracja serwera: clr enabled