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 作为代码解决方案。
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