> For the complete documentation index, see [llms.txt](https://docs.powermonitor.com.br/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.powermonitor.com.br/es/power-monitor/qualidade-de-dados/exposicao-de-dados.md).

# Exposición de Datos

Encuentre credenciales escritas en el código de los modelos semánticos (tokens, contraseñas, claves, SAS) y, de forma opcional, riesgos más amplios de fuga de datos, con fragmentos siempre enmascarado

La **Exposición de Datos** analiza el código de todos los modelos semánticos del tenant (las consultas Power Query (M) de cada tabla, las expresiones compartidas del modelo y, cuando es necesario, la definición completa del modelo) en busca de **credenciales escritas directamente en el código** (*hard-coded*): tokens de autorización, contraseñas en cadenas de conexión, claves de API, tokens SAS, credenciales incrustadas en URL y claves privadas. De forma opcional, también señala **riesgos más amplios**, como el envío de datos a endpoints externos, destinos FTP, rutas locales y conexiones armadas dinámicamente.

**Cómo acceder:** *Calidad de Datos › Exposición de Datos*. Disponible para todos los perfiles (solo lectura).

<figure><picture><source srcset="/files/nrPER4ilueZZAbkPYMT3" media="(prefers-color-scheme: dark)"><img src="https://4061945739-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FHiNRgoZ8eJ4rcnrLAoso%2Fuploads%2Fgit-blob-de9333b99b00b7f140cc36030b40a1ebe00c6650%2Fpm-qualidade-exposicao-resumo-es.png?alt=media" alt="Pantalla Exposición de Datos con el aviso de enmascaramiento, el resumen de modelos afectados y los hallazgos por modelo"></picture><figcaption><p>Resumen y hallazgos por modelo, con los fragmentos enmascarados</p></figcaption></figure>

## Para qué sirve

* **Auditoría de seguridad**: garantizar que ningún modelo publicado contenga contraseñas, tokens o claves en texto claro: cualquier persona con permiso de edición en el modelo (o que descargue el archivo) podría leerlos.
* **Cumplimiento (LGPD, ISO 27001, SOC 2)**: evidenciar la verificación periódica de secretos en el código.
* **Prevención de fugas**: habilitar los riesgos amplios para descubrir modelos que envían datos hacia afuera (solicitudes HTTP con cuerpo, FTP) o que leen desde rutas locales y recursos compartidos de red.

## Funcionalidades

### Filtrar tipos de riesgo

**Qué es:** el botón **Filtrar tipos de riesgo**, en la parte superior de la pantalla, con el contador *N de 14 tipos* y un menú con dos grupos: **Credenciales incrustadas** (marcadas de forma predeterminada) y **Riesgos amplios (opcional)** (desmarcados de forma predeterminada).

**Para qué sirve:** elegir qué debe señalar el análisis: solo secretos en el código (predeterminado) o también riesgos de fuga, como envío de datos hacia afuera, FTP y rutas locales.

<figure><picture><source srcset="/files/nnbid5QzrhgpHUfku5gX" media="(prefers-color-scheme: dark)"><img src="https://4061945739-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FHiNRgoZ8eJ4rcnrLAoso%2Fuploads%2Fgit-blob-022077a7ff383cf331b09e7c7dd87385fe164968%2Fpm-qualidade-exposicao-filtro-es.png?alt=media" alt="Menú Filtrar tipos de riesgo abierto con los grupos de credenciales y riesgos amplios"></picture><figcaption><p>Filtro de tipos de riesgo con los dos grupos</p></figcaption></figure>

**Cómo usar:**

1. Haga clic en **Filtrar tipos de riesgo**.
2. Marque o desmarque las casillas de los tipos deseados. El resumen y la lista de modelos se actualizan de inmediato, sin recargar la página.
3. Use los botones del menú: **Seleccionar todos** (los 14 tipos), **Limpiar selección** (desmarca todo, para marcar solo lo que desee) y **Restablecer valor predeterminado (solo credenciales)**.

**Cómo funciona:** la severidad se indica con el color de la insignia del tipo: **rojo** (alta), **ámbar** (media), **gris** (baja) y **azul** (informativa). La selección solo vale mientras usted está en la pantalla: al salir y volver, el filtro vuelve al valor predeterminado (solo credenciales).

**Credenciales incrustadas** (seleccionadas de forma predeterminada):

| Tipo                       | Qué se detecta                                                                               | Severidad |
| -------------------------- | -------------------------------------------------------------------------------------------- | --------- |
| **Token de autorización**  | Encabezado `Authorization` con token Bearer/Basic escrito en el código                       | Alta      |
| **Contraseña en conexión** | Contraseña escrita en una cadena de conexión o en un parámetro de conector                   | Alta      |
| **Clave privada**          | Bloque de clave privada (PEM) en el código                                                   | Alta      |
| **Clave de API / token**   | Clave de API, clave de cuenta, token de acceso o *client secret* con valor literal           | Media     |
| **Token SAS**              | Firma de acceso compartido de Azure Storage (`sig=`, `SharedAccessSignature`)                | Media     |
| **Credencial en la URL**   | Usuario y contraseña incrustados en la dirección (`protocolo://usuario:contraseña@servidor`) | Media     |

**Riesgos amplios (opcional)** (desmarcados de forma predeterminada):

| Tipo                                             | Qué se detecta                                                               | Severidad   |
| ------------------------------------------------ | ---------------------------------------------------------------------------- | ----------- |
| **Exfiltración de datos**                        | Datos del modelo serializados y enviados a un destino de red                 | Alta        |
| **Envío de cuerpo en solicitud HTTP**            | Llamada `Web.Contents` con cuerpo de solicitud: datos enviados a un endpoint | Alta        |
| **Destino FTP/SFTP**                             | Transferencia a un servidor FTP/SFTP/FTPS                                    | Alta        |
| **Archivo local**                                | Ruta local fija (por ejemplo, `C:\...`)                                      | Media       |
| **Recurso compartido de red**                    | Ruta de red UNC fija (`\\servidor\carpeta`)                                  | Media       |
| **Conexión dinámica (destino oculto)**           | Conector cuya dirección se arma dinámicamente, ocultando el destino real     | Media       |
| **Native query (revisar SQL dinámico)**          | Uso de `Value.NativeQuery`: revise si el SQL se arma dinámicamente           | Baja        |
| **Almacenamiento externo (SharePoint/OneDrive)** | Acceso a SharePoint/OneDrive: informativo, no es una fuga por sí solo        | Informativa |

### Aviso de enmascaramiento y resumen

**Qué es:** la franja azul *"Por seguridad, los fragmentos mostrados ya vienen enmascarados por el backend. No se reconstruye ni se muestra ninguna credencial completa."* y, debajo, la tarjeta de resumen: roja cuando hay hallazgos y verde cuando no los hay.

**Para qué sirve:** saber de inmediato cuántos modelos tienen riesgos expuestos, según el filtro actual.

<figure><picture><source srcset="/files/nrPER4ilueZZAbkPYMT3" media="(prefers-color-scheme: dark)"><img src="https://4061945739-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FHiNRgoZ8eJ4rcnrLAoso%2Fuploads%2Fgit-blob-de9333b99b00b7f140cc36030b40a1ebe00c6650%2Fpm-qualidade-exposicao-resumo-es.png?alt=media" alt="Aviso de enmascaramiento y tarjeta de resumen con la cantidad de modelos con riesgos expuestos"></picture><figcaption><p>Aviso de enmascaramiento y resumen</p></figcaption></figure>

**Cómo funciona:**

* Con hallazgos: **"X de Y modelos con riesgos expuestos (según el filtro actual)"**, con la recomendación de eliminar las credenciales del código y preferir conexiones parametrizadas o gateways. *Y* es el total de modelos analizados y no cambia con el filtro.
* Sin hallazgos: *"Ningún modelo analizado presenta riesgos expuestos según el filtro actual."*
* Mientras calcula, aparece *Cargando informe...*. Si la consulta falla, aparece *No se pudo cargar el informe de filtración de credenciales.* con el botón **Reintentar**.

### Hallazgos por modelo

**Qué es:** un bloque para cada modelo afectado, con el **nombre**, el **workspace** y el total de *hallazgo(s)*, seguido de la tabla de hallazgos.

**Para qué sirve:** saber exactamente dónde está cada problema para corregirlo.

<figure><picture><source srcset="/files/kZ0u6E2AQpC1hMUUZaVm" media="(prefers-color-scheme: dark)"><img src="https://4061945739-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FHiNRgoZ8eJ4rcnrLAoso%2Fuploads%2Fgit-blob-5b09449b44d88197ab02d803c7a236eb9377244d%2Fpm-qualidade-exposicao-ocorrencias-es.png?alt=media" alt="Bloque de un modelo con las columnas Tipo, Ubicación y Fragmento enmascarado"></picture><figcaption><p>Hallazgos de un modelo, con el fragmento enmascarado</p></figcaption></figure>

| Columna                     | Contenido                                                                                                                                                                |
| --------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| **Tipo**                    | Tipo de riesgo, con color según la severidad                                                                                                                             |
| **Ubicación**               | Dónde está el problema: *Tabla: {nombre}*, *Expresión del modelo: {nombre}* o, cuando no es posible atribuirlo a una tabla o expresión, la definición general del modelo |
| **Fragmento (enmascarado)** | Fragmento del código con el secreto reducido a los primeros caracteres                                                                                                   |

**Cómo usar:** desplácese por la pantalla para ver los bloques; use la columna **Ubicación** para saber en qué tabla o expresión del modelo está el código y siga [Cómo tratar una credencial expuesta](#como-tratar-una-credencial-expuesta).

### Riesgos amplios en el análisis

**Qué es:** la inclusión de los tipos del grupo **Riesgos amplios (opcional)** en el filtro.

**Para qué sirve:** descubrir modelos que envían datos hacia afuera (solicitudes HTTP con cuerpo, FTP), que leen desde rutas locales y recursos compartidos de red, o que arman conexiones dinámicamente.

<figure><picture><source srcset="/files/4Jvv6UghPRI9MxOoWiIe" media="(prefers-color-scheme: dark)"><img src="https://4061945739-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FHiNRgoZ8eJ4rcnrLAoso%2Fuploads%2Fgit-blob-368cb9293ce1956cb2b982298ae28661009ab617%2Fpm-qualidade-exposicao-riscos-amplos-es.png?alt=media" alt="Resultado con los 14 tipos de riesgo seleccionados"></picture><figcaption><p>Resultado con los riesgos amplios incluidos</p></figcaption></figure>

**Cómo usar:**

1. Haga clic en **Filtrar tipos de riesgo**.
2. En el grupo **Riesgos amplios (opcional)**, marque los tipos deseados (por ejemplo, **Exfiltración de datos**, **Envío de cuerpo en solicitud HTTP** y **Destino FTP/SFTP**), o haga clic en **Seleccionar todos**.
3. Revise el resumen y los bloques actualizados. Para volver, haga clic en **Restablecer valor predeterminado (solo credenciales)**.

**Cómo funciona:** los riesgos amplios se buscan solo en el código Power Query (consultas de las tablas y expresiones del modelo), no en la definición general, para evitar falsos positivos.

### Artefactos estándar de Microsoft

**Qué es:** el aviso *N artefactos estándar de Microsoft ignorados*, en la parte superior de la pantalla. Aparece siempre que el análisis dejó fuera artefactos que la propia Microsoft crea en el tenant: Fabric Capacity Metrics, los modelos de métricas de uso generados automáticamente, el workspace Admin monitoring y similares. El ícono de información junto a él explica la regla. El aviso solo aparece cuando se ignoró al menos un artefacto (en singular, *1 artefacto estándar de Microsoft ignorado*).

**Para qué sirve:** evitar que elementos que no forman parte de su negocio distorsionen los totales y las listas de riesgo. El mismo aviso aparece en otras pantallas de análisis, como el [Inventario del Ambiente](/es/power-monitor/qualidade-de-dados/inventario-do-ambiente.md) y el [Dashboard de Eficiencia](/es/power-monitor/dashboards/dashboard-de-eficiencia.md).

**Quién puede configurarlo:** solo los Administradores ven el botón **Configurar**, que abre la ventana **Artefactos estándar de Microsoft**.

<figure><picture><source srcset="/files/Izr1QuaeKGAM6CNAgtaf" media="(prefers-color-scheme: dark)"><img src="https://4061945739-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FHiNRgoZ8eJ4rcnrLAoso%2Fuploads%2Fgit-blob-d42940b6d8b2093524c2165dbc9cb1750c97fba3%2Fpm-qualidade-artefatos-microsoft-modal-es.png?alt=media" alt="Ventana Artefactos estándar de Microsoft con el interruptor Ignorar artefactos estándar de Microsoft, las reglas incorporadas y los patrones de nombre de la organización"></picture><figcaption><p>Ventana de configuración de los artefactos estándar de Microsoft</p></figcaption></figure>

| Elemento de la ventana                       | Qué hace                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| -------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Ignorar artefactos estándar de Microsoft** | Interruptor que activa o desactiva la regla para toda la organización. Viene **activado por defecto**. Con él desactivado, los informes y modelos de Microsoft vuelven a los conteos y a las listas de riesgo y pasan a analizarse como si fueran de su negocio (la ventana muestra una advertencia).                                                                                                                                                                                             |
| **Reglas incorporadas**                      | Solo lectura. Se dividen en **Reglas estructurales** (workspaces de administración y personales; modelos de métricas de uso generados por Microsoft; informes vinculados a esos modelos; el workspace y el modelo configurados como fuente de Capacity Metrics de la organización) y **Patrones de nombre** conocidos (por ejemplo, *Capacity Metrics*, *Usage Metrics Report*, *Admin monitoring*, *Feature Usage and Adoption*, *Purview Hub* y los elementos de preparación de los dataflows). |
| **Patrones de nombre de la organización**    | Sus propios patrones, hasta **50**, cada uno con un máximo de **100 caracteres**. El asterisco (`*`) es el único comodín y la comparación no distingue mayúsculas de minúsculas. Ejemplo: `Prueba*`. Escriba el patrón, haga clic en **Agregar** y, para deshacer, quite el patrón con el botón de quitar junto a él.                                                                                                                                                                             |

**Cómo funciona:**

* Las reglas estructurales van primero (tipo de workspace, tipo de contenido del modelo y la fuente de Capacity Metrics, que se reconoce por identificador y nunca por nombre); los nombres sirven de complemento. Una información desconocida nunca excluye un artefacto.
* Los patrones de nombre incorporados incluyen *Capacity Metrics* como parte del nombre: un modelo suyo llamado, por ejemplo, "Capacity Metrics Review" también se ignora. Si eso estorba, desactive la regla.
* Al guardar, la pantalla se recarga y los números reflejan la nueva configuración.

## Reglas y comportamiento

* **El secreto nunca se muestra ni se almacena.** El enmascaramiento ocurre en el servidor; la pantalla recibe solo los primeros caracteres del valor. Las rutas locales también se acortan para no revelar nombres de usuario.
* **Las referencias no se señalan.** Un parámetro de Power Query (por ejemplo, `Password = MiParametro`) no se considera una credencial incrustada; solo los valores literales entre comillas y los tokens Bearer/Basic escritos en el código.
* **Sin duplicados.** La misma credencial encontrada en la consulta de una tabla y en la definición general del modelo se cuenta una sola vez, atribuida a la tabla.
* **Riesgos amplios solo en el código Power Query.** Se buscan en las consultas de las tablas y en las expresiones del modelo, no en la definición general, para evitar falsos positivos.
* **Cobertura.** Se analizan los **modelos semánticos**. Los notebooks y otros elementos de Fabric todavía no están cubiertos.
* **Actualización.** El informe se calcula cada vez que usted abre la pantalla, sobre el código recopilado en el último escaneo de los modelos.
* **Alcance de workspace.** Solo los modelos de los workspaces que usted puede ver.
* **Modelos eliminados.** Un modelo que ya fue eliminado en Fabric no se lista: ya no hay dónde quitar la credencial.
* **Artefactos estándar de Microsoft.** Quedan fuera del análisis por defecto; vea [Artefactos estándar de Microsoft](#artefactos-estandar-de-microsoft).

{% hint style="warning" %}
Aunque esté enmascarado, el contenido de esta pantalla es información de seguridad sensible. Trate la corrección como prioridad: elimine la credencial del código, **cambie (rote) la contraseña o el token expuesto** (puede que ya se haya copiado) y pase a usar credenciales almacenadas en la conexión, en el gateway o en un almacén de secretos. Al compartir capturas de pantalla o exportaciones de esta pantalla, tenga el mismo cuidado que tendría con los datos de clientes.
{% endhint %}

## Paso a paso: escenarios comunes

### Cómo verificar si hay credenciales expuestas

1. Acceda a *Calidad de Datos › Exposición de Datos*. El informe se calcula al abrir la pantalla (aparece *Cargando informe...*), ya con el filtro predeterminado: solo los 6 tipos de **Credenciales incrustadas**.
2. Lea el resumen: **X de Y modelos con riesgos expuestos (según el filtro actual)** o, si no se encontró nada, *No se encontraron riesgos expuestos*.
3. Desplácese por la pantalla para ver el bloque de cada modelo afectado, con el workspace, el número de hallazgos y la tabla **Tipo**, **Ubicación** y **Fragmento (enmascarado)**.

Si aparece *No se pudo cargar el informe de filtración de credenciales.*, haga clic en **Reintentar**.

### Cómo investigar un tipo de riesgo específico

1. Abra **Filtrar tipos de riesgo** y haga clic en **Limpiar selección**.
2. Marque solo el tipo que desea investigar (por ejemplo, **Conexión dinámica (destino oculto)**).
3. La lista pasa a mostrar solo los modelos con ese tipo de hallazgo; use la columna **Ubicación** para saber en qué tabla o expresión del modelo está el código.

### Cómo tratar una credencial expuesta

{% stepper %}
{% step %}

### Identifique el lugar

Anote el modelo, el workspace y la **Ubicación** (tabla o expresión).
{% endstep %}

{% step %}

### Rote la credencial

Pida al responsable del sistema de origen que cambie la contraseña, el token o la clave expuesta.
{% endstep %}

{% step %}

### Corrija el modelo

En Power BI Desktop o en el editor del modelo, elimine el valor del código Power Query y configure la credencial en la conexión/gateway (o use un parámetro). Publique el modelo.
{% endstep %}

{% step %}

### Confirme

Después del próximo escaneo del modelo, abra la pantalla nuevamente y confirme que el hallazgo desapareció.
{% endstep %}
{% endstepper %}

## Preguntas frecuentes

<details>

<summary>Corregí el modelo, pero el hallazgo sigue apareciendo.</summary>

El análisis usa el código recopilado en el último escaneo del modelo. Espere el próximo ciclo de recopilación (o pida a un administrador que lo ejecute en [Mapeo](/es/power-monitor/mapeamento.md)) y abra la pantalla nuevamente.

</details>

<details>

<summary>¿"Almacenamiento externo (SharePoint/OneDrive)" es un problema?</summary>

No necesariamente. SharePoint y OneDrive son destinos corporativos legítimos; el elemento es **informativo**, útil para mapear qué modelos dependen de archivos en esas ubicaciones.

</details>

<details>

<summary>¿Por qué el total de modelos ("de Y") no cambia cuando modifico el filtro?</summary>

*Y* es la cantidad de modelos analizados. El filtro solo cambia qué tipos de riesgo se consideran para contar los modelos afectados (*X*).

</details>

## Páginas relacionadas

* [Inventario del Ambiente](/es/power-monitor/qualidade-de-dados/inventario-do-ambiente.md): cruce los modelos afectados con RLS y etiqueta de confidencialidad
* [Auditoría de Permisos](/es/power-monitor/auditoria/auditoria-de-permissoes.md): quién tiene acceso a los modelos afectados
* [Gobernanza › Infraestructura › Conexiones](/es/power-monitor/governanca/infraestrutura/conexoes.md)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.powermonitor.com.br/es/power-monitor/qualidade-de-dados/exposicao-de-dados.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
