Tutorial: Proteja uma base de dados na SQL do Azure Database

Aplica-se a: Base de Dados SQL do Azure

Neste tutorial, ficará a saber como:

  • Criar regras de firewall ao nível do servidor e de nível de base de dados
  • Configure um administrador do Azure Ative Directory (Azure AD)
  • Gerir o acesso do utilizador com autenticação, autenticação Azure AD e cadeias de ligação seguras
  • Ativar funcionalidades de segurança, como o Microsoft Defender para SQL, auditoria, mascaramento de dados e encriptação

SQL do Azure Database protege os dados permitindo-lhe:

  • Limite o acesso usando regras de firewall
  • Utilize mecanismos de autenticação que exijam identidade
  • Utilizar a autorização com membros e permissões baseados em funções
  • Ativar funcionalidades de segurança

Nota

Azure SQL Managed Instance é protegido usando regras de segurança de rede e pontos finais privados, conforme descrito na arquitetura Azure SQL Managed Instance e conectividade.

Para saber mais, consulte a SQL do Azure Artigos de segurança da Base de Dados e de capacidades.

Dica

Este módulo De aprendizagem gratuito mostra-lhe como proteger a sua base de dados na Base de Dados SQL do Azure.

Pré-requisitos

Para completar o tutorial, certifique-se de que tem os seguintes pré-requisitos:

Se não tiver uma subscrição do Azure, crie uma conta gratuita antes de começar.

Iniciar sessão no portal do Azure

Para todos os passos no tutorial, inscreva-se no portal do Azure

Criar regras da firewall

As bases de dados em Base de Dados SQL estão protegidas por firewalls em Azure. Por predefinição, todas as ligações ao servidor e à base de dados são rejeitadas. Para saber mais, consulte as regras de firewall ao nível do servidor e do nível da base de dados.

Desconfiem do acesso aos serviços Azurepara a configuração mais segura. Em seguida, crie um IP reservado (implementação clássica) para o recurso que precisa de se conectar, como um VM Azure ou serviço na nuvem, e apenas permita esse acesso de endereço IP através da firewall. Se estiver a utilizar o modelo de implementação Resource Manager, é necessário um endereço IP público dedicado para cada recurso.

Nota

A Base de Dados SQL comunica através da porta 1433. Se estiver a tentar ligar-se de uma rede corporativa, o tráfego de saída sobre o porto 1433 pode não ser permitido pela firewall da sua rede. Em caso afirmativo, não pode ligar-se ao servidor a menos que o seu administrador abra a porta 1433.

Configurar regras de firewall ao nível do servidor

As regras de firewall IP ao nível do servidor aplicam-se a todas as bases de dados dentro do mesmo servidor.

Para configurar uma regra de firewall ao nível do servidor:

  1. Na portal do Azure, selecione bases de dados SQL a partir do menu à esquerda e selecione a sua base de dados na página de bases de dados SQL.

    regra de firewall do servidor

    Nota

    Certifique-se de copiar o nome do servidor totalmente qualificado (como yourserver.database.windows.net) para utilização posterior no tutorial.

  2. Na página 'Vista Geral ', selecione 'Definir firewall' do servidor. A página de definições de Firewall para o servidor abre.

    1. Selecione ADICIONAR IP ao cliente na barra de ferramentas para adicionar o seu endereço IP atual a uma nova regra de firewall. A regra pode abrir a porta 1433 para um único endereço IP ou uma gama de endereços IP. Selecione Guardar.

      configurar regra de firewall do servidor

    2. Selecione OK e feche a página de definições de Firewall .

Agora, já pode ligar a qualquer base de dados do servidor com o endereço IP ou o intervalo de endereços IP especificado.

Configurar regras de firewall de base de dados

As regras de firewall ao nível da base de dados aplicam-se apenas a bases de dados individuais. A base de dados conservará estas regras durante uma falha no servidor. As regras de firewall ao nível da base de dados só podem ser configuradas usando declarações Transact-SQL (T-SQL) e só depois de configurar uma regra de firewall ao nível do servidor.

Para configurar uma regra de firewall ao nível da base de dados:

  1. Ligue à base de dados, por exemplo, utilizando SQL Server Management Studio.

  2. Em Object Explorer, clique com o botão direito na base de dados e selecione Nova Consulta.

  3. Na janela de consulta, adicione esta declaração e modifique o endereço IP no seu endereço IP público:

    EXECUTE sp_set_database_firewall_rule N'Example DB Rule','0.0.0.4','0.0.0.4';
    
  4. Na barra de ferramentas, selecione Executar para criar a regra de firewall.

