Azure · Product tour
End-to-end narrative: Entra sign-in → Ricardian contract → Key Vault & confidential compute → governed prediction.
Multi-party training
Entra · AKS · Key Vault · Blob · TEE
Use-bound sharing, not a data lake
Agenda
Problem
| Today | What breaks |
|---|---|
| Bulk export + NDA | Sovereignty, liability, audit failure |
| “Train in our VPC” handshake | No machine-enforceable terms |
| Shared data lake | Competitive & regulatory non-starter |
Inspiration
Consent-based, accountable sharing: use-bound access and evidence—not bulk dumps into a lake.
| DEPA idea | CAN on Azure |
|---|---|
| Principal keeps control | TDP owns DEK; ciphertext in Blob |
| Purpose limitation | Ricardian contract + Entra roles |
| Auditability | Provenance · AuditLogs · CompliancePulse |
depa.world
Azure
| Capability | Narrative |
|---|---|
| Microsoft Entra ID | Sole app IdP · app roles TDC/TDP/CCRP/AppAdmin |
| Edge | Front Door / WAF → APIM → private AKS |
| Key Vault + Blob | Secrets, CMK, ciphertext datasets/models |
| Confidential compute | Attest → dual-key escrow → decrypt-in-memory → train |
| Governance | Open-GMASE OPA · CompliancePulse ingest |
Label Partial/Design items as “production target” if not yet live in the tenancy.
Architecture
Users (TDP / TDC / CCRP)
│ Entra ID (OIDC + app roles)
▼
Front Door / WAF → APIM → CAN on AKS
│
┌────────────────────┼────────────────────┐
▼ ▼ ▼
Azure Key Vault Blob (CMK) Confidential compute
secrets · CMK ciphertext attest → decrypt → train
│ │ │
└────────────────────┴────────────────────┘
▼
Provenance · SIEM · CompliancePulse
Roles
| Role | Entra | In the demo |
|---|---|---|
| TDP | TDP | Publish ciphertext · sign · release DEK |
| TDC | TDC | Contract · MEK · train · deploy · predict |
| CCRP / TSP | CCRP | Azure confidential offering · attested session |
| Auditor | Auditor | Merkle audit tree · contract review (read-only) |
| AppAdmin | AppAdmin | Tenancy health (optional) |
Tour map
1 Entra register → 2 Blob catalog → 3 Contract + Key Vault → 4 Multi-party sign → 5 Attest + DEK/MEK escrow → 6 Train in TEE → 7 Provenance → 8 Deploy + predict → 9 Open-GMASE ALLOW (+ CompliancePulse) → 10 Auditor: Merkle tree + contract review
Same product story as the public product tour—Azure services underneath.
Steps 1–2
Screenshot: swap live Azure captures into the speaker appendix list when a tenancy is available.
Steps 3–4
Step 5 · KMS
| Key | Owner | Protects |
|---|---|---|
| DEK | TDP | Dataset |
| MEK | TDC | Model IP |
Train starts only when both are released after policy OK. Platform must not hold principal key plaintext.
Step 6 · TEE
Provision confidential VM / enclave → Attestation quote → Principals verify quote ∧ contract → DEK + MEK into TEE (attested channel) → Decrypt in memory → train → re-encrypt → Zeroize → destroy session
Decrypt is a privilege, not a default.
Steps 7–8
start_training fail-closedStep 8b · Auditor
Screens: 25-auditor-workspace · 26-auditor-audit-tree · 27-auditor-contract-review
Step 9 · Governance
CAN side effect → Open-GMASE OPA → AuditLogs → CompliancePulse ingest
One sentence
CAN binds multi-party training in a Ricardian contract, unlocks DEK/MEK only after parties accept an attested confidential session (target path), trains in the enclave, and serves a prediction under an Open-GMASE policy gate—with evidence for GRC.
Ops
| # | Check |
|---|---|
| 1 | Entra users + roles |
| 2 | APIM / app healthy |
| 3 | Key Vault + Blob via workload identity |
| 4 | CCRP confidential offering published |
| 5 | Sample ciphertext in catalog |
| 6 | OPA up; gates on |
| 7 | CompliancePulse ingest set (or explicitly off) |
| 8 | Screenshot / recording backup |
Trust
| In scope / live | Do not imply |
|---|---|
| Entra is the Azure IdP | Keycloak runs in customer Azure |
| Local Docker covers UX | Local Docker is a hardware TEE |
| Dual-key escrow is the design | SaaS holds DEK/MEK plaintext |
| OPA gates side effects | Prompts are the control plane |
Close
Ask: pilot tenancy · Entra roles · CCRP confidential SKU · GRC evidence pack