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

This commit is contained in:
Translator
2025-03-21 09:02:17 +00:00
parent 59a372b964
commit 6152597f3e

View File

@@ -32,17 +32,17 @@ Ten en cuenta que si se permite cualquier autenticación SQL, se necesita indica
**Cifrado:**
- Se llama "Cifrado de datos transparente" y cifra bases de datos, copias de seguridad y registros en reposo.
- Como siempre, se utiliza una clave gestionada por Azure de forma predeterminada, pero también se podría utilizar una clave de cifrado gestionada por el cliente (CMEK).
- Se llama Cifrado de datos transparente y cifra bases de datos, copias de seguridad y registros en reposo.
- Como siempre, se utiliza una clave gestionada por Azure de forma predeterminada, pero también se podría usar una clave de cifrado gestionada por el cliente (CMEK).
**Identidades Gestionadas:**
- Es posible asignar identidades gestionadas del sistema y del usuario.
- Se utilizan para acceder a la clave de cifrado (si se utiliza un CMEK) y otros servicios desde las bases de datos.
- Para algunos ejemplos de los servicios de Azure que se pueden acceder desde la base de datos, consulta [esta página de la documentación](https://learn.microsoft.com/en-us/sql/t-sql/statements/create-external-data-source-transact-sql)
- Si se asigna más de una UMI, es posible indicar la predeterminada a utilizar.
- Si se asigna más de un UMI, es posible indicar cuál usar como predeterminado.
- Es posible configurar una identidad de cliente federada para el acceso entre inquilinos.
Algunos comandos para acceder a información dentro de un almacenamiento blob desde una base de datos SQL:
Algunos comandos para acceder a información dentro de un blob storage desde una base de datos SQL:
```sql
-- Create a credential for the managed identity
CREATE DATABASE SCOPED CREDENTIAL [ManagedIdentityCredential]
@@ -84,9 +84,9 @@ GO
Para crear una base de datos SQL es necesario indicar el servidor SQL donde se alojará.
### Características de seguridad de SQL Database
### Características de Seguridad de la Base de Datos SQL
- **Siempre Actualizado**: Se ejecuta en la última versión estable de SQL Server y recibe nuevas características y parches automáticamente.
- **Siempre Actualizado**: Funciona en la última versión estable de SQL Server y recibe nuevas características y parches automáticamente.
- **Características de seguridad heredadas de SQL Server:**
- Autenticación (SQL y/o Entra ID)
- Identidades gestionadas asignadas
@@ -109,17 +109,17 @@ La **Seguridad a Nivel de Fila (RLS) de Azure SQL** es una característica que *
### Azure SQL Managed Instance
**Azure SQL Managed Instances** son para implementaciones a gran escala, de toda la instancia de SQL Server. Proporciona casi un 100% de compatibilidad con el último motor de base de datos SQL Server en las instalaciones (Edición Empresarial), que ofrece una implementación nativa de red virtual (VNet) que aborda preocupaciones comunes de seguridad, y un modelo de negocio favorable para los clientes de SQL Server en las instalaciones.
**Azure SQL Managed Instances** son para implementaciones de mayor escala, de toda la instancia de SQL Server. Proporciona casi un 100% de compatibilidad con el último motor de base de datos SQL Server en las instalaciones (Edición Empresarial), que ofrece una implementación nativa de red virtual (VNet) que aborda preocupaciones de seguridad comunes, y un modelo de negocio favorable para los clientes de SQL Server en las instalaciones.
### Azure SQL Virtual Machines
**Azure SQL Virtual Machines** permite **controlar el sistema operativo** y la instancia de SQL Server, ya que se generará una VM en el servicio de VM que ejecuta el servidor SQL.
Cuando se crea una Máquina Virtual SQL, es posible **seleccionar todas las configuraciones de la VM** (como se muestra en la lección de VM) que alojará el servidor SQL.
- Esto significa que la VM accederá a algunas VNet(s), podría tener **Identidades Gestionadas adjuntas** a ella, podría tener recursos compartidos montados… haciendo que un **pivotar desde SQL** a la VM sea muy interesante.
- Además, es posible configurar un id de aplicación y un secreto para **permitir que SQL acceda a un vault de claves específico**, que podría contener información sensible.
- Esto significa que la VM accederá a algunas VNet(s), podría tener **Identidades Gestionadas adjuntas** a ella, podría tener recursos compartidos montados… haciendo que un **pivotar desde el SQL** a la VM sea muy interesante.
- Además, es posible configurar un id de aplicación y un secreto para **permitir que el SQL acceda a un vault de claves específico**, que podría contener información sensible.
También es posible configurar cosas como **actualizaciones automáticas de SQL**, **copias de seguridad automáticas**, **autenticación de Entra ID** y la mayoría de las características de los otros servicios SQL.
También es posible configurar cosas como **actualizaciones automáticas de SQL**, **copias de seguridad automáticas**, **autenticación de Entra ID** y la mayoría de las características de los otros servicios de SQL.
## Enumeración
@@ -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"
@@ -258,7 +258,7 @@ Get-AzSqlVM
{{#endtab}}
{{#endtabs}}
Además, si deseas enumerar el enmascaramiento dinámico de datos y las políticas a nivel de fila dentro de la base de datos, puedes consultar:
Además, si deseas enumerar el Dynamic Data Masking y las políticas de Row Level dentro de la base de datos, puedes consultar:
```sql
--Enumerates the masked columns
SELECT