Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
El registro y la supervisión eficaces le ayudan a detectar y responder a eventos de seguridad en Databricks Apps. Las aplicaciones generan registros de nivel de aplicación y registros de auditoría de plataforma, que puede usar para el diagnóstico, el seguimiento del rendimiento y el análisis de seguridad.
Registros de aplicación
Para que los registros estén disponibles en la interfaz de usuario de Databricks Apps o a través de la dirección URL de la aplicación, la aplicación debe escribir la salida stdout en y stderr.
Acceda a los registros de aplicaciones de las maneras siguientes:
- Interfaz de usuario de aplicaciones: En la página de detalles de la aplicación, haga clic en la pestaña Registros para ver la salida y el error estándar. Para obtener más información, consulte Visualización de los detalles de una aplicación de Databricks.
-
Dirección URL directa: Anexe
/logza la dirección URL de la aplicación. Por ejemplo, si la dirección URL de la aplicación eshttps://my-app-1234567890.my-instance.databricksapps.com, los registros están disponibles enhttps://my-app-1234567890.my-instance.databricksapps.com/logz.
Nota:
Azure Databricks no conserva los registros cuando se cierra el proceso de la aplicación. Para el registro persistente, integre con servicios de registro externos o escriba registros en volúmenes o tablas del catálogo de Unity.
Integración con servicios de registro externo
Para las funcionalidades de registro persistente y supervisión avanzada, use lo siguiente:
- Herramientas de supervisión del rendimiento de aplicaciones (APM): Use las herramientas de supervisión de rendimiento de aplicaciones de New Relic, Datadog o similares para recopilar y analizar registros, métricas y seguimientos.
- Persistencia del registro personalizado: Escriba registros periódicamente en volúmenes o tablas del catálogo de Unity para el almacenamiento y el análisis a largo plazo.
Consulte Procedimientos de registro recomendados para obtener instrucciones sobre el formato de registro y el contenido.
Procedimientos de registro recomendados
Para integrarse con sistemas de supervisión externos y alertas en tiempo real:
- Dar formato a los registros en FORMATO JSON u otros formatos analizables por máquina.
- Registrar eventos relevantes para la seguridad con contexto:
- Eventos de autenticación y autorización, incluida la identidad y el resultado del usuario
- Detalles de acceso a datos, como los nombres de catálogo, esquema y tabla
- Errores relacionados con la seguridad, como tokens no válidos, denegaciones de permisos y actividad sospechosa
- Reenvíe los registros a sistemas externos. Integración con APM o herramientas de agregación de registros para admitir alertas en tiempo real, respuesta a incidentes de seguridad, análisis de uso y rendimiento, y correlación con los registros del sistema de Azure Databricks.
Consideraciones de seguridad para el registro
Las aplicaciones de Databricks están diseñadas con los siguientes controles integrados para evitar la filtración de datos:
- Acceso de solo API: las aplicaciones solo pueden acceder a los recursos de Azure Databricks a través de las API públicas de Azure Databricks. Estas API son auditables a través de los registros de tabla del sistema.
- Comunicación cifrada: todo el tráfico de API se cifra mediante TLS 1.2 o superior para garantizar la transferencia de datos segura.
Supervisión de seguridad con tablas del sistema
Azure Databricks captura los registros de auditoría de las actividades relacionadas con la aplicación en la system.access.audit tabla. Puede consultar estos registros para realizar un seguimiento de las acciones del usuario, los cambios en la configuración de la aplicación y los eventos de seguridad.
Use registros de auditoría para admitir los siguientes escenarios comunes de supervisión y seguridad:
- Realizar un seguimiento de la actividad de inicio de sesión de la aplicación. Consulte Inicios de sesión de apps.
- Supervise los cambios de permisos. Consulte Cambios de permisos.
- Audite la creación y modificación de la aplicación. Consulte Creación de aplicaciones.
- Analice el comportamiento del usuario dentro de las aplicaciones. Consulte Acciones del usuario.
Use las siguientes consultas para supervisar las actividades relacionadas con la seguridad y detectar posibles problemas con las aplicaciones.
Supervisión de los cambios de permisos de aplicación
Use esta consulta para detectar modificaciones de permisos de aplicación:
-- Monitor all app permission modifications in the last 30 days
WITH permission_changes AS (
SELECT
event_date,
workspace_id,
request_params.request_object_id AS app_name,
user_identity.email AS modified_by,
explode(from_json(
request_params.access_control_list,
'array<struct<user_name:string,group_name:string,permission_level:string>>'
)) AS permission
FROM system.access.audit
WHERE action_name = 'changeAppsAcl'
AND event_date >= current_date() - 30
)
SELECT
event_date,
app_name,
modified_by,
permission.user_name,
permission.group_name,
permission.permission_level
FROM permission_changes
ORDER BY event_date DESC
Identificación de aplicaciones con ámbitos de API de usuario
Use esta consulta para buscar aplicaciones con ámbitos de API de usuario configurados:
-- Find apps created or updated in the last 30 days with user API scopes configured
SELECT
event_date,
get_json_object(request_params.app, '$.name') AS app_name,
user_identity.email AS creator_email,
get_json_object(request_params.app, '$.user_api_scopes') AS user_api_scopes
FROM system.access.audit
WHERE
action_name IN ('createApp', 'updateApp')
AND get_json_object(request_params.app, '$.user_api_scopes') IS NOT NULL
AND event_date >= current_date() - INTERVAL 30 DAYS
Seguimiento de acciones de autorización de usuario
Use esta consulta para enumerar las acciones de aplicación realizadas con autorización de usuario:
-- List app actions performed on behalf of users in the last 30 days
WITH obo_events AS (
SELECT
event_date,
workspace_id,
audit_level,
identity_metadata.acting_resource AS app_id, -- OAuth App ID or name
user_identity.email AS user_email, -- Logged-in user
service_name,
action_name
FROM system.access.audit
WHERE event_date >= current_date() - 30
AND identity_metadata.acting_resource IS NOT NULL
)
SELECT
event_date,
app_id,
user_email,
service_name,
action_name,
audit_level,
COUNT(*) AS event_count
FROM obo_events
GROUP BY
event_date, app_id, user_email, service_name, action_name, audit_level
ORDER BY event_date DESC;
Supervisión operativa
Use tablas del sistema para supervisar los aspectos operativos de las aplicaciones, como el costo y el uso de recursos.
Supervisión de los costos de la aplicación
Supervise los costos de Databricks Apps mediante la system.billing.usage tabla . Use la consulta siguiente para obtener información precisa sobre los costos de las aplicaciones al día o al mes:
-- Get Databricks Apps cost by app per day for the last 30 days
SELECT
us.usage_date,
us.usage_metadata.app_id,
us.usage_metadata.app_name,
SUM(us.usage_quantity) AS dbus,
SUM(us.usage_quantity * lp.pricing.effective_list.default) AS dollars
FROM
system.billing.usage us
LEFT JOIN system.billing.list_prices lp
ON lp.sku_name = us.sku_name
AND us.usage_start_time BETWEEN lp.price_start_time AND COALESCE(lp.price_end_time, NOW())
WHERE
billing_origin_product = 'APPS'
AND us.usage_unit = 'DBU'
AND us.usage_date >= DATE_SUB(NOW(), 30)
GROUP BY ALL
Databricks Apps admite directivas presupuestarias para ayudar a realizar un seguimiento de los costos. Para obtener información sobre cómo configurar directivas de presupuesto, consulte Uso de atributos con directivas de presupuesto sin servidor.