Policy Management – SQL Server

   O Policy Management, é uma das novidades do SQL Server 2008, trata-se de um sistema de gerenciamento baseado em políticas.

   Com ele é possível, por exemplo, definir que não sejam criadas stored procedures cujo nome inicie com sp_ (o SQL Server verifica no banco master se a stored procedure é de sistema antes de executá-la), ou tabelas com a palavra “teste” no nome para evitar lixo.

  Desta forma é possível, além de criar padrões de nomenclatura, garantir que os mesmos sejam aplicados.
  O SQL Server Management Studio é a ferramenta necessária para utilizar o Policy Management.

  Alguns conceitos:

 Facets – são objetos e suas respectivas propriedades e recursos gerenciáveis.
Exemplos, a facet Linked Server possui as propriedades e recursos como Connect Timeout, ou ainda a facet Surface Área onde é possível controlar recursos de risco como o Database Mail e xp_cmdshell.

 Conditions – indica o estado de uma facet.
Exemplo, pode-se definir a condition “Condição de Segurança”, onde algumas propriedades da facet Surface Área consideradas de risco serão definidas como false.

 Targets – são entidades as quais podemos aplicar policies.
Exemplo, banco de dados, servidores, tabelas, logins…

 Policies – aplicam uma condition a uma ou mais targets.
Exemplo, pode-se criar uma policy chamada “Propriedades de Segurança” onde é aplicada a condition “Condição de Segurança” (descrita acima) em uma target Servidor.

 Categories – são grupos de policies. Facilita a organização das policies.
Exemplo: Policies que padronizam a nomenclatura de objetos, perfil de novos usuários, ou ainda propriedades de bancos de dados novos.

  Pode-se atribuir ao banco de dados uma category para que estes sejam adeptos a um determinado grupo de policies. Por padrão todo banco de dados pertence a default category.
 Após compreender estes conceitos podemos fazer um exemplo na prática, vamos definir que nenhuma Stored Procedure pode iniciar com sp_.
 Abra o SQL Server Management Studio, na janela Object Explorer clique em:
  - Management
     – Policy Management
       – Facets

  São listadas as facets padrão do SQL Server 2008 e as que foram criadas:


 

  1. Clique o Botão da direita na facet Stored Procedure, clique em New Condition:

  2.  

  3. Na caixa Name digite o nome que pretende dar a esta condition, em expression descreva a condição que deseja aplicar a procedure:

  4.  

  5. Clique o botão da direita em Policy:

  6.  

  7. Em name defina o nome da Policy. Na Caixa Condition selecione a condition cond_nm_sprocedure criada acima, em Against Targets selecionamos que esta policy será aplicada em todas as stored procedures em todos os bancos de dados deste servidor.
    Em Execution Mode selecione On Change – Prevent, desta forma será utilizada uma trigger de DDL antes na criação do objeto.

  8.  

  9. Para testar se a policy está correta, basta criar uma stored procedure que inicie com sp_:

  10.  

Enviar por E-Mail

Uma resposta to “Policy Management – SQL Server”

  1. moises Says:

    Nossa, que interessante..

Deixe um comentário


Switch to our mobile site