@raishin/vanguard-frontier-agentic 3.10.0 → 3.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude-plugin/marketplace.json +2 -2
- package/.claude-plugin/plugin.json +18 -1
- package/.cursor-plugin/plugin.json +18 -1
- package/.github/plugin/marketplace.json +1 -1
- package/README.md +21 -17
- package/agents/databricks/databricks-ai-bi-genie-agent/AGENT.md +90 -0
- package/agents/databricks/databricks-ai-bi-genie-agent/harnesses/claude-code.agent.md +73 -0
- package/agents/databricks/databricks-ai-bi-genie-agent/harnesses/codex.toml +15 -0
- package/agents/databricks/databricks-ai-bi-genie-agent/harnesses/copilot.agent.md +79 -0
- package/agents/databricks/databricks-ai-bi-genie-agent/harnesses/cursor.agent.md +74 -0
- package/agents/databricks/databricks-ai-bi-genie-agent/harnesses/gemini.agent.md +73 -0
- package/agents/databricks/databricks-ai-bi-genie-agent/harnesses/kiro-cli.agent.json +5 -0
- package/agents/databricks/databricks-ai-bi-genie-agent/harnesses/kiro-ide.agent.md +73 -0
- package/agents/databricks/databricks-ai-bi-genie-agent/metadata.json +58 -0
- package/agents/databricks/databricks-data-protection-privacy-agent/AGENT.md +94 -0
- package/agents/databricks/databricks-data-protection-privacy-agent/harnesses/claude-code.agent.md +77 -0
- package/agents/databricks/databricks-data-protection-privacy-agent/harnesses/codex.toml +15 -0
- package/agents/databricks/databricks-data-protection-privacy-agent/harnesses/copilot.agent.md +83 -0
- package/agents/databricks/databricks-data-protection-privacy-agent/harnesses/cursor.agent.md +78 -0
- package/agents/databricks/databricks-data-protection-privacy-agent/harnesses/gemini.agent.md +77 -0
- package/agents/databricks/databricks-data-protection-privacy-agent/harnesses/kiro-cli.agent.json +5 -0
- package/agents/databricks/databricks-data-protection-privacy-agent/harnesses/kiro-ide.agent.md +77 -0
- package/agents/databricks/databricks-data-protection-privacy-agent/metadata.json +64 -0
- package/agents/databricks/databricks-data-quality-observability-agent/AGENT.md +89 -0
- package/agents/databricks/databricks-data-quality-observability-agent/harnesses/claude-code.agent.md +72 -0
- package/agents/databricks/databricks-data-quality-observability-agent/harnesses/codex.toml +15 -0
- package/agents/databricks/databricks-data-quality-observability-agent/harnesses/copilot.agent.md +78 -0
- package/agents/databricks/databricks-data-quality-observability-agent/harnesses/cursor.agent.md +73 -0
- package/agents/databricks/databricks-data-quality-observability-agent/harnesses/gemini.agent.md +72 -0
- package/agents/databricks/databricks-data-quality-observability-agent/harnesses/kiro-cli.agent.json +5 -0
- package/agents/databricks/databricks-data-quality-observability-agent/harnesses/kiro-ide.agent.md +72 -0
- package/agents/databricks/databricks-data-quality-observability-agent/metadata.json +59 -0
- package/agents/databricks/databricks-developer-platform-agent/AGENT.md +90 -0
- package/agents/databricks/databricks-developer-platform-agent/harnesses/claude-code.agent.md +73 -0
- package/agents/databricks/databricks-developer-platform-agent/harnesses/codex.toml +15 -0
- package/agents/databricks/databricks-developer-platform-agent/harnesses/copilot.agent.md +79 -0
- package/agents/databricks/databricks-developer-platform-agent/harnesses/cursor.agent.md +74 -0
- package/agents/databricks/databricks-developer-platform-agent/harnesses/gemini.agent.md +73 -0
- package/agents/databricks/databricks-developer-platform-agent/harnesses/kiro-cli.agent.json +5 -0
- package/agents/databricks/databricks-developer-platform-agent/harnesses/kiro-ide.agent.md +73 -0
- package/agents/databricks/databricks-developer-platform-agent/metadata.json +59 -0
- package/agents/databricks/databricks-finops-cost-agent/AGENT.md +91 -0
- package/agents/databricks/databricks-finops-cost-agent/harnesses/claude-code.agent.md +74 -0
- package/agents/databricks/databricks-finops-cost-agent/harnesses/codex.toml +15 -0
- package/agents/databricks/databricks-finops-cost-agent/harnesses/copilot.agent.md +80 -0
- package/agents/databricks/databricks-finops-cost-agent/harnesses/cursor.agent.md +75 -0
- package/agents/databricks/databricks-finops-cost-agent/harnesses/gemini.agent.md +74 -0
- package/agents/databricks/databricks-finops-cost-agent/harnesses/kiro-cli.agent.json +5 -0
- package/agents/databricks/databricks-finops-cost-agent/harnesses/kiro-ide.agent.md +74 -0
- package/agents/databricks/databricks-finops-cost-agent/metadata.json +60 -0
- package/agents/databricks/databricks-genai-agent-engineering-agent/AGENT.md +89 -0
- package/agents/databricks/databricks-genai-agent-engineering-agent/harnesses/claude-code.agent.md +72 -0
- package/agents/databricks/databricks-genai-agent-engineering-agent/harnesses/codex.toml +15 -0
- package/agents/databricks/databricks-genai-agent-engineering-agent/harnesses/copilot.agent.md +78 -0
- package/agents/databricks/databricks-genai-agent-engineering-agent/harnesses/cursor.agent.md +73 -0
- package/agents/databricks/databricks-genai-agent-engineering-agent/harnesses/gemini.agent.md +72 -0
- package/agents/databricks/databricks-genai-agent-engineering-agent/harnesses/kiro-cli.agent.json +5 -0
- package/agents/databricks/databricks-genai-agent-engineering-agent/harnesses/kiro-ide.agent.md +72 -0
- package/agents/databricks/databricks-genai-agent-engineering-agent/metadata.json +62 -0
- package/agents/databricks/databricks-genai-evaluation-observability-agent/AGENT.md +89 -0
- package/agents/databricks/databricks-genai-evaluation-observability-agent/harnesses/claude-code.agent.md +72 -0
- package/agents/databricks/databricks-genai-evaluation-observability-agent/harnesses/codex.toml +15 -0
- package/agents/databricks/databricks-genai-evaluation-observability-agent/harnesses/copilot.agent.md +78 -0
- package/agents/databricks/databricks-genai-evaluation-observability-agent/harnesses/cursor.agent.md +73 -0
- package/agents/databricks/databricks-genai-evaluation-observability-agent/harnesses/gemini.agent.md +72 -0
- package/agents/databricks/databricks-genai-evaluation-observability-agent/harnesses/kiro-cli.agent.json +5 -0
- package/agents/databricks/databricks-genai-evaluation-observability-agent/harnesses/kiro-ide.agent.md +72 -0
- package/agents/databricks/databricks-genai-evaluation-observability-agent/metadata.json +59 -0
- package/agents/databricks/databricks-identity-network-security-agent/AGENT.md +95 -0
- package/agents/databricks/databricks-identity-network-security-agent/harnesses/claude-code.agent.md +78 -0
- package/agents/databricks/databricks-identity-network-security-agent/harnesses/codex.toml +15 -0
- package/agents/databricks/databricks-identity-network-security-agent/harnesses/copilot.agent.md +84 -0
- package/agents/databricks/databricks-identity-network-security-agent/harnesses/cursor.agent.md +79 -0
- package/agents/databricks/databricks-identity-network-security-agent/harnesses/gemini.agent.md +78 -0
- package/agents/databricks/databricks-identity-network-security-agent/harnesses/kiro-cli.agent.json +5 -0
- package/agents/databricks/databricks-identity-network-security-agent/harnesses/kiro-ide.agent.md +78 -0
- package/agents/databricks/databricks-identity-network-security-agent/metadata.json +60 -0
- package/agents/databricks/databricks-lakeflow-pipeline-engineering-agent/AGENT.md +90 -0
- package/agents/databricks/databricks-lakeflow-pipeline-engineering-agent/harnesses/claude-code.agent.md +73 -0
- package/agents/databricks/databricks-lakeflow-pipeline-engineering-agent/harnesses/codex.toml +15 -0
- package/agents/databricks/databricks-lakeflow-pipeline-engineering-agent/harnesses/copilot.agent.md +79 -0
- package/agents/databricks/databricks-lakeflow-pipeline-engineering-agent/harnesses/cursor.agent.md +74 -0
- package/agents/databricks/databricks-lakeflow-pipeline-engineering-agent/harnesses/gemini.agent.md +73 -0
- package/agents/databricks/databricks-lakeflow-pipeline-engineering-agent/harnesses/kiro-cli.agent.json +5 -0
- package/agents/databricks/databricks-lakeflow-pipeline-engineering-agent/harnesses/kiro-ide.agent.md +73 -0
- package/agents/databricks/databricks-lakeflow-pipeline-engineering-agent/metadata.json +63 -0
- package/agents/databricks/databricks-maestro-agent/AGENT.md +63 -0
- package/agents/databricks/databricks-maestro-agent/README.md +76 -0
- package/agents/databricks/databricks-maestro-agent/harnesses/claude-code.agent.md +46 -0
- package/agents/databricks/databricks-maestro-agent/harnesses/codex.toml +15 -0
- package/agents/databricks/databricks-maestro-agent/harnesses/copilot.agent.md +52 -0
- package/agents/databricks/databricks-maestro-agent/harnesses/cursor.agent.md +47 -0
- package/agents/databricks/databricks-maestro-agent/harnesses/gemini.agent.md +46 -0
- package/agents/databricks/databricks-maestro-agent/harnesses/kiro-cli.agent.json +5 -0
- package/agents/databricks/databricks-maestro-agent/harnesses/kiro-ide.agent.md +46 -0
- package/agents/databricks/databricks-maestro-agent/metadata.json +50 -0
- package/agents/databricks/databricks-mlops-agent/AGENT.md +89 -0
- package/agents/databricks/databricks-mlops-agent/harnesses/claude-code.agent.md +72 -0
- package/agents/databricks/databricks-mlops-agent/harnesses/codex.toml +15 -0
- package/agents/databricks/databricks-mlops-agent/harnesses/copilot.agent.md +78 -0
- package/agents/databricks/databricks-mlops-agent/harnesses/cursor.agent.md +73 -0
- package/agents/databricks/databricks-mlops-agent/harnesses/gemini.agent.md +72 -0
- package/agents/databricks/databricks-mlops-agent/harnesses/kiro-cli.agent.json +5 -0
- package/agents/databricks/databricks-mlops-agent/harnesses/kiro-ide.agent.md +72 -0
- package/agents/databricks/databricks-mlops-agent/metadata.json +60 -0
- package/agents/databricks/databricks-platform-architecture-agent/AGENT.md +90 -0
- package/agents/databricks/databricks-platform-architecture-agent/harnesses/claude-code.agent.md +73 -0
- package/agents/databricks/databricks-platform-architecture-agent/harnesses/codex.toml +15 -0
- package/agents/databricks/databricks-platform-architecture-agent/harnesses/copilot.agent.md +79 -0
- package/agents/databricks/databricks-platform-architecture-agent/harnesses/cursor.agent.md +74 -0
- package/agents/databricks/databricks-platform-architecture-agent/harnesses/gemini.agent.md +73 -0
- package/agents/databricks/databricks-platform-architecture-agent/harnesses/kiro-cli.agent.json +5 -0
- package/agents/databricks/databricks-platform-architecture-agent/harnesses/kiro-ide.agent.md +73 -0
- package/agents/databricks/databricks-platform-architecture-agent/metadata.json +58 -0
- package/agents/databricks/databricks-platform-reliability-agent/AGENT.md +88 -0
- package/agents/databricks/databricks-platform-reliability-agent/harnesses/claude-code.agent.md +71 -0
- package/agents/databricks/databricks-platform-reliability-agent/harnesses/codex.toml +15 -0
- package/agents/databricks/databricks-platform-reliability-agent/harnesses/copilot.agent.md +77 -0
- package/agents/databricks/databricks-platform-reliability-agent/harnesses/cursor.agent.md +72 -0
- package/agents/databricks/databricks-platform-reliability-agent/harnesses/gemini.agent.md +71 -0
- package/agents/databricks/databricks-platform-reliability-agent/harnesses/kiro-cli.agent.json +5 -0
- package/agents/databricks/databricks-platform-reliability-agent/harnesses/kiro-ide.agent.md +71 -0
- package/agents/databricks/databricks-platform-reliability-agent/metadata.json +64 -0
- package/agents/databricks/databricks-sql-performance-agent/AGENT.md +91 -0
- package/agents/databricks/databricks-sql-performance-agent/harnesses/claude-code.agent.md +74 -0
- package/agents/databricks/databricks-sql-performance-agent/harnesses/codex.toml +15 -0
- package/agents/databricks/databricks-sql-performance-agent/harnesses/copilot.agent.md +80 -0
- package/agents/databricks/databricks-sql-performance-agent/harnesses/cursor.agent.md +75 -0
- package/agents/databricks/databricks-sql-performance-agent/harnesses/gemini.agent.md +74 -0
- package/agents/databricks/databricks-sql-performance-agent/harnesses/kiro-cli.agent.json +5 -0
- package/agents/databricks/databricks-sql-performance-agent/harnesses/kiro-ide.agent.md +74 -0
- package/agents/databricks/databricks-sql-performance-agent/metadata.json +62 -0
- package/agents/databricks/databricks-streaming-reliability-agent/AGENT.md +93 -0
- package/agents/databricks/databricks-streaming-reliability-agent/harnesses/claude-code.agent.md +76 -0
- package/agents/databricks/databricks-streaming-reliability-agent/harnesses/codex.toml +15 -0
- package/agents/databricks/databricks-streaming-reliability-agent/harnesses/copilot.agent.md +82 -0
- package/agents/databricks/databricks-streaming-reliability-agent/harnesses/cursor.agent.md +77 -0
- package/agents/databricks/databricks-streaming-reliability-agent/harnesses/gemini.agent.md +76 -0
- package/agents/databricks/databricks-streaming-reliability-agent/harnesses/kiro-cli.agent.json +5 -0
- package/agents/databricks/databricks-streaming-reliability-agent/harnesses/kiro-ide.agent.md +76 -0
- package/agents/databricks/databricks-streaming-reliability-agent/metadata.json +62 -0
- package/agents/databricks/databricks-unity-catalog-governance-agent/AGENT.md +91 -0
- package/agents/databricks/databricks-unity-catalog-governance-agent/harnesses/claude-code.agent.md +74 -0
- package/agents/databricks/databricks-unity-catalog-governance-agent/harnesses/codex.toml +15 -0
- package/agents/databricks/databricks-unity-catalog-governance-agent/harnesses/copilot.agent.md +80 -0
- package/agents/databricks/databricks-unity-catalog-governance-agent/harnesses/cursor.agent.md +75 -0
- package/agents/databricks/databricks-unity-catalog-governance-agent/harnesses/gemini.agent.md +74 -0
- package/agents/databricks/databricks-unity-catalog-governance-agent/harnesses/kiro-cli.agent.json +5 -0
- package/agents/databricks/databricks-unity-catalog-governance-agent/harnesses/kiro-ide.agent.md +74 -0
- package/agents/databricks/databricks-unity-catalog-governance-agent/metadata.json +63 -0
- package/agents/databricks/databricks-value-realization-agent/AGENT.md +91 -0
- package/agents/databricks/databricks-value-realization-agent/harnesses/claude-code.agent.md +74 -0
- package/agents/databricks/databricks-value-realization-agent/harnesses/codex.toml +15 -0
- package/agents/databricks/databricks-value-realization-agent/harnesses/copilot.agent.md +80 -0
- package/agents/databricks/databricks-value-realization-agent/harnesses/cursor.agent.md +75 -0
- package/agents/databricks/databricks-value-realization-agent/harnesses/gemini.agent.md +74 -0
- package/agents/databricks/databricks-value-realization-agent/harnesses/kiro-cli.agent.json +5 -0
- package/agents/databricks/databricks-value-realization-agent/harnesses/kiro-ide.agent.md +74 -0
- package/agents/databricks/databricks-value-realization-agent/metadata.json +55 -0
- package/catalog/agents.json +580 -0
- package/catalog/asset-integrity.json +1139 -44
- package/catalog/install-roles.json +166 -0
- package/catalog/model-assignments.json +561 -0
- package/catalog/skill-manifest.json +709 -0
- package/catalog/skills.json +529 -0
- package/package.json +1 -1
- package/plugins/vanguard-frontier-agentic/.codex-plugin/plugin.json +1 -1
- package/powers/vanguard-databricks/POWER.md +11 -11
- package/scripts/databricks_data/agents/00-databricks-maestro-agent.json +165 -0
- package/scripts/databricks_data/agents/01-databricks-platform-architecture-agent.json +200 -0
- package/scripts/databricks_data/agents/02-databricks-unity-catalog-governance-agent.json +207 -0
- package/scripts/databricks_data/agents/03-databricks-identity-network-security-agent.json +216 -0
- package/scripts/databricks_data/agents/04-databricks-data-protection-privacy-agent.json +218 -0
- package/scripts/databricks_data/agents/05-databricks-lakeflow-pipeline-engineering-agent.json +217 -0
- package/scripts/databricks_data/agents/06-databricks-streaming-reliability-agent.json +267 -0
- package/scripts/databricks_data/agents/07-databricks-data-quality-observability-agent.json +215 -0
- package/scripts/databricks_data/agents/08-databricks-sql-performance-agent.json +214 -0
- package/scripts/databricks_data/agents/09-databricks-ai-bi-genie-agent.json +211 -0
- package/scripts/databricks_data/agents/10-databricks-mlops-agent.json +239 -0
- package/scripts/databricks_data/agents/11-databricks-genai-agent-engineering-agent.json +246 -0
- package/scripts/databricks_data/agents/12-databricks-genai-evaluation-observability-agent.json +215 -0
- package/scripts/databricks_data/agents/13-databricks-developer-platform-agent.json +206 -0
- package/scripts/databricks_data/agents/14-databricks-platform-reliability-agent.json +208 -0
- package/scripts/databricks_data/agents/15-databricks-finops-cost-agent.json +218 -0
- package/scripts/databricks_data/agents/16-databricks-value-realization-agent.json +232 -0
- package/scripts/gen_databricks_agents.py +703 -0
- package/scripts/generate-board-counts.mjs +6 -0
- package/scripts/generate-kiro-powers.mjs +5 -5
- package/scripts/generate-readme-counts.mjs +109 -0
- package/skills/databricks/databricks-ai-bi-genie/SKILL.md +132 -0
- package/skills/databricks/databricks-ai-bi-genie/metadata.json +34 -0
- package/skills/databricks/databricks-ai-bi-genie/references/dashboard-and-permission-security.md +16 -0
- package/skills/databricks/databricks-ai-bi-genie/references/genie-scoping-and-semantic-layer.md +16 -0
- package/skills/databricks/databricks-ai-bi-genie/references/official-sources.md +24 -0
- package/skills/databricks/databricks-ai-bi-genie/references/safety-checklist.md +35 -0
- package/skills/databricks/databricks-ai-bi-genie/references/workflow-and-output.md +24 -0
- package/skills/databricks/databricks-data-protection-privacy/SKILL.md +142 -0
- package/skills/databricks/databricks-data-protection-privacy/metadata.json +37 -0
- package/skills/databricks/databricks-data-protection-privacy/references/deletion-vacuum-and-gdpr-compliance.md +9 -0
- package/skills/databricks/databricks-data-protection-privacy/references/masks-filters-and-abac-udf-cost.md +9 -0
- package/skills/databricks/databricks-data-protection-privacy/references/official-sources.md +27 -0
- package/skills/databricks/databricks-data-protection-privacy/references/safety-checklist.md +36 -0
- package/skills/databricks/databricks-data-protection-privacy/references/workflow-and-output.md +28 -0
- package/skills/databricks/databricks-data-quality-observability/SKILL.md +137 -0
- package/skills/databricks/databricks-data-quality-observability/metadata.json +34 -0
- package/skills/databricks/databricks-data-quality-observability/references/expectations-and-constraints.md +16 -0
- package/skills/databricks/databricks-data-quality-observability/references/monitoring-freshness-and-event-logs.md +17 -0
- package/skills/databricks/databricks-data-quality-observability/references/official-sources.md +24 -0
- package/skills/databricks/databricks-data-quality-observability/references/safety-checklist.md +34 -0
- package/skills/databricks/databricks-data-quality-observability/references/workflow-and-output.md +24 -0
- package/skills/databricks/databricks-developer-platform/SKILL.md +134 -0
- package/skills/databricks/databricks-developer-platform/metadata.json +34 -0
- package/skills/databricks/databricks-developer-platform/references/authentication-and-git-flow.md +9 -0
- package/skills/databricks/databricks-developer-platform/references/bundle-structure-and-targets.md +10 -0
- package/skills/databricks/databricks-developer-platform/references/official-sources.md +28 -0
- package/skills/databricks/databricks-developer-platform/references/safety-checklist.md +35 -0
- package/skills/databricks/databricks-developer-platform/references/workflow-and-output.md +26 -0
- package/skills/databricks/databricks-finops-cost/SKILL.md +134 -0
- package/skills/databricks/databricks-finops-cost/metadata.json +34 -0
- package/skills/databricks/databricks-finops-cost/references/billing-system-tables-and-joins.md +15 -0
- package/skills/databricks/databricks-finops-cost/references/cost-attribution-and-uptime-charging.md +20 -0
- package/skills/databricks/databricks-finops-cost/references/official-sources.md +24 -0
- package/skills/databricks/databricks-finops-cost/references/safety-checklist.md +35 -0
- package/skills/databricks/databricks-finops-cost/references/workflow-and-output.md +26 -0
- package/skills/databricks/databricks-genai-agent-engineering/SKILL.md +133 -0
- package/skills/databricks/databricks-genai-agent-engineering/metadata.json +34 -0
- package/skills/databricks/databricks-genai-agent-engineering/references/ai-search-and-retrieval-config.md +12 -0
- package/skills/databricks/databricks-genai-agent-engineering/references/context-engineering-and-tools.md +20 -0
- package/skills/databricks/databricks-genai-agent-engineering/references/official-sources.md +28 -0
- package/skills/databricks/databricks-genai-agent-engineering/references/safety-checklist.md +35 -0
- package/skills/databricks/databricks-genai-agent-engineering/references/workflow-and-output.md +22 -0
- package/skills/databricks/databricks-genai-evaluation-observability/SKILL.md +139 -0
- package/skills/databricks/databricks-genai-evaluation-observability/metadata.json +34 -0
- package/skills/databricks/databricks-genai-evaluation-observability/references/judges-scorers-and-validation.md +12 -0
- package/skills/databricks/databricks-genai-evaluation-observability/references/official-sources.md +28 -0
- package/skills/databricks/databricks-genai-evaluation-observability/references/safety-checklist.md +35 -0
- package/skills/databricks/databricks-genai-evaluation-observability/references/tracing-storage-and-regression-detection.md +12 -0
- package/skills/databricks/databricks-genai-evaluation-observability/references/workflow-and-output.md +24 -0
- package/skills/databricks/databricks-identity-network-security/SKILL.md +143 -0
- package/skills/databricks/databricks-identity-network-security/metadata.json +34 -0
- package/skills/databricks/databricks-identity-network-security/references/admin-roles-and-separation.md +9 -0
- package/skills/databricks/databricks-identity-network-security/references/official-sources.md +24 -0
- package/skills/databricks/databricks-identity-network-security/references/safety-checklist.md +36 -0
- package/skills/databricks/databricks-identity-network-security/references/token-lifecycle-and-automatic-revocation.md +9 -0
- package/skills/databricks/databricks-identity-network-security/references/workflow-and-output.md +28 -0
- package/skills/databricks/databricks-lakeflow-pipeline-engineering/SKILL.md +134 -0
- package/skills/databricks/databricks-lakeflow-pipeline-engineering/metadata.json +35 -0
- package/skills/databricks/databricks-lakeflow-pipeline-engineering/references/auto-loader-and-schema-evolution.md +15 -0
- package/skills/databricks/databricks-lakeflow-pipeline-engineering/references/delta-table-layout-strategy.md +15 -0
- package/skills/databricks/databricks-lakeflow-pipeline-engineering/references/official-sources.md +29 -0
- package/skills/databricks/databricks-lakeflow-pipeline-engineering/references/safety-checklist.md +34 -0
- package/skills/databricks/databricks-lakeflow-pipeline-engineering/references/workflow-and-output.md +23 -0
- package/skills/databricks/databricks-maestro/SKILL.md +122 -0
- package/skills/databricks/databricks-maestro/metadata.json +30 -0
- package/skills/databricks/databricks-maestro/references/official-sources.md +20 -0
- package/skills/databricks/databricks-maestro/references/routing-taxonomy.md +16 -0
- package/skills/databricks/databricks-maestro/references/safety-checklist.md +35 -0
- package/skills/databricks/databricks-maestro/references/workflow-and-output.md +25 -0
- package/skills/databricks/databricks-mlops/SKILL.md +127 -0
- package/skills/databricks/databricks-mlops/metadata.json +33 -0
- package/skills/databricks/databricks-mlops/references/mlflow-3-registry-defaults.md +12 -0
- package/skills/databricks/databricks-mlops/references/official-sources.md +27 -0
- package/skills/databricks/databricks-mlops/references/safety-checklist.md +34 -0
- package/skills/databricks/databricks-mlops/references/serving-and-inference-design.md +22 -0
- package/skills/databricks/databricks-mlops/references/workflow-and-output.md +21 -0
- package/skills/databricks/databricks-platform-architecture/SKILL.md +134 -0
- package/skills/databricks/databricks-platform-architecture/metadata.json +34 -0
- package/skills/databricks/databricks-platform-architecture/references/metastore-per-region-constraint.md +9 -0
- package/skills/databricks/databricks-platform-architecture/references/official-sources.md +24 -0
- package/skills/databricks/databricks-platform-architecture/references/safety-checklist.md +34 -0
- package/skills/databricks/databricks-platform-architecture/references/workflow-and-output.md +26 -0
- package/skills/databricks/databricks-platform-architecture/references/workspace-segmentation-guidance.md +9 -0
- package/skills/databricks/databricks-platform-reliability/SKILL.md +134 -0
- package/skills/databricks/databricks-platform-reliability/metadata.json +36 -0
- package/skills/databricks/databricks-platform-reliability/references/job-pipeline-execution-reliability.md +10 -0
- package/skills/databricks/databricks-platform-reliability/references/official-sources.md +26 -0
- package/skills/databricks/databricks-platform-reliability/references/safety-checklist.md +35 -0
- package/skills/databricks/databricks-platform-reliability/references/system-tables-and-disaster-recovery.md +10 -0
- package/skills/databricks/databricks-platform-reliability/references/workflow-and-output.md +26 -0
- package/skills/databricks/databricks-sql-performance/SKILL.md +132 -0
- package/skills/databricks/databricks-sql-performance/metadata.json +34 -0
- package/skills/databricks/databricks-sql-performance/references/caching-and-query-profile.md +18 -0
- package/skills/databricks/databricks-sql-performance/references/official-sources.md +24 -0
- package/skills/databricks/databricks-sql-performance/references/safety-checklist.md +33 -0
- package/skills/databricks/databricks-sql-performance/references/warehouse-type-and-sizing.md +15 -0
- package/skills/databricks/databricks-sql-performance/references/workflow-and-output.md +24 -0
- package/skills/databricks/databricks-streaming-reliability/SKILL.md +138 -0
- package/skills/databricks/databricks-streaming-reliability/metadata.json +35 -0
- package/skills/databricks/databricks-streaming-reliability/references/official-sources.md +25 -0
- package/skills/databricks/databricks-streaming-reliability/references/safety-checklist.md +34 -0
- package/skills/databricks/databricks-streaming-reliability/references/state-schema-and-checkpoints.md +14 -0
- package/skills/databricks/databricks-streaming-reliability/references/triggers-watermarks-and-sinks.md +28 -0
- package/skills/databricks/databricks-streaming-reliability/references/workflow-and-output.md +24 -0
- package/skills/databricks/databricks-unity-catalog-governance/SKILL.md +135 -0
- package/skills/databricks/databricks-unity-catalog-governance/metadata.json +37 -0
- package/skills/databricks/databricks-unity-catalog-governance/references/grant-privilege-model-and-inheritance.md +9 -0
- package/skills/databricks/databricks-unity-catalog-governance/references/official-sources.md +27 -0
- package/skills/databricks/databricks-unity-catalog-governance/references/safety-checklist.md +35 -0
- package/skills/databricks/databricks-unity-catalog-governance/references/workflow-and-output.md +26 -0
- package/skills/databricks/databricks-unity-catalog-governance/references/workspace-binding-and-owned-tags.md +9 -0
- package/skills/databricks/databricks-value-realization/SKILL.md +140 -0
- package/skills/databricks/databricks-value-realization/metadata.json +31 -0
- package/skills/databricks/databricks-value-realization/references/kpi-measurability.md +22 -0
- package/skills/databricks/databricks-value-realization/references/official-sources.md +27 -0
- package/skills/databricks/databricks-value-realization/references/safety-checklist.md +35 -0
- package/skills/databricks/databricks-value-realization/references/value-case-contract.md +21 -0
- package/skills/databricks/databricks-value-realization/references/workflow-and-output.md +30 -0
- package/tests/_generate_maestro_routing_fixtures.py +36 -4
- package/tests/fixtures/README.md +1 -1
- package/tests/fixtures/databricks-maestro-routing/expected/001-happy-ai-bi-genie.json +6 -0
- package/tests/fixtures/databricks-maestro-routing/expected/002-happy-data-protection-privacy.json +6 -0
- package/tests/fixtures/databricks-maestro-routing/expected/003-happy-data-quality-observability.json +6 -0
- package/tests/fixtures/databricks-maestro-routing/expected/004-happy-developer-platform.json +6 -0
- package/tests/fixtures/databricks-maestro-routing/expected/005-happy-finops-cost.json +6 -0
- package/tests/fixtures/databricks-maestro-routing/expected/006-happy-genai-agent-engineering.json +6 -0
- package/tests/fixtures/databricks-maestro-routing/expected/007-happy-genai-evaluation-observability.json +6 -0
- package/tests/fixtures/databricks-maestro-routing/expected/008-happy-identity-network-security.json +6 -0
- package/tests/fixtures/databricks-maestro-routing/expected/009-happy-lakeflow-pipeline-engineering.json +6 -0
- package/tests/fixtures/databricks-maestro-routing/expected/010-happy-lakehouse-engineering-at-azure.json +6 -0
- package/tests/fixtures/databricks-maestro-routing/expected/011-happy-mlops.json +6 -0
- package/tests/fixtures/databricks-maestro-routing/expected/012-happy-platform-architecture.json +6 -0
- package/tests/fixtures/databricks-maestro-routing/expected/013-happy-platform-reliability.json +6 -0
- package/tests/fixtures/databricks-maestro-routing/expected/014-happy-sql-performance.json +6 -0
- package/tests/fixtures/databricks-maestro-routing/expected/015-happy-streaming-reliability.json +6 -0
- package/tests/fixtures/databricks-maestro-routing/expected/016-happy-unity-catalog-governance.json +6 -0
- package/tests/fixtures/databricks-maestro-routing/expected/017-happy-unity-catalog-governance-at-azure.json +6 -0
- package/tests/fixtures/databricks-maestro-routing/expected/018-happy-value-realization.json +6 -0
- package/tests/fixtures/databricks-maestro-routing/expected/adv-ambiguous.json +4 -0
- package/tests/fixtures/databricks-maestro-routing/expected/adv-instruction-injection.json +6 -0
- package/tests/fixtures/databricks-maestro-routing/expected/adv-liveguard-01-live-unity-catalog-grant-guard-at-azure.json +6 -0
- package/tests/fixtures/databricks-maestro-routing/expected/adv-persona-replacement.json +6 -0
- package/tests/fixtures/databricks-maestro-routing/expected/adv-secrets-bait.json +6 -0
- package/tests/fixtures/databricks-maestro-routing/inputs/001-happy-ai-bi-genie.json +7 -0
- package/tests/fixtures/databricks-maestro-routing/inputs/002-happy-data-protection-privacy.json +7 -0
- package/tests/fixtures/databricks-maestro-routing/inputs/003-happy-data-quality-observability.json +7 -0
- package/tests/fixtures/databricks-maestro-routing/inputs/004-happy-developer-platform.json +7 -0
- package/tests/fixtures/databricks-maestro-routing/inputs/005-happy-finops-cost.json +7 -0
- package/tests/fixtures/databricks-maestro-routing/inputs/006-happy-genai-agent-engineering.json +7 -0
- package/tests/fixtures/databricks-maestro-routing/inputs/007-happy-genai-evaluation-observability.json +7 -0
- package/tests/fixtures/databricks-maestro-routing/inputs/008-happy-identity-network-security.json +7 -0
- package/tests/fixtures/databricks-maestro-routing/inputs/009-happy-lakeflow-pipeline-engineering.json +7 -0
- package/tests/fixtures/databricks-maestro-routing/inputs/010-happy-lakehouse-engineering-at-azure.json +7 -0
- package/tests/fixtures/databricks-maestro-routing/inputs/011-happy-mlops.json +7 -0
- package/tests/fixtures/databricks-maestro-routing/inputs/012-happy-platform-architecture.json +7 -0
- package/tests/fixtures/databricks-maestro-routing/inputs/013-happy-platform-reliability.json +7 -0
- package/tests/fixtures/databricks-maestro-routing/inputs/014-happy-sql-performance.json +7 -0
- package/tests/fixtures/databricks-maestro-routing/inputs/015-happy-streaming-reliability.json +7 -0
- package/tests/fixtures/databricks-maestro-routing/inputs/016-happy-unity-catalog-governance.json +7 -0
- package/tests/fixtures/databricks-maestro-routing/inputs/017-happy-unity-catalog-governance-at-azure.json +7 -0
- package/tests/fixtures/databricks-maestro-routing/inputs/018-happy-value-realization.json +7 -0
- package/tests/fixtures/databricks-maestro-routing/inputs/adv-ambiguous.json +7 -0
- package/tests/fixtures/databricks-maestro-routing/inputs/adv-instruction-injection.json +7 -0
- package/tests/fixtures/databricks-maestro-routing/inputs/adv-liveguard-01-live-unity-catalog-grant-guard-at-azure.json +7 -0
- package/tests/fixtures/databricks-maestro-routing/inputs/adv-persona-replacement.json +7 -0
- package/tests/fixtures/databricks-maestro-routing/inputs/adv-secrets-bait.json +7 -0
- package/tests/fixtures/databricks-maestro-routing/taxonomy.json +417 -0
|
@@ -0,0 +1,207 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "databricks-unity-catalog-governance-agent",
|
|
3
|
+
"name": "Databricks Unity Catalog Governance Agent",
|
|
4
|
+
"domain_key": "unity-catalog-governance",
|
|
5
|
+
"routing_keywords": [
|
|
6
|
+
"unity catalog",
|
|
7
|
+
"privilege",
|
|
8
|
+
"grant",
|
|
9
|
+
"revoke",
|
|
10
|
+
"ownership",
|
|
11
|
+
"three-level namespace",
|
|
12
|
+
"workspace-catalog binding",
|
|
13
|
+
"governed tags",
|
|
14
|
+
"storage credential",
|
|
15
|
+
"external location",
|
|
16
|
+
"least privilege",
|
|
17
|
+
"all privileges",
|
|
18
|
+
"lineage"
|
|
19
|
+
],
|
|
20
|
+
"summary": "Static review of Unity Catalog design, GRANT privilege model and inheritance, ownership design and enforcement, workspace-catalog binding enforcement, governed tags and their configuration, lineage and audit evidence, storage credential and external location governance, and least-privilege grant patterns. Reads the metastore structure, catalogs, schemas, tables, storage-credential assignments, workspace-binding policies, and privilege audit logs only.",
|
|
21
|
+
"official_docs": [
|
|
22
|
+
"https://docs.databricks.com/aws/en/data-governance/unity-catalog/",
|
|
23
|
+
"https://docs.databricks.com/aws/en/data-governance/unity-catalog/access-control/privileges-reference",
|
|
24
|
+
"https://docs.databricks.com/aws/en/data-governance/unity-catalog/access-control/permissions-concepts",
|
|
25
|
+
"https://docs.databricks.com/aws/en/data-governance/unity-catalog/manage-privileges/",
|
|
26
|
+
"https://docs.databricks.com/aws/en/data-governance/unity-catalog/manage-privileges/admin-privileges",
|
|
27
|
+
"https://docs.databricks.com/aws/en/data-governance/unity-catalog/access-control/workspace-catalog-binding",
|
|
28
|
+
"https://docs.databricks.com/aws/en/data-governance/unity-catalog/create-metastore",
|
|
29
|
+
"https://docs.databricks.com/aws/en/data-governance/unity-catalog/manage-metastore",
|
|
30
|
+
"https://docs.databricks.com/aws/en/connect/unity-catalog/cloud-storage/manage-storage-credentials",
|
|
31
|
+
"https://docs.databricks.com/aws/en/admin/governed-tags",
|
|
32
|
+
"https://docs.databricks.com/aws/en/admin/system-tables/audit-logs"
|
|
33
|
+
],
|
|
34
|
+
"security_notes": "Static review only — reads UC structure, privilege assignments, storage credentials, workspace binding, and audit logs. Never executes GRANT or REVOKE, never mutates privileges, never requests workspace URLs bound to credentials, personal access tokens, storage keys, or customer data. A request to execute a grant belongs to the live-guard path and requires explicit written approval naming the exact target securable, principal, and privilege. Audit findings are observations only; their remediation requires the governance owner's decision.",
|
|
35
|
+
"focus_intro": "Statically review Unity Catalog governance design for privilege correctness, ownership clarity, audit completeness, and least-privilege enforcement: the three-level namespace (catalog.schema.table), GRANT inheritance and its implications for effective access, ownership design (single principal per securable, no multi-ownership), workspace-catalog binding enforcement and ISOLATED mode, governed tags and their account-level limits, storage-credential scope and dependency tracking, and patterns for least-privilege grant design.",
|
|
36
|
+
"focus_owns": [
|
|
37
|
+
"Three-level namespace design: catalog, schema, and table hierarchy; implications for grant scope and audit trails.",
|
|
38
|
+
"The GRANT privilege model: how privileges cascade downward (MANAGE on a catalog cascades to all child schemas and tables), why ALL PRIVILEGES excludes MANAGE, what it excludes, and how privilege inheritance enables least-privilege design.",
|
|
39
|
+
"Ownership design and enforcement: single principal ownership per securable (never multi-ownership), the MANAGER privilege, implications when an owner leaves, and how to transfer ownership safely.",
|
|
40
|
+
"Workspace-catalog binding in ISOLATED mode: enforcement that denies access from unbound workspaces EVEN IF the principal holds an explicit GRANT; implications for cross-workspace access and Hive metastore deprecation.",
|
|
41
|
+
"Governed tags: account-level scope (not workspace-local), max 1,000 tags per account, max 500 values per tag, 256-character key limit, prohibited characters (* . / < > % & ? \\ = and ASCII 0-31), and tag inheritance (automatic downward EXCEPT columns, which require explicit application).",
|
|
42
|
+
"Lineage and audit evidence: system tables capturing table and workspace lineage, audit logs (system.access.audit in PUBLIC PREVIEW), account-level events recording workspace_id=0, and the rolling 1-year window for lineage retention.",
|
|
43
|
+
"Storage credential and external location governance: credential ownership, read-only enforcement, ISOLATED/OPEN workspace binding, FORCE override of dependency checks, and the requirement that only the credential owner may delete.",
|
|
44
|
+
"Least-privilege grant patterns: REVOKE succeeding even when a privilege was never granted (making clean revoke non-idempotent as evidence), the difference between OWNER and MANAGE, and how to design grant hierarchies that minimize surprise access."
|
|
45
|
+
],
|
|
46
|
+
"focus_not_owns": [
|
|
47
|
+
"Service principals, SCIM limits, OAuth vs PAT, and token lifecycle → `databricks-identity-network-security-agent`.",
|
|
48
|
+
"IP access lists and serverless network egress policies → `databricks-identity-network-security-agent`.",
|
|
49
|
+
"Row and column masks, ABAC policies, and data classification → `databricks-data-protection-privacy-agent`.",
|
|
50
|
+
"Workspace topology, metastore-per-region, and cross-region replication → `databricks-platform-architecture-agent`.",
|
|
51
|
+
"Executing a GRANT or REVOKE in production → `databricks-live-unity-catalog-grant-guard-at-azure-agent` (live-guard gate only with explicit approval)."
|
|
52
|
+
],
|
|
53
|
+
"runtime_authority": "T0 (static review only). Reads UC metadata, privilege assignments, storage credentials, and audit logs. Never executes DDL, GRANT, or REVOKE, never mutates anything, never requests credentials, and never auto-dispatches a privilege change to a live guard — all mutations require explicit written approval naming the exact securable, principal, operation, and rollback owner.",
|
|
54
|
+
"operating_rules": [
|
|
55
|
+
"CRITICAL — Unity Catalog privileges cascade downward: a GRANT MANAGE on a catalog automatically grants MANAGE on all child schemas and tables without a separate GRANT. REVOKE cascades identically. A privilege hierarchy is not one GRANT per securable; it is one GRANT at the highest level needed, with inheritance doing the rest.",
|
|
56
|
+
"CRITICAL — ownership is a SINGLE principal per securable, never multiple owners. A table cannot be owned by two principals; if two users need admin rights, GRANT them MANAGE, do not create co-ownership. Ownership is not inherited from parent to child; each securable has its own single owner.",
|
|
57
|
+
"CRITICAL — ALL PRIVILEGES is not every privilege. ALL PRIVILEGES on a catalog explicitly excludes MANAGE, READ METADATA, EXTERNAL USE SCHEMA, EXTERNAL USE LOCATION, and other administrative privileges. A grant of ALL PRIVILEGES confers no ownership rights, no right to delegate, and no right to define data classification; flag any assumption that ALL PRIVILEGES is equivalent to full access.",
|
|
58
|
+
"CRITICAL — ISOLATED workspace-catalog binding denies access from unbound workspaces EVEN IF the principal holds an explicit GRANT on that catalog. This is access-time enforcement, not role-based; a principal with explicit access may still be denied if their workspace is not bound.",
|
|
59
|
+
"CRITICAL — Workspace users auto-receive USE CATALOG on the workspace catalog plus CREATE on its default schema. Workspace users get zero explicit access to other catalogs and schemas; all other access must be explicitly granted.",
|
|
60
|
+
"CRITICAL — storage credentials support ISOLATED/OPEN workspace binding and read-only enforcement. Only the credential owner may delete a credential; FORCE overrides dependency checks. A credential cannot be in use by a workspace in ISOLATED mode and simultaneously readable from an unbound workspace — binding and credential ownership must be consistent.",
|
|
61
|
+
"HIGH — REVOKE succeeds even when a privilege was never granted. A REVOKE on a principal that never received a grant is not an error — it is a successful no-op. This means a clean REVOKE is not evidence that the grant existed, and idempotent revoke patterns (\"revoke everything to reset\") are valid but silent.",
|
|
62
|
+
"HIGH — governed tags are account-level, not workspace-local; they are managed by account admins and visible across all workspaces in the account. Max 1,000 tags per account, max 500 values per tag, 256-character key limit. Prohibited characters include * . / < > % & ? \\ = and all ASCII 0-31; flag any tag name or value not in this character set.",
|
|
63
|
+
"HIGH — tag inheritance flows downward automatically (catalog → schemas → tables) EXCEPT for columns, which require explicit tag application. A governance model relying on automatic column tagging does not exist; column tags must be applied directly via ALTER TABLE ... ALTER COLUMN.",
|
|
64
|
+
"MEDIUM — metastore admin role assignment propagates account-wide in up to 30 seconds. A change to metastore admin assignments is not instant; account-level operations initiated immediately after a role change may operate under the old role set.",
|
|
65
|
+
"MEDIUM — Hive metastore is legacy and lacks auditing, lineage, and fine-grained access control; it is deprecated. All new catalogs must use Unity Catalog; any remaining Hive metastore use should be flagged for migration.",
|
|
66
|
+
"LOW — system.access.audit (account-level access and privilege events) is PUBLIC PREVIEW and may change. Account-level events record workspace_id as 0; workspace-level events record the actual workspace ID. Databricks recommends filtering on event_date rather than event_time for performance."
|
|
67
|
+
],
|
|
68
|
+
"response_shape": [
|
|
69
|
+
"Verdict (compliant-as-designed / compliant-with-conditions / governance-risk)",
|
|
70
|
+
"Three-level namespace design and hierarchy documentation",
|
|
71
|
+
"Privilege inheritance findings: cascade points, overly-broad grants, missing MANAGE exclusions",
|
|
72
|
+
"Ownership design: single-principal enforcement, identified gaps or co-ownership patterns",
|
|
73
|
+
"Workspace-catalog binding in ISOLATED mode and its effective enforcement",
|
|
74
|
+
"Governed tags: account inventory, character-set validity, inheritance patterns, column-tag coverage",
|
|
75
|
+
"Storage credential and external-location governance: ownership, binding consistency, FORCE usage",
|
|
76
|
+
"Lineage and audit evidence: system.access.audit coverage, lineage retention window, exclusions or blind spots"
|
|
77
|
+
],
|
|
78
|
+
"refusal_triggers": [
|
|
79
|
+
"No UC structure or privilege assignments provided — ask for them rather than assuming.",
|
|
80
|
+
"A request to execute a GRANT or REVOKE in production — this is static review; all mutations go through the live-guard gate with written approval.",
|
|
81
|
+
"A request to define or modify governed tags — flag that this is account-admin-only and requires a separate decision process."
|
|
82
|
+
],
|
|
83
|
+
"escalation_triggers": [
|
|
84
|
+
"The question is identity federation, service principal posture, or token lifecycle → `databricks-identity-network-security-agent`.",
|
|
85
|
+
"The question is network policy or secret management → `databricks-identity-network-security-agent`.",
|
|
86
|
+
"The question is masking, ABAC, or data classification → `databricks-data-protection-privacy-agent`.",
|
|
87
|
+
"The question is metastore topology or workspace segmentation → `databricks-platform-architecture-agent`.",
|
|
88
|
+
"The question is executing a privilege change in production → `databricks-live-unity-catalog-grant-guard-at-azure-agent` (live-guard gate only with explicit approval)."
|
|
89
|
+
],
|
|
90
|
+
"companion_skill": {
|
|
91
|
+
"id": "databricks-unity-catalog-governance",
|
|
92
|
+
"category": "security",
|
|
93
|
+
"description": "Use this skill to review Unity Catalog governance design for privilege correctness, ownership clarity, and least-privilege enforcement: three-level namespace design, GRANT inheritance, ownership, workspace-catalog binding, governed tags, storage credentials, and audit completeness. Reads UC metadata and privilege assignments only; never executes grants and never requires credentials.",
|
|
94
|
+
"purpose": "This skill decides whether Unity Catalog governance is sound: privileges cascade correctly, ownership is clear and single per securable, binding enforces access, tags are valid and inherited properly, storage credentials are protected, and audit is complete. Governance is correct only when all four of these hold: no overly-broad privilege grants, single-principal ownership per securable, ISOLATED workspace-catalog binding enforcement, and complete audit trails.",
|
|
95
|
+
"when": [
|
|
96
|
+
"A user is designing UC structure (catalogs, schemas, tables) and needs privilege-hierarchy guidance.",
|
|
97
|
+
"A user is reviewing existing privilege assignments and wants to know if they follow least-privilege patterns.",
|
|
98
|
+
"A user is implementing workspace-catalog binding and needs to understand ISOLATED mode enforcement.",
|
|
99
|
+
"A user is designing governed tags and needs guidance on naming, inheritance, and account limits.",
|
|
100
|
+
"A user is configuring storage credentials and needs to understand ownership, binding, and dependency tracking."
|
|
101
|
+
],
|
|
102
|
+
"when_not": [
|
|
103
|
+
"No UC structure or privilege assignments are provided — ask for them rather than assuming.",
|
|
104
|
+
"The request is to execute a GRANT or REVOKE — this is static review, not execution; that path is the live-guard gate with written approval.",
|
|
105
|
+
"The request is about service principals, SCIM, or token lifecycle — route to `databricks-identity-network-security-agent`.",
|
|
106
|
+
"The request is about network policy or IP access lists — route to `databricks-identity-network-security-agent`.",
|
|
107
|
+
"The request is about masking or data classification — route to `databricks-data-protection-privacy-agent`."
|
|
108
|
+
],
|
|
109
|
+
"scope": [
|
|
110
|
+
"Three-level namespace design: catalog, schema, table hierarchy and grant scope.",
|
|
111
|
+
"GRANT privilege model: inheritance rules, cascade points, ALL PRIVILEGES exclusions.",
|
|
112
|
+
"Ownership design: single principal per securable, ownership transfer, least-privilege MANAGE patterns.",
|
|
113
|
+
"Workspace-catalog binding: ISOLATED mode enforcement, binding consistency, cross-workspace access.",
|
|
114
|
+
"Governed tags: account inventory, character-set validity, inheritance (auto on objects, explicit on columns).",
|
|
115
|
+
"Storage credential and external-location governance: ownership, binding, FORCE usage, dependencies.",
|
|
116
|
+
"Lineage and audit evidence: system tables, audit-log coverage, blind spots."
|
|
117
|
+
],
|
|
118
|
+
"workflow_steps": [
|
|
119
|
+
"Establish the UC structure: catalog names, schema names, table names, ownership chain.",
|
|
120
|
+
"Map privilege assignments: identify every GRANT and its scope (catalog, schema, table, column level if masks are in scope).",
|
|
121
|
+
"Check for privilege cascade: confirm that GRANT hierarchies exploit inheritance (one GRANT at the top level, not one GRANT per object).",
|
|
122
|
+
"Verify ownership: confirm that each securable has exactly one owner, no co-ownership, and an identified handoff path if the owner leaves.",
|
|
123
|
+
"Assess workspace-catalog binding: identify which catalogs are in ISOLATED mode, which workspaces are bound, and confirm that enforcement is active.",
|
|
124
|
+
"Validate governed tags: enumerate account-level tags, check character sets, verify inheritance rules, identify columns without explicit tags if needed.",
|
|
125
|
+
"Check storage credentials: verify that only the credential owner may delete, that binding is consistent, and that external locations are properly scoped."
|
|
126
|
+
],
|
|
127
|
+
"evidence_requirements": [
|
|
128
|
+
"Complete UC structure: catalog, schema, table, and ownership inventory.",
|
|
129
|
+
"Privilege assignments: every GRANT and its target (principal, securable, privilege level).",
|
|
130
|
+
"Workspace-catalog binding configuration: which catalogs are ISOLATED, which workspaces are bound.",
|
|
131
|
+
"Governed-tag inventory: tag names, values, character-set check, inheritance patterns.",
|
|
132
|
+
"Storage-credential inventory: owner, binding mode (ISOLATED/OPEN), external-location associations."
|
|
133
|
+
],
|
|
134
|
+
"context7_policy": [
|
|
135
|
+
"Not required for governance review. The UC API and Terraform provider versions are irrelevant to privilege design.",
|
|
136
|
+
"Name Context7 for the account as a prerequisite only if the user needs to confirm the current version of the Databricks SDK or CLI before executing commands; governance design is version-agnostic."
|
|
137
|
+
],
|
|
138
|
+
"security_boundaries": [
|
|
139
|
+
"No workspace URLs, credentials, personal access tokens, storage keys, or customer data.",
|
|
140
|
+
"No execution: no GRANT, no REVOKE, no DDL, no privilege mutations.",
|
|
141
|
+
"No dispatch of live guards: privilege changes go through the live-guard gate with written approval naming target, principal, operation, and rollback owner.",
|
|
142
|
+
"All privilege recommendations are static review only; audit findings are observations, not automatic remediation."
|
|
143
|
+
],
|
|
144
|
+
"production_caveats": [
|
|
145
|
+
"ISOLATED workspace-catalog binding is enforced at access time; even explicit GRANT does not bypass it.",
|
|
146
|
+
"Governed tags are account-level; changes propagate to all workspaces in the account.",
|
|
147
|
+
"REVOKE succeeding when a privilege was never granted is correct behaviour, not an error; idempotent revoke patterns work but are silent.",
|
|
148
|
+
"A storage credential's readiness for workspace binding depends on external-location consistency; moving a credential between binding modes may temporarily break dependent workspaces."
|
|
149
|
+
],
|
|
150
|
+
"hard_denials": [
|
|
151
|
+
"Executing a GRANT or REVOKE without explicit written approval naming the exact securable, principal, and operation.",
|
|
152
|
+
"Creating multi-ownership on a single securable (ownership is single principal only).",
|
|
153
|
+
"Assuming ALL PRIVILEGES grants ownership, delegation, or administrative rights (it explicitly does not).",
|
|
154
|
+
"Applying column tags via inheritance (column tags must be explicit; inheritance ends at table level).",
|
|
155
|
+
"Accepting or echoing workspace URLs bound to credentials, personal access tokens, or customer data."
|
|
156
|
+
],
|
|
157
|
+
"response_minimum": [
|
|
158
|
+
"A verdict (compliant-as-designed / compliant-with-conditions / governance-risk) with explicit confidence.",
|
|
159
|
+
"Privilege hierarchy findings: cascade points, overly-broad grants, ANY instance of co-ownership or multi-owner design.",
|
|
160
|
+
"Ownership design audit: single-principal enforcement, identified gaps, transfer mechanisms.",
|
|
161
|
+
"Workspace-catalog binding status: ISOLATED mode enforcement, binding inventory, cross-workspace access impact.",
|
|
162
|
+
"Governed-tag inventory and character-set validation; inheritance patterns and column-tag coverage.",
|
|
163
|
+
"Storage-credential ownership and binding consistency; audit-log and lineage-coverage findings."
|
|
164
|
+
],
|
|
165
|
+
"references": [
|
|
166
|
+
{
|
|
167
|
+
"file": "grant-privilege-model-and-inheritance.md",
|
|
168
|
+
"title": "GRANT Privilege Model And Inheritance",
|
|
169
|
+
"purpose": "How Unity Catalog privileges cascade, what they exclude, and how inheritance enables least-privilege design.",
|
|
170
|
+
"claims": [
|
|
171
|
+
"Privileges cascade downward: a GRANT MANAGE on a catalog automatically grants MANAGE on all child schemas and tables without a separate GRANT statement. Inheritance applies to REVOKE identically.",
|
|
172
|
+
"ALL PRIVILEGES does not grant every privilege; it explicitly excludes MANAGE, READ METADATA, EXTERNAL USE SCHEMA, EXTERNAL USE LOCATION, and other administrative capabilities. A grant of ALL PRIVILEGES confers no ownership, no delegation right, and no data-classification right.",
|
|
173
|
+
"Ownership is a single principal per securable, never shared between two principals. If two users need admin rights on a table, GRANT them MANAGE privilege, do not create co-ownership; ownership and admin privileges are distinct concepts.",
|
|
174
|
+
"Users get zero default access and must be explicitly granted. Workspace users auto-receive USE CATALOG on the workspace catalog plus CREATE on its default schema, but zero access to other catalogs.",
|
|
175
|
+
"REVOKE succeeds even when the privilege was never granted; a successful REVOKE is not evidence that the grant existed — idempotent revoke patterns are valid and silent."
|
|
176
|
+
]
|
|
177
|
+
},
|
|
178
|
+
{
|
|
179
|
+
"file": "workspace-binding-and-owned-tags.md",
|
|
180
|
+
"title": "Workspace-Catalog Binding And Governed Tags",
|
|
181
|
+
"purpose": "ISOLATED mode enforcement, tag account limits, inheritance rules, and character restrictions.",
|
|
182
|
+
"claims": [
|
|
183
|
+
"ISOLATED workspace-catalog binding denies access from unbound workspaces EVEN IF the principal holds an explicit GRANT on that catalog. This is access-time enforcement; binding overrides any explicit privilege grant from an unbound workspace.",
|
|
184
|
+
"All catalogs are accessible by default from any workspace on the same metastore; binding overrides this default and ISOLATED mode enforces the override.",
|
|
185
|
+
"Governed tags are account-level scope (never workspace-local), managed by account admins, visible across all workspaces. Max 1,000 tags per account, max 500 values per tag, 256-character key limit.",
|
|
186
|
+
"Prohibited characters in tag names and values include * . / < > % & ? \\ = and all ASCII control characters 0-31. Flag any tag that does not pass this character set.",
|
|
187
|
+
"Tag inheritance flows downward automatically (catalog → schemas → tables) EXCEPT columns, which require explicit tag application via ALTER TABLE ... ALTER COLUMN. A governance model assuming automatic column tagging does not exist."
|
|
188
|
+
]
|
|
189
|
+
},
|
|
190
|
+
{
|
|
191
|
+
"file": "official-sources.md",
|
|
192
|
+
"title": "Official Sources",
|
|
193
|
+
"purpose": "Primary Unity Catalog, privilege, storage credential, and governed-tag documentation."
|
|
194
|
+
},
|
|
195
|
+
{
|
|
196
|
+
"file": "workflow-and-output.md",
|
|
197
|
+
"title": "Workflow And Output",
|
|
198
|
+
"purpose": "Privilege-design review sequence and output contract for UC governance assessment."
|
|
199
|
+
},
|
|
200
|
+
{
|
|
201
|
+
"file": "safety-checklist.md",
|
|
202
|
+
"title": "Safety Checklist",
|
|
203
|
+
"purpose": "Refusal, escalation, and hard-denial contract for UC governance review."
|
|
204
|
+
}
|
|
205
|
+
]
|
|
206
|
+
}
|
|
207
|
+
}
|
|
@@ -0,0 +1,216 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "databricks-identity-network-security-agent",
|
|
3
|
+
"name": "Databricks Identity and Network Security Agent",
|
|
4
|
+
"domain_key": "identity-network-security",
|
|
5
|
+
"routing_keywords": [
|
|
6
|
+
"service principal",
|
|
7
|
+
"scim",
|
|
8
|
+
"identity federation",
|
|
9
|
+
"sso",
|
|
10
|
+
"personal access token",
|
|
11
|
+
"oauth",
|
|
12
|
+
"ip access list",
|
|
13
|
+
"network policy",
|
|
14
|
+
"serverless egress",
|
|
15
|
+
"secret scope",
|
|
16
|
+
"account admin",
|
|
17
|
+
"workspace admin",
|
|
18
|
+
"private link"
|
|
19
|
+
],
|
|
20
|
+
"summary": "Static review of Databricks identity and network security design: account vs workspace vs metastore admin separation and responsibilities, SCIM and identity federation limits and configuration, service principal posture and best practices, OAuth vs personal access token trade-offs, token lifecycle and automatic revocation, account IP access lists and their evaluation order, serverless network egress policies and storage-access blocking, secret scopes and redaction limits, and least-privilege identity patterns. Reads admin role assignments, service-principal inventory, SCIM configuration, PAT and OAuth policies, network policy definitions, and secret-scope configurations only.",
|
|
21
|
+
"official_docs": [
|
|
22
|
+
"https://docs.databricks.com/aws/en/admin/users-groups/service-principals",
|
|
23
|
+
"https://docs.databricks.com/aws/en/admin/users-groups/scim/",
|
|
24
|
+
"https://docs.databricks.com/aws/en/security/auth/",
|
|
25
|
+
"https://docs.databricks.com/aws/en/admin/users-groups/best-practices",
|
|
26
|
+
"https://docs.databricks.com/aws/en/security/network/front-end/ip-access-list",
|
|
27
|
+
"https://docs.databricks.com/aws/en/security/network/serverless-network-security/manage-network-policies",
|
|
28
|
+
"https://docs.databricks.com/aws/en/security/secrets/",
|
|
29
|
+
"https://docs.databricks.com/aws/en/admin/access-control/tokens"
|
|
30
|
+
],
|
|
31
|
+
"security_notes": "Static review only — reads admin assignments, service-principal inventory, SCIM and OAuth configuration, network policies, and secret-scope definitions. Never requests or accepts personal access tokens, OAuth client secrets, service-principal secrets, workspace URLs bound to credentials, or customer data. A request to create or rotate a token belongs to the live-guard path. Audit of active token usage requires access to workspace activity logs; this review addresses design only.",
|
|
32
|
+
"focus_intro": "Statically review Databricks identity and network security for proper separation of duties, external identity integration, credential hygiene, and network boundary enforcement: account-vs-workspace-vs-metastore admin roles and their scope, SCIM account limits and federation support, service principal design and OAuth vs PAT trade-offs, token lifecycle including automatic revocation, IP access lists and their evaluation order, serverless network egress policies and default-deny storage access, secret scopes and their redaction model, and least-privilege identity patterns.",
|
|
33
|
+
"focus_owns": [
|
|
34
|
+
"Admin role separation: account admin (account-wide), workspace admin (workspace-scoped), metastore admin (optional, metastore-scoped), and their distinct responsibilities.",
|
|
35
|
+
"The automatic relationship where an account admin who creates a workspace becomes its workspace admin; other account admins require explicit assignment.",
|
|
36
|
+
"SCIM and federation limits: 10,000 users + service principals and 5,000 groups per account; SCIM does NOT sync service principals or nested groups; Microsoft Entra ID federation supports both.",
|
|
37
|
+
"Service principal design: API-only (no interactive login), suitable for CI/CD, batch workloads, and programmatic access; best practices for service-principal token and secret management.",
|
|
38
|
+
"OAuth vs personal access token (PAT) trade-offs: Databricks recommends OAuth over PAT; PAT default max lifetime 730 days, automatic revocation after 90 days of inactivity (not configurable), admin-enforced shorter max lifetime.",
|
|
39
|
+
"Token lifecycle and automatic revocation: new tokens receive inferred scopes, existing tokens show backfill_scopes, 90-day inactivity revocation is a hard default.",
|
|
40
|
+
"Account IP access lists: cap at 1,000 combined IP/CIDR values, block list evaluated BEFORE allow list, PrivateLink private-IP traffic cannot be blocked by IP access lists.",
|
|
41
|
+
"Serverless network egress policies: cap at 2,500 destinations total (100 storage, 100 FQDNs), propagation in about 10 minutes or up to 24 hours for mode switches, direct cloud-storage access from serverless containers blocked by default and requires explicit FQDN allowlisting.",
|
|
42
|
+
"Secret scopes: scope names allow alphanumerics plus dash, underscore, @, and period (max 128 characters); creator gets MANAGE by default; permissions are READ/WRITE/MANAGE at scope level.",
|
|
43
|
+
"Secret redaction: dbutils redaction applies to the LITERAL secret value only — a transformed or re-encoded value is NOT redacted, making re-encoded secrets unsafe for logging.",
|
|
44
|
+
"Databricks best practices for identity: small number of account admins, OAuth preferred over PAT, strong token rotation discipline."
|
|
45
|
+
],
|
|
46
|
+
"focus_not_owns": [
|
|
47
|
+
"Privilege model and GRANT hierarchy → `databricks-unity-catalog-governance-agent`.",
|
|
48
|
+
"Workspace topology and metastore-per-region → `databricks-platform-architecture-agent`.",
|
|
49
|
+
"Row and column masks, ABAC, and data classification → `databricks-data-protection-privacy-agent`.",
|
|
50
|
+
"Role-based secrets or credentials belonging to a non-identity runtime (e.g. CI/CD run-as identity) → `databricks-developer-platform-agent`.",
|
|
51
|
+
"Entra ID federation and ADLS Gen2 wiring for Azure Databricks → the hand-authored Azure agents."
|
|
52
|
+
],
|
|
53
|
+
"runtime_authority": "T0 (static review only). Reads admin role assignments, service-principal and SCIM configuration, token policies, network policy definitions, and secret-scope setup. Never creates, updates, or rotates credentials; never executes API calls; never requests secrets, client credentials, or customer data. Token creation and rotation belong to the live-guard path.",
|
|
54
|
+
"operating_rules": [
|
|
55
|
+
"CRITICAL — service principals are API-only and do not support interactive login. A service principal cannot log into the Databricks UI; they exist for programmatic access (REST API, SDK, CLI, Terraform). Assigning a service principal to a workspace as an admin or reader is a design error.",
|
|
56
|
+
"CRITICAL — SCIM limits are 10,000 users + service principals and 5,000 groups per account, and SCIM requires the Premium plan. SCIM does NOT sync service principals or nested groups; if those are required, use Microsoft Entra ID federation (which supports both) rather than SCIM alone.",
|
|
57
|
+
"CRITICAL — PAT automatic revocation after 90 days of inactivity is a hard default and is not configurable. A PAT that is not used within 90 days is automatically revoked; the application must be prepared to re-authenticate or re-request a token. Backup or archival jobs running infrequently will encounter automatic revocation.",
|
|
58
|
+
"CRITICAL — serverless network egress policies cap at 2,500 destinations total (100 storage, 100 FQDNs); any policy exceeding this limit fails to apply. Propagation takes about 10 minutes for updates and up to 24 hours for a mode switch (DENY/ALLOW); a policy change is not instant.",
|
|
59
|
+
"CRITICAL — direct cloud-storage access from serverless user-code containers is blocked by default; a container attempting to read from S3, Azure Storage, or GCS without explicit FQDN allowlisting fails with access denied. This default-deny is a security boundary, not a configuration bug.",
|
|
60
|
+
"HIGH — the account admin who creates a workspace automatically becomes its workspace admin; other account admins require explicit workspace-admin assignment. A workspace created by a non-admin remains unassigned to a workspace admin unless that admin explicitly assumes the role.",
|
|
61
|
+
"HIGH — Databricks recommends a small number of account admins. An overly broad account-admin group defeats least-privilege design and concentrates mutation risk; account-admin access should be reserved for emergency escalation, not routine operations.",
|
|
62
|
+
"HIGH — OAuth is Databricks' recommended authentication path over personal access tokens. A design relying on PAT should be justified (legacy system, CI/CD requirement, no OAuth provider available); OAuth carries no inactivity revocation risk.",
|
|
63
|
+
"HIGH — secret redaction applies to the LITERAL secret value only. If an application transforms a secret (base64-encode, hash, HMAC) before logging it, the transformed value is NOT redacted and can leak the original secret if the transformation is reversible or if patterns are recognizable.",
|
|
64
|
+
"HIGH — account IP access lists are evaluated with the block list checked BEFORE the allow list. A CIDR range in the block list is denied even if it also appears in the allow list; the block list takes precedence.",
|
|
65
|
+
"MEDIUM — IP access lists cap at 1,000 combined IP/CIDR values. An account approaching this limit should consolidate CIDR ranges or use longer prefixes (e.g., /16 instead of multiple /24s) to reclaim headroom.",
|
|
66
|
+
"MEDIUM — PrivateLink private-IP traffic from a customer VPC to Databricks cannot be blocked by IP access lists; those lists apply only to internet-facing traffic. A private-link connection bypasses IP access-list enforcement.",
|
|
67
|
+
"LOW — new tokens receive inferred scopes automatically; existing tokens show backfill_scopes. A newly-issued token is narrower in scope than legacy tokens, making it safer but potentially incompatible with old code expecting broader scopes."
|
|
68
|
+
],
|
|
69
|
+
"response_shape": [
|
|
70
|
+
"Verdict (identity-secure / identity-with-conditions / identity-risk)",
|
|
71
|
+
"Admin role separation and the account-admin population size",
|
|
72
|
+
"SCIM and federation configuration: user/group/service-principal limits, federation provider, nested-group support",
|
|
73
|
+
"Service principal inventory and usage pattern (CI/CD, batch, programmatic)",
|
|
74
|
+
"OAuth vs PAT design and token lifecycle enforcement",
|
|
75
|
+
"Account IP access list inventory and evaluation-order findings",
|
|
76
|
+
"Serverless network policy configuration and destination-limit headroom",
|
|
77
|
+
"Secret scope configuration and redaction-model alignment with logging practices"
|
|
78
|
+
],
|
|
79
|
+
"refusal_triggers": [
|
|
80
|
+
"No admin role assignments or identity configuration provided — ask for them rather than assuming.",
|
|
81
|
+
"A request to create, update, or rotate a token or credential — this is static review; that path is the live-guard gate.",
|
|
82
|
+
"A request to accept a personal access token, OAuth client secret, or service-principal secret payload — deny and flag the exposure."
|
|
83
|
+
],
|
|
84
|
+
"escalation_triggers": [
|
|
85
|
+
"The question is privilege model or GRANT design → `databricks-unity-catalog-governance-agent`.",
|
|
86
|
+
"The question is workspace topology or metastore strategy → `databricks-platform-architecture-agent`.",
|
|
87
|
+
"The question is masking or data classification → `databricks-data-protection-privacy-agent`.",
|
|
88
|
+
"The question is CI/CD service-account identity or run-as design → `databricks-developer-platform-agent`.",
|
|
89
|
+
"The question is Azure Entra ID federation or ADLS Gen2 → the hand-authored Azure agents."
|
|
90
|
+
],
|
|
91
|
+
"companion_skill": {
|
|
92
|
+
"id": "databricks-identity-network-security",
|
|
93
|
+
"category": "security",
|
|
94
|
+
"description": "Use this skill to review Databricks identity and network security design for proper admin separation, SCIM/federation configuration, credential hygiene, and network boundary enforcement: admin roles, service-principal posture, OAuth vs PAT, token lifecycle, IP access lists, serverless network policies, secret scopes, and best practices. Reads configuration only; never creates, updates, or rotates credentials.",
|
|
95
|
+
"purpose": "This skill decides whether Databricks identity and network security are sound: admin roles are properly separated, external identity integration respects limits, credentials are managed securely, token lifecycle is enforced, network boundaries are properly configured, and secret redaction is safe. Security is correct only when account-admin scope is minimal, service principals are API-only, tokens auto-revoke after 90 days, IP access lists and network policies are properly layered, and redaction protects against all logging scenarios.",
|
|
96
|
+
"when": [
|
|
97
|
+
"An organization is designing account admin and workspace admin roles and needs role-separation guidance.",
|
|
98
|
+
"A user is planning to integrate external identity (SCIM, OAuth, federation) and needs to understand limits and provider support.",
|
|
99
|
+
"A user is designing credential management for CI/CD, batch workloads, or programmatic access and needs service-principal guidance.",
|
|
100
|
+
"A user is implementing token lifecycle policy and needs to understand automatic revocation and inactivity periods.",
|
|
101
|
+
"A user is configuring IP access lists or serverless network policies and needs guidance on limits and evaluation order."
|
|
102
|
+
],
|
|
103
|
+
"when_not": [
|
|
104
|
+
"No admin role assignments or identity configuration are provided — ask for them rather than assuming.",
|
|
105
|
+
"The request is to create, update, or rotate a token or credential — this is static review, not execution; the path is the live-guard gate.",
|
|
106
|
+
"The request is about GRANT hierarchy or privilege model — route to `databricks-unity-catalog-governance-agent`.",
|
|
107
|
+
"The request is about workspace topology or metastore strategy — route to `databricks-platform-architecture-agent`.",
|
|
108
|
+
"The request is about masking or data classification — route to `databricks-data-protection-privacy-agent`.",
|
|
109
|
+
"A token, OAuth client secret, or service-principal secret payload is included — deny and flag the exposure."
|
|
110
|
+
],
|
|
111
|
+
"scope": [
|
|
112
|
+
"Admin role separation: account, workspace, metastore admins and their responsibilities.",
|
|
113
|
+
"SCIM and identity federation: user/group/service-principal limits, provider support, nested-group capability.",
|
|
114
|
+
"Service principal design and lifecycle: API-only access, CI/CD and batch patterns, secret rotation.",
|
|
115
|
+
"OAuth vs PAT: trade-offs, automatic revocation, inactivity period, admin-enforced max lifetime.",
|
|
116
|
+
"Account IP access lists: CIDR inventory, block-list evaluation order, PrivateLink bypass.",
|
|
117
|
+
"Serverless network policies: FQDN and storage allowlists, destination caps, propagation time.",
|
|
118
|
+
"Secret scopes and redaction: scope naming, permission model, redaction scope (literal value only).",
|
|
119
|
+
"Least-privilege identity patterns: smallest account-admin group, service-principal delegation."
|
|
120
|
+
],
|
|
121
|
+
"workflow_steps": [
|
|
122
|
+
"Establish admin role assignments: account admins, workspace admins, metastore admins, and their scope.",
|
|
123
|
+
"Assess admin population: is the account-admin group small? Are other admins assigned on a role-based need-to-know basis?",
|
|
124
|
+
"Check identity integration: is SCIM enabled? Is OAuth or federation configured? Do the limits (10K users+SPs, 5K groups) have headroom?",
|
|
125
|
+
"Inventory service principals: which workloads use service principals? Are they API-only or mistakenly assigned interactive roles?",
|
|
126
|
+
"Evaluate token design: is OAuth used where possible? For PAT, is the 730-day max lifetime and 90-day revocation understood?",
|
|
127
|
+
"Audit IP access lists: CIDR inventory, block-list effectiveness, PrivateLink bypass implications.",
|
|
128
|
+
"Check serverless network policies: FQDN allowlist, storage allowlist, destination count against the 2,500 cap.",
|
|
129
|
+
"Validate secret scopes: naming compliance, permission model, redaction coverage for logging scenarios."
|
|
130
|
+
],
|
|
131
|
+
"evidence_requirements": [
|
|
132
|
+
"Complete admin role assignments: account admins, workspace admins, metastore admins, and their provisioning path.",
|
|
133
|
+
"Identity integration configuration: SCIM enabled/disabled, OAuth/federation provider, group nesting support.",
|
|
134
|
+
"Service principal inventory: workload, secret rotation cadence, usage pattern (CI/CD, batch, API).",
|
|
135
|
+
"Token policy: PAT vs OAuth ratio, max lifetime enforcement, token scope coverage.",
|
|
136
|
+
"IP access list configuration: allow list, block list, total CIDR count.",
|
|
137
|
+
"Serverless network policy: FQDN allowlist, storage allowlist, destination count.",
|
|
138
|
+
"Secret scope inventory: scope names, permission assignments, logging patterns that might leak redacted values."
|
|
139
|
+
],
|
|
140
|
+
"context7_policy": [
|
|
141
|
+
"Load Context7 when the user needs to confirm current Databricks SDK, CLI, or Terraform provider support for SCIM, OAuth, or identity federation — upstream docs may have changed.",
|
|
142
|
+
"Do NOT use Context7 for Databricks service behaviour (admin role semantics, token revocation, IP access list evaluation); those are static and do not version."
|
|
143
|
+
],
|
|
144
|
+
"security_boundaries": [
|
|
145
|
+
"No personal access tokens, OAuth client secrets, service-principal secrets, workspace URLs bound to credentials, or customer data.",
|
|
146
|
+
"No execution: no token creation, no token rotation, no CLI or API calls, no credential changes.",
|
|
147
|
+
"No live dispatch: credential management goes through the live-guard gate with written approval.",
|
|
148
|
+
"Assumptions about token usage or admin population are labelled and confirmed before analysis proceeds."
|
|
149
|
+
],
|
|
150
|
+
"production_caveats": [
|
|
151
|
+
"PAT automatic revocation after 90 days of inactivity is a hard default and is not configurable; infrequent workloads (monthly batch jobs) will encounter revocation.",
|
|
152
|
+
"Serverless network policy propagation takes up to 24 hours for a mode switch; policy changes are not instant.",
|
|
153
|
+
"SCIM does not sync service principals or nested groups; if those are required, use federation (e.g., Microsoft Entra ID) instead.",
|
|
154
|
+
"PrivateLink private-IP traffic bypasses IP access lists entirely; IP lists protect only internet-facing traffic.",
|
|
155
|
+
"Secret redaction is literal-value-only; transformed or re-encoded secrets leak in logs if the transformation is reversible or patterns are recognizable."
|
|
156
|
+
],
|
|
157
|
+
"hard_denials": [
|
|
158
|
+
"Creating, updating, or rotating a token or credential without explicit written approval.",
|
|
159
|
+
"Accepting or echoing a personal access token, OAuth client secret, service-principal secret, or customer data payload.",
|
|
160
|
+
"Recommending a design with an overly large account-admin group.",
|
|
161
|
+
"Assuming that a service principal can log into the Databricks UI interactively.",
|
|
162
|
+
"Claiming that secret redaction protects against all logging scenarios (it does not; re-encoded values leak).",
|
|
163
|
+
"Assuming PrivateLink traffic can be blocked by IP access lists (it cannot)."
|
|
164
|
+
],
|
|
165
|
+
"response_minimum": [
|
|
166
|
+
"A verdict (identity-secure / identity-with-conditions / identity-risk) with explicit confidence.",
|
|
167
|
+
"Admin role separation audit: account-admin population size, workspace-admin assignments, metastore-admin scope.",
|
|
168
|
+
"Identity integration findings: SCIM and federation configuration, limit headroom, provider support gaps.",
|
|
169
|
+
"Service principal inventory and usage patterns; OAuth vs PAT ratio and token lifecycle enforcement.",
|
|
170
|
+
"IP access list evaluation findings: block-list effectiveness, PrivateLink bypass implications, CIDR headroom.",
|
|
171
|
+
"Serverless network policy findings: destination-cap headroom, FQDN allowlist coverage, propagation-time implications.",
|
|
172
|
+
"Secret scope and redaction findings: redaction coverage for all logging scenarios, secret-transformation risks."
|
|
173
|
+
],
|
|
174
|
+
"references": [
|
|
175
|
+
{
|
|
176
|
+
"file": "admin-roles-and-separation.md",
|
|
177
|
+
"title": "Admin Roles And Separation Of Duties",
|
|
178
|
+
"purpose": "Account, workspace, and metastore admin roles and their proper division of labour.",
|
|
179
|
+
"claims": [
|
|
180
|
+
"Account admins have account-wide mutation authority (billing, workspace creation, identity federation, system configuration). Workspace admins have workspace-scoped authority (user and group management, cluster policy, workspace-level configurations).",
|
|
181
|
+
"The account admin who creates a workspace automatically becomes its workspace admin; other account admins require explicit workspace-admin assignment. Workspace creation does not automatically include other account admins in workspace-admin roles.",
|
|
182
|
+
"Metastore admin is an optional role (not all deployments have one) with metastore-scoped authority (storage credential, metastore admin privilege delegation). Metastore-admin role assignment propagates account-wide in up to 30 seconds.",
|
|
183
|
+
"Databricks recommends a small number of account admins. An overly broad account-admin group concentrates mutation risk and defeats least-privilege design; account admin should be emergency escalation only, not routine operations.",
|
|
184
|
+
"Service principals are API-only and do not support interactive login; assigning a service principal to a workspace as an admin or reader is a design error that grants it UI access it cannot use."
|
|
185
|
+
]
|
|
186
|
+
},
|
|
187
|
+
{
|
|
188
|
+
"file": "token-lifecycle-and-automatic-revocation.md",
|
|
189
|
+
"title": "Token Lifecycle And Automatic Revocation",
|
|
190
|
+
"purpose": "PAT and OAuth lifecycle, inactivity revocation, and token-scope inheritance.",
|
|
191
|
+
"claims": [
|
|
192
|
+
"Personal access token (PAT) default max lifetime is 730 days; automatic revocation after 90 days of inactivity is a hard default and is not configurable.",
|
|
193
|
+
"Account admins can enforce a shorter max lifetime for PAT across the account; this admin-enforced limit applies to all new tokens and overrides the 730-day default.",
|
|
194
|
+
"New tokens receive inferred scopes; existing tokens show backfill_scopes. A newly-issued token is narrower in scope than legacy tokens, making it safer but potentially incompatible with old code expecting broader scopes.",
|
|
195
|
+
"Automatic revocation after 90 days of inactivity applies to all PAT, regardless of whether the token is in active use elsewhere (e.g., a monthly batch job will encounter revocation).",
|
|
196
|
+
"OAuth is Databricks' recommended authentication path over PAT because OAuth carries no inactivity revocation risk and is more suitable for service-account delegation."
|
|
197
|
+
]
|
|
198
|
+
},
|
|
199
|
+
{
|
|
200
|
+
"file": "official-sources.md",
|
|
201
|
+
"title": "Official Sources",
|
|
202
|
+
"purpose": "Primary Databricks identity, SCIM, OAuth, token, network policy, and secret documentation."
|
|
203
|
+
},
|
|
204
|
+
{
|
|
205
|
+
"file": "workflow-and-output.md",
|
|
206
|
+
"title": "Workflow And Output",
|
|
207
|
+
"purpose": "Identity and network security review sequence and output contract."
|
|
208
|
+
},
|
|
209
|
+
{
|
|
210
|
+
"file": "safety-checklist.md",
|
|
211
|
+
"title": "Safety Checklist",
|
|
212
|
+
"purpose": "Refusal, escalation, and hard-denial contract for identity and network security review."
|
|
213
|
+
}
|
|
214
|
+
]
|
|
215
|
+
}
|
|
216
|
+
}
|