Nota

Também pode criar uma regra de firewall ao nível do servidor em SSMS utilizando o comando sp_set_firewall_rule , embora tenha de estar ligado à base de dados principal .

Criar um administrador Azure AD

Certifique-se de que está a utilizar o domínio gerido pelo Azure Ative Directory (AD). Para selecionar o domínio AD, utilize o canto superior direito do portal do Azure. Este processo confirma que a mesma subscrição é usada tanto para Azure AD como para o servidor lógico SQL que hospeda a sua base de dados ou armazém de dados.

escolher anúncio

Para definir o administrador Azure AD:

  1. Na portal do Azure, na página do servidor SQL, selecione Ative Directory admin. Em seguida, selecione Definir a administração.

    selecione diretório ativo

    Importante

    Tem de ser um "Administrador Global" para executar esta tarefa.

  2. Na página de administração Adicionar , procure e selecione o utilizador ou grupo AD e escolha Selecione. Todos os membros e grupos do seu Diretório Ativo estão listados, e as entradas acinzentadas não são suportadas como administradores Azure AD. Consulte Azure AD funcionalidades e limitações.

    selecionar administrador

    Importante

    O controlo de acesso baseado em funções (Azure RBAC) só se aplica ao portal e não é propagado a SQL Server.

  3. No topo da página de administração do Ative Directory , selecione Save.

    O processo de alteração de um administrador pode demorar vários minutos. O novo administrador aparecerá na caixa de administração do Ative Directory .

Nota

Ao configurar um administrador Azure AD, o novo nome de administração (utilizador ou grupo) não pode existir como SQL Server login ou utilizador na base de dados principal. Se estiver presente, a configuração falhará e reverterá as alterações, indicando que tal nome de administração já existe. Uma vez que o SQL Server login ou o utilizador não fazem parte de Azure AD, qualquer esforço para ligar o utilizador utilizando Azure AD falha na autenticação.

Para obter informações sobre a configuração Azure AD, consulte:

Gerir o acesso à base de dados

Gerencie o acesso à base de dados adicionando os utilizadores à base de dados ou permitindo o acesso do utilizador com cadeias de ligação seguras. As cadeias de ligação são úteis para aplicações externas. Para saber mais, consulte Gerir logins e contas de utilizador e autenticação de AD.

Para adicionar utilizadores, escolha o tipo de autenticação da base de dados:

  • Autenticação SQL, use um nome de utilizador e senha para logins e só são válidos no contexto de uma base de dados específica dentro do servidor

  • Azure AD autenticação, utilize identidades geridas por Azure AD

Autenticação do SQL

Para adicionar um utilizador com autenticação SQL:

  1. Ligue à base de dados, por exemplo, utilizando SQL Server Management Studio.

  2. Em Object Explorer, clique com o direito na base de dados e escolha Nova Consulta.

  3. Na janela de consulta, insira o seguinte comando:

    CREATE USER ApplicationUser WITH PASSWORD = 'YourStrongPassword1';
    
  4. Na barra de ferramentas, selecione Executar para criar o utilizador.

  5. Por predefinição, o utilizador pode ligar à base de dados, mas não tem permissões para ler ou escrever dados. Para conceder estas permissões, execute os seguintes comandos numa nova janela de consulta:

    ALTER ROLE db_datareader ADD MEMBER ApplicationUser;
    ALTER ROLE db_datawriter ADD MEMBER ApplicationUser;
    

Nota

Criar contas não-administradora ao nível da base de dados, a menos que precisem de executar tarefas de administrador como a criação de novos utilizadores.

Autenticação do Azure AD

A autenticação do Azure Ative Directory requer que os utilizadores da base de dados sejam criados conforme contido. Uma base de dados contida mapeia o utilizador de uma identidade no diretório Azure AD associado à base de dados e não tem qualquer login na base de dados principal. A Azure AD identidade pode ser para um utilizador individual ou para um grupo. Para mais informações, consulte os utilizadores da base de dados Contidos, torne a sua base de dados portátil e reveja o tutorial Azure AD sobre como autenticar utilizando Azure AD.

Nota

Os utilizadores de bases de dados (excluindo administradores) não podem ser criados utilizando o portal do Azure. As funções Azure não se propagam a servidores, bases de dados ou armazéns de dados SQL. São utilizados apenas para gerir os recursos da Azure e não se aplicam a permissões de base de dados.

Por exemplo, a função SQL Server Contribuinte não dá acesso à ligação a uma base de dados ou a um armazém de dados. Esta permissão deve ser concedida na base de dados utilizando declarações T-SQL.

