Compartilhar via


Segurança da integração CLR

O modelo de segurança do CLR (Common Language Runtime) .NET Framework gerencia e protege o acesso entre diferentes tipos de objetos CLR e não CLR em execução na instrução Transact-SQL ou em outro objeto CLR em execução no servidor. As chamadas entre objetos conhecidas como links. Os tipos de verificações de segurança realizados nesses objetos dependem dos tipos de links envolvidos.

O modelo de segurança de integração do CLR tem as seguintes metas:

  • Por padrão, executar o código do usuário gerenciado em SQL Server. Executar operações que potencialmente comprometam a robustez dos SQL Server devem ser protegidas por permissões apropriadas de alto nível.

  • O código de usuário gerenciado não deve ter acesso não autorizado a dados de usuário ou outro código de usuário no banco de dados. O código definido pelo usuário deve ser executado no contexto de segurança da sessão do usuário que o invocou e com os privilégios corretos para o contexto de segurança.

  • Deve haver controles para impedir que o código do usuário acesse qualquer recurso fora do servidor, usando-o estritamente para acesso a dados locais e computação.

  • O código definido pelo usuário não deve ser capaz de obter acesso não autorizado aos recursos do sistema em virtude da execução no processo de SQL Server.

SQL Server com o modelo de segurança baseado em acesso de código do CLR. Algumas das vantagens dessa abordagem combinada em relação à segurança são abordadas nesta seção.

A tabela a seguir lista os tópicos desta seção.

Segurança de acesso a código da integração CLR
Discute o modelo CAS (segurança de acesso do código) para código gerenciado.

Atributos de proteção de host e programação da Integração CLR
Fornece informações sobre valores HPA (atributo de proteção do host) que são desaprovados nos assemblies SAFE e EXTERNAL_ACCESS.

Links em segurança da integração CLR
Descreve como partes de código de usuário podem chamar umas às outras em SQL Server.

Representação e segurança de integração CLR
Aborda como o código gerenciado acessa recursos externos que usam representação.

Permitindo chamadores parcialmente confiáveis
Aborda problemas que surgem quando um método gerenciado invoca um método em uma classe contida em outro assembly.

Domínios do aplicativo e segurança da integração CLR
Descreve como os assemblies são carregados em domínios de aplicativo.

Consulte Também

Gerenciando assemblies de integração CLR