Segurança da integração CLR

Aplica-se a: SQL Server

O modelo de segurança da integração do SQL Server com o CLR (Common Language Runtime) do .NET Framework gerencia e protege o acesso entre diferentes tipos de objetos CLR e não CLR em execução no SQL Server. Esses objetos podem ser chamados por uma instrução Transact-SQL ou outro objeto CLR que é executado 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, a execução do código de usuário gerenciado no SQL Server não deve comprometer a integridade e a estabilidade do SQL Server. A execução de operações que potencialmente comprometem a robustez do SQL Server deve ser protegida por permissões de alto nível apropriadas.

  • 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 do SQL Server.

O SQL Server agora integra o modelo de segurança baseado em usuário do 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 do 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 do código do usuário podem chamar umas às outras no SQL Server.

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

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.

Confira também

Gerenciamento de assemblies de integração CLR