Importante

Caracteres especiais como cólon : ou ampersand & não são suportados em nomes de utilizador no T-SQL CREATE LOGIN e CREATE USER declarações.

Para adicionar um utilizador com Azure AD autenticação:

  1. Conecte-se ao seu servidor em Azure utilizando uma conta Azure AD com pelo menos a permissão ALTER ANY USER.

  2. Em Object Explorer, clique com o botão direito na base de dados e selecione Nova Consulta.

  3. Na janela de consulta, insira o seguinte comando e modifique <Azure_AD_principal_name> para o nome principal do utilizador Azure AD ou o nome de exibição do grupo Azure AD:

    CREATE USER [<Azure_AD_principal_name>] FROM EXTERNAL PROVIDER;
    

Nota

Azure AD utilizadores estão marcados nos metadados da base de dados com tipo E (EXTERNAL_USER) e tipo X (EXTERNAL_GROUPS) para grupos. Para mais informações, consulte sys.database_principals.

Fixe as cordas de ligação

Para garantir uma ligação segura e encriptada entre a aplicação do cliente e Base de Dados SQL, deve ser configurada uma cadeia de ligação para:

  • Solicite uma ligação encriptada
  • Não confie no certificado do servidor

A ligação é estabelecida usando a Segurança da Camada de Transporte (TLS) e reduz o risco de um ataque homem-no-meio. As cadeias de ligação estão disponíveis por base de dados e estão pré-configuradas para apoiar os controladores de clientes, tais como ADO.NET, JDBC, ODBC e PHP. Para obter informações sobre a TLS e a conectividade, veja Considerações sobre a TLS.

Para copiar uma cadeia de ligação segura:

  1. Na portal do Azure, selecione bases de dados SQL a partir do menu à esquerda e selecione a sua base de dados na página de bases de dados SQL.

  2. Na página 'Visão Geral ', selecione 'Mostrar as cadeias de ligação da base de dados'.

  3. Selecione um separador do controlador e copie a cadeia de ligação completa.

    Cadeia de ligação de ADO.NET

Ativar funcionalidades de segurança

SQL do Azure Database fornece funcionalidades de segurança que são acedidas através do portal do Azure. Estas funcionalidades estão disponíveis tanto para a base de dados como para o servidor, com exceção da máscara de dados, que só está disponível na base de dados. Para saber mais, consulte o Microsoft Defender para SQL, Auditoria, Mascaramento dinâmico de dados e encriptação de dados transparente.

Microsoft Defender para SQL

A funcionalidade Microsoft Defender for SQL deteta potenciais ameaças à medida que ocorrem e fornece alertas de segurança sobre atividades anómalas. Os utilizadores podem explorar estes eventos suspeitos usando a funcionalidade de auditoria e determinar se o evento foi para aceder, violar ou explorar dados na base de dados. Os utilizadores também são fornecidos uma visão geral de segurança que inclui uma avaliação de vulnerabilidade e a ferramenta de descoberta e classificação de dados.

Nota

Uma ameaça exemplo é a injeção de SQL, um processo em que os atacantes injetam SQL malicioso nas entradas de aplicações. Uma aplicação pode então executar inconscientemente o SQL malicioso e permitir que os atacantes tenham acesso a violação ou modificação de dados na base de dados.

Para ativar o Microsoft Defender para SQL:

  1. Na portal do Azure, selecione bases de dados SQL a partir do menu à esquerda e selecione a sua base de dados na página de bases de dados SQL.

  2. Na página 'Vista Geral ', selecione o link de nomes do Servidor . A página do servidor abrirá.

  3. Na página do servidor SQL , encontre a secção de Segurança e selecione Defender para Cloud.

    1. Selecione ON sob o Microsoft Defender para o SQL para ativar a funcionalidade. Escolha uma conta de armazenamento para guardar os resultados da avaliação da vulnerabilidade. Em seguida, selecione Guardar.

      Painel de navegação

      Também pode configurar e-mails para receber alertas de segurança, detalhes de armazenamento e tipos de deteção de ameaças.

  4. Volte à página de bases de dados SQL da sua base de dados e selecione Defender para Cloud na secção Segurança . Aqui encontrará vários indicadores de segurança disponíveis para a base de dados.

    Estado da ameaça

Se forem detetadas atividades anómalas, recebe um e-mail com informações sobre o evento. Isto inclui a natureza da atividade, base de dados, servidor, tempo de evento, possíveis causas, e ações recomendadas para investigar e mitigar a ameaça potencial. Se tal e-mail for recebido, selecione o link SQL do Azure Auditing Log para lançar o portal do Azure e mostrar registos de auditoria relevantes para a hora do evento.

