Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Efektivní protokolování a monitorování vám pomůže rozpoznat události zabezpečení v Databricks Apps a reagovat na ně. Aplikace generují protokoly na úrovni aplikace i protokoly auditu platformy, které můžete použít pro diagnostiku, sledování výkonu a analýzu zabezpečení.
Protokoly aplikací
Aby byly protokoly dostupné v uživatelském rozhraní Databricks Apps nebo prostřednictvím adresy URL vaší aplikace, musí aplikace zapisovat výstup do stdout a stderr.
Přístup k protokolům aplikace následujícími způsoby:
- Uživatelské rozhraní aplikací: Na stránce podrobností aplikace klikněte na kartu Protokoly a zobrazte standardní výstup a chybu. Podrobnosti viz Zobrazit podrobnosti o aplikaci Databricks.
-
Přímá adresa URL: Přidejte
/logzna konec adresy URL aplikace. Pokud je například adresa URL vaší aplikacehttps://my-app-1234567890.my-instance.databricksapps.com, protokoly jsou k dispozici nahttps://my-app-1234567890.my-instance.databricksapps.com/logz.
Poznámka:
Azure Databricks neuchovává protokoly při vypnutí výpočetních prostředků aplikace. Pro trvalé protokolování se integrujte s externími službami protokolování nebo zapisujte protokoly do svazků nebo tabulek katalogu Unity.
Integrace s externími službami logování
K trvalému protokolování a pokročilým možnostem monitorování použijte následující:
- Nástroje Application Performance Monitoring (APM): Použijte New Relic, Datadog nebo podobné nástroje pro monitorování výkonu aplikací ke shromažďování a analýze protokolů, metrik a sledování.
- Vlastní trvalost protokolů: Protokoly pravidelně zapisujte do svazků nebo tabulek katalogu Unity pro dlouhodobé ukládání a analýzu.
Pokyny k formátování protokolů a obsahu najdete v doporučených postupech protokolování .
Doporučené postupy protokolování
Integrace s externími systémy monitorování a výstrah v reálném čase:
- Formátování protokolů ve formátu JSON nebo jiných strojově parsovatelných formátech
- Protokolování událostí relevantních pro zabezpečení s kontextem:
- Události ověřování a autorizace, včetně identity uživatele a výsledku
- Podrobnosti o přístupu k datům, jako jsou katalog, schéma a názvy tabulek
- Chyby související se zabezpečením, jako jsou neplatné tokeny, odepření oprávnění a podezřelá aktivita
- Předávat protokoly externím systémům. Integrace s APM nebo nástroji pro agregaci protokolů pro podporu výstrah v reálném čase, reakce na incidenty zabezpečení, analýzy využití a výkonu a korelaci se systémovými protokoly Azure Databricks.
Aspekty zabezpečení pro protokolování
Aplikace Databricks jsou navržené s následujícími integrovanými ovládacími prvky, které brání exfiltraci dat:
- Přístup pouze k rozhraní API: Aplikace mají přístup pouze k prostředkům Azure Databricks prostřednictvím veřejných rozhraní API Azure Databricks. Tato rozhraní API jsou auditovatelná prostřednictvím protokolů systémových tabulek.
- Šifrovaná komunikace: Veškerý provoz rozhraní API je šifrovaný pomocí protokolu TLS 1.2 nebo vyšší, aby se zajistil zabezpečený přenos dat.
Monitorování zabezpečení pomocí systémových tabulek
Azure Databricks zaznamenává protokoly auditu pro aktivity související s aplikacemi v system.access.audit tabulce. Na tyto protokoly se můžete dotazovat, abyste mohli sledovat akce uživatelů, změny konfigurace aplikací a události zabezpečení.
Pomocí následujících dotazů můžete monitorovat aktivity související se zabezpečením a zjišťovat potenciální problémy s vašimi aplikacemi.
Monitorování změn oprávnění aplikace
Pomocí tohoto dotazu můžete detekovat úpravy oprávnění aplikace:
-- 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
Identifikace aplikací s obory uživatelského rozhraní API
Tento dotaz použijte k vyhledání aplikací s nakonfigurovanými obory uživatelského rozhraní API:
-- 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
Sledování akcí autorizace uživatelů
Pomocí tohoto dotazu můžete zobrazit seznam akcí aplikací prováděných s autorizací uživatele:
-- 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;
Provozní monitorování
Pomocí systémových tabulek můžete monitorovat provozní aspekty vašich aplikací, jako jsou náklady a využití prostředků.
Monitorování nákladů na aplikace
Monitorování nákladů na Databricks Apps pomocí system.billing.usage tabulky Pomocí následujícího dotazu získáte přesné informace o nákladech pro aplikace za den nebo měsíc:
-- 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 podporuje zásady rozpočtu, které pomáhají sledovat náklady. Informace o konfiguraci zásad rozpočtu najdete v tématu Používání atributů se zásadami bezserverového rozpočtu.
Sledujte poznatky o aplikaci
Důležité
Karta Přehledy je v beta verzi.
Karta Přehledy na stránce podrobností aplikace zobrazuje zapojení uživatelů a dostupnost aplikací.
Sledování prohlížeče
Tabulka Diváci sleduje, kteří uživatelé přistupují k vaší aplikaci.
Azure Databricks zaznamenává událost zobrazení, když uživatel přistupuje k aplikaci prostřednictvím adresy URL aplikace nebo prostřednictvím přístupu k rozhraní API. Ukládá data jako jedinečná pro každého uživatele a každou aplikaci. Následné návštěvy stejného uživatele přepíšou předchozí záznam místo vytvoření nového řádku.
Poslední zobrazené časové razítko se řídí 30minutovým cyklem aktualizace relace OAuth. Více návštěv během časového okna relace si uchová čas první návštěvy, ale první přístup po vypršení platnosti relace přepíše časové razítko novým časem návštěvy.
Poznámka:
V beta verzi zobrazuje poslední zobrazený čas pouze koordinovaný univerzální čas (UTC).
Dostupnost a stav zdraví
Při řešení potíží s dostupností aplikací monitorujte následující signály stavu.
- Stav služby App Service: Jestli je dostupná infrastruktura Azure Databricks podporující aplikaci. Pokud není k dispozici, došlo k problému na úrovni služeb s platformou. Kontaktujte podporu Databricks.
- Dostupnost aplikace: Určuje, jestli konkrétní aplikace obsluhuje požadavky. Pokud není k dispozici, zkontrolujte chyby nasazení nebo chyby v kódu.