CertMaster

🧱 Security & Administration

Unity Catalog security, Secrets, Network isolation, Cluster policies

Databricks Data Engineer · DE-Associate · ⏱️ 20 min · ❓ 4 вопр.

🔐 Unity Catalog Security

GRANT/REVOKE — через SQL: `GRANT SELECT ON TABLE catalog.schema.table TO group`. Row-level security — через row filter. Column-level masking — masking policy. Data lineage — откуда пришли данные и куда ушли. Audit Log — кто и к каким данным обращался.

🔑 Secrets Management

Databricks Secrets — хранение чувствительных данных, таких как API key, пароль БД. Secret Scope: Databricks-backed или Azure Key Vault / AWS Secrets Manager backed. `dbutils.secrets.get(scope, key)` — внутри кода. Значение секрета скрывается в логах. CLI: `databricks secrets put-secret`.

🌐 Network Isolation

VNet/VPC Injection — запуск кластеров Databricks в VPC/VNet клиента (Customer-Managed VPC). Private Link — приватное соединение с control plane Databricks. IP Access List — доступ к Workspace только с определённых IP-адресов. No Public IP (NPIP) — узлы кластера без публичного IP.

⚙️ Cluster Policies & Cost Management

Cluster Policy — конфигурация с ограничениями, задаваемая администратором (максимальный размер кластера, тип инстанса, таймаут). Пользователи без прав администратора обязаны соблюдать политику. Cost tagging — добавление тегов к кластерам и заданиям (department, project). Budget alert — в Databricks Account Console.
💡 Ключевые моменты
📋 Пример кода
# Secrets
# CLI: databricks secrets create-scope --scope my-scope
# CLI: databricks secrets put-secret --scope my-scope --key db-password --string-value "secret123"

# Notebook da ishlatish
password = dbutils.secrets.get(scope="my-scope", key="db-password")
# password = "[REDACTED]" — print qilsangiz ham ko'rsatmaydi

# Unity Catalog GRANT
spark.sql("""
  GRANT SELECT ON TABLE main.sales.orders TO `data-analysts`
""")

spark.sql("""
  GRANT MODIFY ON SCHEMA main.sales TO `data-engineers`
""")

# Row-level security (row filter)
spark.sql("""
  CREATE ROW FILTER region_filter ON main.sales.orders
  AS (user_name) RETURN CURRENT_USER() = user_name OR IS_ACCOUNT_GROUP_MEMBER('admin')
""")

spark.sql("""
  ALTER TABLE main.sales.orders SET ROW FILTER region_filter ON (user_name)
""")
🎯 Советы для экзамена
⚠️ Частые ошибки
🧠 Для запоминания: "SNPC" = Secrets (dbutils), Network (VPC injection), Policy (cluster), Catalog (Unity) — 4 уровня безопасности Databricks

Проверьте себя по теме «Security & Administration»

Бесплатные интерактивные тесты, пробный экзамен и полные уроки — на платформе CertMaster.

Начать бесплатно →