Mensagem de e-mail sobre deteção de ameaças

Auditoria

O recurso de auditoria rastreia eventos de base de dados e escreve eventos para um registo de auditoria em armazenamento Azure, registos Azure Monitor ou para um centro de eventos. A auditoria ajuda a manter a conformidade regulatória, a compreender as atividades da base de dados e a obter informações relativas a discrepâncias e anomalias que possam indicar potenciais violações de segurança.

Para permitir a auditoria:

  1. Na portal do Azure, selecione bases de dados SQL a partir do menu à esquerda e selecione a sua base de dados na página de bases de dados SQL.

  2. Na secção Segurança , selecione Auditing.

  3. Nas definições de Auditoria , defina os seguintes valores:

    1. Defina a opção Auditoria como ATIVAR.

    2. Selecione destino de registo de auditoria como qualquer um dos seguintes:

      • Armazenamento, uma conta de armazenamento Azure onde os registos de eventos são guardados e podem ser descarregados como ficheiros .xel

        Dica

        Utilize a mesma conta de armazenamento para todas as bases de dados auditadas para tirar o máximo partido dos modelos de relatórios de auditoria.

      • Log Analytics, que armazena automaticamente eventos para consulta ou análise posterior

        Nota

        Um espaço de trabalho Log Analytics é necessário para suportar funcionalidades avançadas, tais como analíticas, regras de alerta personalizados e exportações de Excel ou Power BI. Sem espaço de trabalho, apenas o editor de consulta está disponível.

      • Event Hub, que permite que os eventos sejam encaminhados para uso em outras aplicações

    3. Selecione Guardar.

      Definições de auditoria

  4. Agora pode selecionar ver os registos de auditoria para visualizar os dados de eventos de base de dados.

    Registos de auditoria

Importante

Consulte Base de Dados SQL auditoria sobre como personalizar eventos de auditoria utilizando a PowerShell ou a REST API.

Máscara de dados dinâmica

A função de mascaramento de dados ocultará automaticamente dados sensíveis na sua base de dados.

Para permitir a mascaramento de dados:

  1. Na portal do Azure, selecione bases de dados SQL a partir do menu à esquerda e selecione a sua base de dados na página de bases de dados SQL.

  2. Na secção Segurança , selecione Máscara de Dados Dinâmicos.

  3. Em definições dinâmicas de mascaramento de dados , selecione Adicionar máscara para adicionar uma regra de mascaramento. O Azure preencherá automaticamente os esquemas de base de dados disponíveis, tabelas e colunas para escolher.

    Configurações de máscaras

  4. Selecione Guardar. As informações selecionadas estão agora mascaradas para privacidade.

    Exemplo de máscara

Encriptação de dados transparente

A funcionalidade de encriptação encripta automaticamente os seus dados em repouso e não requer alterações nas aplicações que acedem à base de dados encriptada. Para novas bases de dados, a encriptação está por defeito. Também pode encriptar dados usando SSMS e a funcionalidade Sempre encriptada .

Para ativar ou verificar encriptação:

  1. Na portal do Azure, selecione bases de dados SQL a partir do menu à esquerda e selecione a sua base de dados na página de bases de dados SQL.

  2. Na secção Segurança , selecione encriptação de dados transparente.

  3. Se necessário, desaperte a encriptação de dados para ON. Selecione Guardar.

    Encriptação de Dados Transparente

Nota

Para visualizar o estado de encriptação, ligue-se à base de dados utilizando SSMS e consulte a encryption_state coluna da vista sys.dm_database_encryption_keys . Um estado indica que a base de 3 dados está encriptada.

Nota

Alguns itens considerados conteúdo do cliente, tais como nomes de tabelas, nomes de objetos e nomes de índices, podem ser transmitidos em ficheiros de registo para suporte e resolução de problemas pela Microsoft.

Passos seguintes

Neste tutorial, aprendeu a melhorar a segurança da sua base de dados com apenas alguns passos simples. Aprendeu a:

  • Criar regras de firewall ao nível do servidor e de nível de base de dados
  • Configure um administrador do Azure Ative Directory (AD)
  • Gerir o acesso do utilizador com autenticação, autenticação Azure AD e cadeias de ligação seguras
  • Ativar funcionalidades de segurança, como o Microsoft Defender para SQL, auditoria, mascaramento de dados e encriptação

Avance para o próximo tutorial para aprender a implementar a geo-distribuição.