Translated ['src/pentesting-cloud/azure-security/az-services/az-sql.md']

This commit is contained in:
Translator
2025-03-21 09:08:24 +00:00
parent 90c4e6bddf
commit ced6a4a5e1

View File

@@ -24,19 +24,19 @@ Azure SQL consiste em quatro ofertas principais:
**Métodos de Autenticação:**
- Autenticação **somente Entra** da Microsoft: Você precisa indicar os principais do Entra que terão acesso ao serviço.
- Autenticação **somente Entra** da Microsoft: Você precisa indicar os princípios Entra que terão acesso ao serviço.
- Autenticação **tanto SQL quanto Microsoft Entra**: Autenticação SQL tradicional com nome de usuário e senha juntamente com Microsoft Entra.
- Autenticação **somente SQL**: Permitir acesso apenas via usuários de banco de dados.
Observe que, se qualquer autenticação SQL for permitida, um usuário administrador (nome de usuário + senha) precisa ser indicado e, se a autenticação do Entra ID for selecionada, também é necessário indicar pelo menos um principal com acesso de administrador.
Observe que, se qualquer autenticação SQL for permitida, um usuário administrador (nome de usuário + senha) precisa ser indicado e, se a autenticação Entra ID for selecionada, também é necessário indicar pelo menos um princípio com acesso de administrador.
**Criptografia:**
- É chamada de “Criptografia de dados transparente” e criptografa bancos de dados, backups e logs em repouso.
- Como sempre, uma chave gerenciada pela Azure é usada por padrão, mas uma chave de criptografia gerenciada pelo cliente (CMEK) também pode ser usada.
- Como sempre, uma chave gerenciada pela Azure é usada por padrão, mas uma chave de criptografia gerenciada pelo cliente (CMEK) também pode ser utilizada.
**Identidades Gerenciadas:**
- É possível atribuir identidades gerenciadas do sistema e do usuário.
- É possível atribuir identidades gerenciadas de sistema e de usuário.
- Usadas para acessar a chave de criptografia (se uma CMEK for usada) e outros serviços dos bancos de dados.
- Para alguns exemplos dos serviços Azure que podem ser acessados a partir do banco de dados, consulte [esta página da documentação](https://learn.microsoft.com/en-us/sql/t-sql/statements/create-external-data-source-transact-sql)
- Se mais de uma UMI for atribuída, é possível indicar a padrão a ser usada.
@@ -69,14 +69,14 @@ GO
```
**Microsoft Defender:**
- Útil para “mitigar vulnerabilidades potenciais do banco de dados e detectar atividades anômalas”
- Falaremos sobre o Defender em sua própria lição (pode ser habilitado em vários outros serviços do Azure)
- Útil para “mitigar potenciais vulnerabilidades de banco de dados e detectar atividades anômalas”
- Vamos falar sobre o Defender em sua própria lição (ele pode ser habilitado em vários outros serviços do Azure)
**Backups:**
- A frequência de backup é gerenciada nas políticas de retenção.
**Bancos de dados excluídos:**
- É possível restaurar bancos de dados que foram excluídos de backups existentes.
- É possível restaurar DBs que foram excluídos de backups existentes.
## Azure SQL Database
@@ -97,11 +97,11 @@ Para criar um banco de dados SQL, é necessário indicar o servidor SQL onde ele
- **Redundância de dados:** As opções são local, zona, Geo ou redundante Geo-Zona.
- **Ledger:** Verifica criptograficamente a integridade dos dados, garantindo que qualquer adulteração seja detectada. Útil para organizações financeiras, médicas e qualquer organização que gerencie dados sensíveis.
Um banco de dados SQL pode fazer parte de um **pool elástico**. Pools elásticos são uma solução econômica para gerenciar vários bancos de dados compartilhando recursos de computação (eDTUs) e armazenamento configuráveis entre eles, com preços baseados exclusivamente nos recursos alocados, em vez do número de bancos de dados.
Um banco de dados SQL pode fazer parte de um **elastic Pool**. Pools elásticos são uma solução econômica para gerenciar vários bancos de dados compartilhando recursos de computação (eDTUs) e armazenamento configuráveis entre eles, com preços baseados exclusivamente nos recursos alocados, em vez do número de bancos de dados.
#### Segurança em Nível de Coluna (Mascaramento) e Segurança em Nível de Linha do Azure SQL
O **mascaramento de dados dinâmico** do Azure SQL é um recurso que ajuda a **proteger informações sensíveis ocultando-as** de usuários não autorizados. Em vez de alterar os dados reais, ele mascara dinamicamente os dados exibidos, garantindo que detalhes sensíveis, como números de cartão de crédito, sejam ocultados.
O **mascaramento de dados dinâmico** do Azure SQL é um recurso que ajuda a **proteger informações sensíveis ocultando-as** de usuários não autorizados. Em vez de alterar os dados reais, ele mascara dinamicamente os dados exibidos, garantindo que detalhes sensíveis, como números de cartão de crédito, sejam obscurecidos.
O **Mascaramento de Dados Dinâmico** afeta todos os usuários, exceto aqueles que estão desmascarados (esses usuários precisam ser indicados) e administradores. Ele possui a opção de configuração que especifica quais usuários SQL estão isentos do mascaramento dinâmico de dados, com **administradores sempre excluídos**.
@@ -109,11 +109,11 @@ A **Segurança em Nível de Linha (RLS)** do Azure SQL é um recurso que **contr
### Azure SQL Managed Instance
**Azure SQL Managed Instances** são para implantações em maior escala, abrangendo toda a instância do SQL Server. Ele fornece quase 100% de compatibilidade com o mais recente SQL Server local (Edição Enterprise) Database Engine, que oferece uma implementação nativa de rede virtual (VNet) que aborda preocupações comuns de segurança, e um modelo de negócios favorável para clientes do SQL Server local.
As **Instâncias Gerenciadas do Azure SQL** são para implantações em maior escala, abrangendo toda a instância do SQL Server. Elas oferecem quase 100% de compatibilidade com o mecanismo de banco de dados do SQL Server on-premises mais recente (Edição Enterprise), que fornece uma implementação nativa de rede virtual (VNet) que aborda preocupações comuns de segurança, e um modelo de negócios favorável para clientes do SQL Server on-premises.
### Azure SQL Virtual Machines
**Azure SQL Virtual Machines** permite **controlar o sistema operacional** e a instância do SQL Server, já que uma VM será criada no serviço de VM executando o servidor SQL.
As **Máquinas Virtuais do Azure SQL** permitem **controlar o sistema operacional** e a instância do SQL Server, já que uma VM será criada no serviço de VM executando o servidor SQL.
Quando uma Máquina Virtual SQL é criada, é possível **selecionar todas as configurações da VM** (como mostrado na lição da VM) que hospedará o servidor SQL.
- Isso significa que a VM estará acessando algumas VNet(s), pode ter **Identidades Gerenciadas anexadas** a ela, pode ter compartilhamentos de arquivos montados… tornando um **pivoting do SQL** para a VM super interessante.
@@ -209,7 +209,7 @@ az rest --method get \
# Get DataMaskingPolicies of a database
az rest --method get \
--uri "https://management.azure.com/subscriptions/9291ff6e-6afb-430e-82a4-6f04b2d05c7f/resourceGroups/Resource_Group_1/providers/Microsoft.Sql/servers/getstorageserver/databases/masktest/dataMaskingPolicies/Default?api-version=2021-11-01"
--uri "https://management.azure.com/subscriptions/<subscriptionId>/resourceGroups/<resourceGroupName>/providers/Microsoft.Sql/servers/<serverName>/databases/<databaseName>/dataMaskingPolicies/Default?api-version=2021-11-01"
az rest --method get \
--uri "https://management.azure.com/subscriptions/<subscriptionId>/resourceGroups/<resourceGroupName>/providers/Microsoft.Sql/servers/<serverName>/databases/<databaseName>/dataMaskingPolicies/Default/rules?api-version=2021-11-01"