Partilhar via


Criar uma função de aplicativo

Aplica-se a:SQL ServerBanco de Dados SQL do AzureInstância Gerenciada SQL do Azure

Este artigo descreve como criar um papel de aplicação no SQL Server utilizando SQL Server Management Studio ou Transact-SQL. As funções do aplicativo restringem o acesso do usuário a um banco de dados, exceto por meio de aplicativos específicos. Os papéis de aplicação não têm utilizadores, por isso a lista Membros do Papel não é exibida quando o papel de Aplicação é selecionado.

Importante

A complexidade da senha é verificada quando as senhas de função do aplicativo são definidas. Os aplicativos que invocam funções de aplicativo devem armazenar suas senhas. As senhas de função do aplicativo devem ser sempre armazenadas criptografadas.

Contexto geral

A partir do SQL Server 2012 (11.x), o SQL Server e o Banco de Dados SQL do Azure usavam um hash SHA-512 combinado com um sal aleatório e exclusivo de 32 bits. Este método tornou estatisticamente inviável para os atacantes deduzir senhas.

O SQL Server 2025 (17.x) introduz um algoritmo de hash iterado, RFC2898, também conhecido como função de derivação de chaves baseada em palavra-passe (PBKDF). Este algoritmo ainda usa SHA-512, mas hashes a senha várias vezes (100.000 iterações), retardando significativamente os ataques de força bruta. Essa alteração melhora a proteção por senha em resposta à evolução das ameaças à segurança e ajuda os clientes a cumprir as diretrizes do NIST SP 800-63b. Esta melhoria de segurança utiliza um algoritmo de hash mais forte, que pode aumentar ligeiramente o tempo de login para os logins de autenticação SQL. O impacto é geralmente menor em ambientes com pooling de ligações, mas pode ser mais notório em cenários sem pooling ou onde a latência de login é monitorizada de perto.

Utilize SQL Server Management Studio

  1. No Pesquisador de Objetos, expanda o banco de dados onde você deseja criar uma função de aplicativo.

  2. Expanda a pasta Segurança.

  3. Expanda a pasta Funções.

  4. Clique com o botão direito do mouse na pasta Funções de Aplicativo e selecione Nova Função de Aplicativo....

  5. Na caixa de diálogo Função de Aplicação - Nova, na Página Geral, insira o novo nome da nova função de aplicação na caixa Nome da Função.

  6. Na caixa Esquema Padrão, especifique o esquema que possuirá objetos criados por essa função inserindo os nomes dos objetos. Alternativamente, selecione a reticência (...) para abrir a caixa de diálogo Localizar Esquema .

  7. Na caixa Palavra-passe, introduza uma palavra-passe para a nova função. Digite novamente essa senha na caixa Confirmar senha.

  8. Em Esquemas pertencentes a esta função, selecione ou exiba esquemas que serão de propriedade dessa função. Um esquema pode pertencer a apenas um esquema ou função.

  9. Selecione OK.

Opções adicionais

A nova caixa de diálogo Função de Aplicação - também oferece opções em duas páginas adicionais: Itens de Segurança e Propriedades Estendidas.

  • A página Securables lista todos os securables possíveis e as permissões nesses securables que podem ser concedidas ao login.

  • A página Propriedades estendidas permite adicionar propriedades personalizadas aos utilizadores da base de dados.

Use transact-SQL

  1. No Pesquisador de Objetos , conecte-se a uma instância do Mecanismo de Banco de Dados.

  2. Na barra Padrão, selecione Nova Consulta.

  3. Copie e cole o exemplo a seguir na janela de consulta e selecione Executar. Este código cria um papel de aplicação chamado weekly_receipts que tem uma palavra-passe e Sales como esquema padrão. Substitua <password> por uma senha forte.

    -- 
    
    CREATE APPLICATION ROLE weekly_receipts
        WITH PASSWORD = '<password>'
        , DEFAULT_SCHEMA = Sales;
    GO
    

Permissões

Requer permissão ALTER ANY APPLICATION ROLE no banco de dados.