AI Decision System
Replayable, offline-verifiable records for AI-assisted go/no-go decisions: experiment promotions, typed model answers and human-approved actions.
翻譯準備中
一個租戶中立的範本,將 Microsoft Purview 環境管理為版本控制程式碼,分為控制層 (Bicep) 與資料層 (YAML + PowerShell),由 GitHub Actions 部署。
AI 翻譯
A tenant-neutral template that manages a Microsoft Purview environment as version-controlled code across two planes: control (Bicep) and data (YAML + PowerShell), deployed by GitHub Actions.
開發工具PowerShell · HTMLGitHub @marcusjacobson上線中營運者未確認
試用過了嗎? 點一下就好,不需要登入。
尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證包含通用、可重用內容的倉庫,用於分享 Purview as Code 解決方案
AI 翻譯
Repo with generic, reusable content for sharing Purview as Code Solutions
取自儲存庫 README
正在載入完整 README。 以下為已儲存的摘錄。
This is a tenant-neutral template. Every tenant-specific value is a placeholder using
Microsoft's documented fictitious identifiers (contoso, contoso.onmicrosoft.com). It will
not deploy against a real tenant until you make it yours. First run the Kickoff agent
@operator-kickoff to choose where your copy lives
(a local workspace or your own GitHub repo) and sever it from this source template so it can
never contribute content back, per ADR 0045.
Then run the Tenant Intake agent @operator-tenant,
or edit infra/parameters/lab.yaml by hand and follow
Getting started.檢視完整 README ↗This is a tenant-neutral template. Every tenant-specific value is a placeholder using Microsoft's documented fictitious identifiers (
contoso,contoso.onmicrosoft.com). It will not deploy against a real tenant until you make it yours. First run the Kickoff agent@operator-kickoffto choose where your copy lives (a local workspace or your own GitHub repo) and sever it from this source template so it can never contribute content back, per ADR 0045. Then run the Tenant Intake agent@operator-tenant, or editinfra/parameters/lab.yamlby hand and follow Getting started. Placeholders to replace: GitHub org/repo, tenant domain, resource group, Purview account name, Key Vault, Log Analytics, OIDC app display names, CODEOWNERS handles, and the content-explorer wrapper-group object ID.
Declarative, version-controlled configuration of a Microsoft Purview environment for a single tenant. Both the Azure resource (control plane) and the catalog contents (data plane) are expressed as code and deployed by GitHub Actions.
Standing up your own environment? Start with the Kickoff guide — the opinionated end-to-end walkthrough from an empty copy to a deployed, tenant-tailored environment.
Template repository. This repo is enabled as a GitHub template — click Use this template to create your own copy. A template-generated repo starts with a clean history and cannot open a pull request back to this source, which is the preferred spin-off path in ADR 0045.
Target account (placeholder):
contoso-labMicrosoft Purview account (tenantcontoso.onmicrosoft.com).
New here? Start with the Kickoff guide — the opinionated end-to-end walkthrough for standing up your own environment. The six steps below are the summary; the Tenant onboarding guide has the exact commands.
From an empty copy to a tailored, deployable repo in six steps.
git clone https://github.com/<your-org>/<your-repo>.git for a local workspace.@operator-kickoff to choose a local workspace or a spin-off repo and install the no-push-back guard, per ADR 0045. (If you used Use this template, GitHub already decoupled you.)@operator-tenant. It interviews you for your tenant values and writes them into infra/parameters/lab.yaml and the identity-boundary statements.OWNER_APPROVAL_LOGIN repository variable — see Getting started §1–§2.az bicep build and the Pester suite, then the deploy-infra workflow and the per-solution deploy-<solution> workflows — see the Tenant onboarding guide and Getting started §4.Microsoft Purview does not expose a single "Purview-as-Code" product. A complete IaC repo must manage two independent planes, each with its own API surface and auth model:
| Plane | What it manages | API | Auth | This repo |
|---|---|---|---|---|
| Control plane | The Microsoft.Purview/accounts resource, networking, managed identity, SKU | Azure Resource Manager | Azure RBAC (Contributor on RG) | infra/ — Bicep |
| Data plane | Sensitivity labels, DLP, data lifecycle and records management, insider risk, communication compliance, DSPM, plus Data Map collections, glossary, classifications, data sources, and scans | Microsoft Purview data-plane APIs (REST and Security & Compliance PowerShell) | App-only automation identity (certificate in Key Vault, OIDC from GitHub Actions) with least-privilege Microsoft Purview roles | data-plane/ + scripts/ — YAML rendered by PowerShell |
References:
.
├── .github/
│ ├── workflows/ # CI (validate) and CD (deploy-infra, per-solution deploy-*)
│ ├── instructions/ # Path-scoped Copilot rules (Bicep, PowerShell, YAML, ...)
│ ├── prompts/ # Reusable /-invoked task templates
│ └── agents/ # Workspace-scoped Squad agents (personas)
├── infra/ # Bicep: Purview account + dependencies (control plane)
│ ├── main.bicep
│ ├── main.bicepparam
│ ├── modules/
│ └── parameters/
├── data-plane/ # Desired-state governance content — one folder per Purview solution
│ ├── information-protection/ # Sensitivity labels + label / auto-label policies
│ ├── classifications/ # Sensitive information type (SIT) catalog
│ ├── audit/
│ ├── dlp/
│ ├── data-lifecycle/
│ ├── records/
│ ├── irm/ # Insider Risk Management
│ ├── communication-compliance/
│ ├── dspm/
│ ├── dspm-ai/
│ ├── adaptive-scopes/
│ ├── collections/ # Data Map collection hierarchy
│ ├── glossary/
│ ├── data-sources/
│ ├── scans/
│ ├── unified-catalog/
│ ├── purview-role-groups/
│ ├── entra-directory-roles/
│ └── administrative-units/
├── scripts/ # PowerShell 7+ reconcilers, smoke tests, provisioning helpers
│ ├── Connect-Purview.ps1
│ ├── Deploy-*.ps1 # Idempotent reconciler per data-plane solution
│ ├── Invoke-*SmokeTest.ps1 # End-to-end lab smoke tests
│ ├── New-*.ps1 # One-time identity / Key Vault / certificate provisioning
│ └── modules/
├── docs/
│ ├── kickoff-guide.md # Opinionated end-to-end kickoff walkthrough (start here)
│ ├── tenant-onboarding.md # Detailed step reference for standing up your environment
│ ├── getting-started.md
│ ├── architecture.md
│ ├── project-plan.md # v2 roadmap + progress checklist
│ ├── adr/ # Architecture decision records
│ ├── governance/
│ ├── runbooks/
│ ├── solutions/
│ └── archive/ # Archived v1 plan
├── tests/ # Pester 5.x unit tests for scripts/ (no live tenant)
├── AGENTS.md
└── README.md
For the full walkthrough from an empty copy to a deployed environment, see the Kickoff guide.
docs/getting-started.md.AZURE_CLIENT_ID, AZURE_TENANT_ID, AZURE_SUBSCRIPTION_ID, PURVIEW_ACCOUNT_NAME.main, the deploy-infra workflow runs az deployment group create against infra/main.bicep.deploy-labels, deploy-label-policies, deploy-auto-label-policies, deploy-dlp, deploy-irm — which render the YAML under data-plane/ into REST / Security & Compliance PowerShell calls. Every other surface has no automated apply path yet: run its reconciler locally. See and the backfill tracker .Roadmap. This template ships with an empty feature roadmap. New here? The Kickoff guide walks you through standing up your environment end to end. See docs/project-plan.md to plan and track which Microsoft Purview features you adopt into as-code governance, and docs/getting-started.md to set up the tenant connection.
Scheduled watch loops (drift, surface, and the planned code- and feature-currency loops) file their findings as review issues into a discoverable queue — see .github/copilot-automations/README.md.
scripts/Deploy-*.ps1