{"id":"2bada4cf-3d3e-4c58-81c4-ee73d863fe5e","shortId":"4tJGac","kind":"skill","title":"azure-confidential-ledger","tagline":"Expert knowledge for Azure Confidential Ledger development including decision making, security, integrations & coding patterns, and deployment. Use when configuring Entra ID/RBAC, client certs, node attestation, .NET SDK, JavaScript UDFs, or ARM/Terraform deployments, and other A","description":"# Azure Confidential Ledger Skill\n\nThis skill provides expert guidance for Azure Confidential Ledger. Covers decision making, security, integrations & coding patterns, and deployment. It combines local quick-reference content with remote documentation fetching capabilities.\n\n## How to Use This Skill\n\n> **IMPORTANT for Agent**: Use the **Category Index** below to locate relevant sections. For categories with line ranges (e.g., `L35-L120`), use `read_file` with the specified lines. For categories with file links (e.g., `[security.md](security.md)`), use `read_file` on the linked reference file\n\n> **IMPORTANT for Agent**: If `metadata.generated_at` is more than 3 months old, suggest the user pull the latest version from the repository. If `mcp_microsoftdocs` tools are not available, suggest the user install it: [Installation Guide](https://github.com/MicrosoftDocs/mcp/blob/main/README.md)\n\nThis skill requires **network access** to fetch documentation content:\n- **Preferred**: Use `mcp_microsoftdocs:microsoft_docs_fetch` with query string `from=learn-agent-skill`. Returns Markdown.\n- **Fallback**: Use `fetch_webpage` with query string `from=learn-agent-skill&accept=text/markdown`. Returns Markdown.\n\n## Category Index\n\n| Category | Lines | Description |\n|----------|-------|-------------|\n| Decision Making | L32-L36 | Guidance on migrating from Managed CCF to Azure Confidential Ledger, including compatibility, feature mapping, and steps to move existing apps and data. |\n| Security | L37-L49 | Auth, attestation, RBAC, and security for Confidential Ledger: Entra ID setup, client certs, user/role management, node quote verification, and best‑practice hardening. |\n| Integrations & Coding Patterns | L50-L60 | Patterns and code for integrating ACL with other services (Blob digests, Power Automate), querying/organizing data, using the .NET SDK, writing JavaScript UDFs, and verifying transaction receipts. |\n| Deployment | L61-L65 | How to deploy and provision Azure Confidential Ledger instances using ARM templates or Terraform, including required parameters and configuration steps. |\n\n### Decision Making\n| Topic | URL |\n|-------|-----|\n| Migrate from Managed CCF to Azure Confidential Ledger | https://learn.microsoft.com/en-us/azure/confidential-ledger/managed-confidential-consortium-framework-migration |\n\n### Security\n| Topic | URL |\n|-------|-----|\n| Authenticate and attest Azure Confidential Ledger nodes securely | https://learn.microsoft.com/en-us/azure/confidential-ledger/authenticate-ledger-nodes |\n| Configure Microsoft Entra authentication for Confidential Ledger | https://learn.microsoft.com/en-us/azure/confidential-ledger/authentication-azure-ad |\n| Create and configure client certificates for Confidential Ledger | https://learn.microsoft.com/en-us/azure/confidential-ledger/create-client-certificate |\n| Manage Entra token-based users and roles in Confidential Ledger | https://learn.microsoft.com/en-us/azure/confidential-ledger/manage-azure-ad-token-based-users |\n| Manage certificate-based users and roles in Confidential Ledger | https://learn.microsoft.com/en-us/azure/confidential-ledger/manage-certificate-based-users |\n| Register Confidential Ledger applications in Microsoft Entra ID | https://learn.microsoft.com/en-us/azure/confidential-ledger/register-application |\n| Apply security best practices to Azure Confidential Ledger | https://learn.microsoft.com/en-us/azure/confidential-ledger/secure-confidential-ledger |\n| Implement advanced UDFs with RBAC in Confidential Ledger | https://learn.microsoft.com/en-us/azure/confidential-ledger/user-defined-endpoints |\n| Verify node quotes and establish trust in Confidential Ledger | https://learn.microsoft.com/en-us/azure/confidential-ledger/verify-node-quotes |\n\n### Integrations & Coding Patterns\n| Topic | URL |\n|-------|-----|\n| Integrate Blob Storage digests with Azure Confidential Ledger | https://learn.microsoft.com/en-us/azure/confidential-ledger/create-blob-managed-app |\n| Use Power Automate connector with Azure Confidential Ledger | https://learn.microsoft.com/en-us/azure/confidential-ledger/create-power-automate-workflow |\n| Organize and query data in Azure Confidential Ledger | https://learn.microsoft.com/en-us/azure/confidential-ledger/data-organization |\n| Use Azure Confidential Ledger .NET client library | https://learn.microsoft.com/en-us/azure/confidential-ledger/quickstart-net |\n| Run user-defined functions in Azure Confidential Ledger | https://learn.microsoft.com/en-us/azure/confidential-ledger/server-side-programming |\n| Create simple JavaScript UDFs in Confidential Ledger | https://learn.microsoft.com/en-us/azure/confidential-ledger/user-defined-functions |\n| Programmatically verify Confidential Ledger transaction receipts | https://learn.microsoft.com/en-us/azure/confidential-ledger/verify-write-transaction-receipts |\n\n### Deployment\n| Topic | URL |\n|-------|-----|\n| Deploy Azure Confidential Ledger via ARM template | https://learn.microsoft.com/en-us/azure/confidential-ledger/quickstart-template |\n| Provision Azure Confidential Ledger using Terraform | https://learn.microsoft.com/en-us/azure/confidential-ledger/quickstart-terraform |","tags":["azure","confidential","ledger","agent","skills","microsoftdocs","agent-skills","agentic-skills","agentskill","ai-agents","ai-coding","azure-functions"],"capabilities":["skill","source-microsoftdocs","skill-azure-confidential-ledger","topic-agent","topic-agent-skills","topic-agentic-skills","topic-agentskill","topic-ai-agents","topic-ai-coding","topic-azure","topic-azure-functions","topic-azure-kubernetes-service","topic-azure-openai","topic-azure-sql-database","topic-azure-storage"],"categories":["Agent-Skills"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/MicrosoftDocs/Agent-Skills/azure-confidential-ledger","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add MicrosoftDocs/Agent-Skills","source_repo":"https://github.com/MicrosoftDocs/Agent-Skills","install_from":"skills.sh"}},"qualityScore":"0.698","qualityRationale":"deterministic score 0.70 from registry signals: · indexed on github topic:agent-skills · 497 github stars · SKILL.md body (5,188 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-04-22T06:53:29.778Z","embedding":null,"createdAt":"2026-04-18T21:58:32.370Z","updatedAt":"2026-04-22T06:53:29.778Z","lastSeenAt":"2026-04-22T06:53:29.778Z","tsv":"'/en-us/azure/confidential-ledger/authenticate-ledger-nodes':346 '/en-us/azure/confidential-ledger/authentication-azure-ad':356 '/en-us/azure/confidential-ledger/create-blob-managed-app':455 '/en-us/azure/confidential-ledger/create-client-certificate':367 '/en-us/azure/confidential-ledger/create-power-automate-workflow':466 '/en-us/azure/confidential-ledger/data-organization':477 '/en-us/azure/confidential-ledger/manage-azure-ad-token-based-users':381 '/en-us/azure/confidential-ledger/manage-certificate-based-users':394 '/en-us/azure/confidential-ledger/managed-confidential-consortium-framework-migration':332 '/en-us/azure/confidential-ledger/quickstart-net':487 '/en-us/azure/confidential-ledger/quickstart-template':531 '/en-us/azure/confidential-ledger/quickstart-terraform':540 '/en-us/azure/confidential-ledger/register-application':405 '/en-us/azure/confidential-ledger/secure-confidential-ledger':416 '/en-us/azure/confidential-ledger/server-side-programming':499 '/en-us/azure/confidential-ledger/user-defined-endpoints':427 '/en-us/azure/confidential-ledger/user-defined-functions':509 '/en-us/azure/confidential-ledger/verify-node-quotes':439 '/en-us/azure/confidential-ledger/verify-write-transaction-receipts':518 '/microsoftdocs/mcp/blob/main/readme.md)':161 '3':132 'accept':200 'access':166 'acl':273 'advanc':418 'agent':81,125,184,198 'app':233 'appli':406 'applic':398 'arm':308,527 'arm/terraform':35 'attest':29,241,338 'auth':240 'authent':336,350 'autom':280,458 'avail':151 'azur':2,8,40,50,221,303,327,339,411,450,461,472,479,494,523,533 'azure-confidential-ledg':1 'base':372,385 'best':259,408 'blob':277,446 'capabl':73 'categori':84,92,108,204,206 'ccf':219,325 'cert':27,252 'certif':361,384 'certificate-bas':383 'client':26,251,360,483 'code':17,58,263,270,441 'combin':63 'compat':225 'confidenti':3,9,41,51,222,246,304,328,340,352,363,377,390,396,412,423,435,451,462,473,480,495,505,512,524,534 'configur':23,316,347,359 'connector':459 'content':68,170 'cover':53 'creat':357,500 'data':235,282,470 'decis':13,54,209,318 'defin':491 'deploy':20,36,61,294,300,519,522 'descript':208 'develop':11 'digest':278,448 'doc':176 'document':71,169 'e.g':96,112 'entra':24,248,349,369,401 'establish':432 'exist':232 'expert':5,47 'fallback':188 'featur':226 'fetch':72,168,177,190 'file':102,110,117,122 'function':492 'github.com':160 'github.com/microsoftdocs/mcp/blob/main/readme.md)':159 'guid':158 'guidanc':48,214 'harden':261 'id':249,402 'id/rbac':25 'implement':417 'import':79,123 'includ':12,224,312 'index':85,205 'instal':155,157 'instanc':306 'integr':16,57,262,272,440,445 'javascript':32,288,502 'knowledg':6 'l120':99 'l32':212 'l32-l36':211 'l35':98 'l35-l120':97 'l36':213 'l37':238 'l37-l49':237 'l49':239 'l50':266 'l50-l60':265 'l60':267 'l61':296 'l61-l65':295 'l65':297 'latest':140 'learn':183,197 'learn-agent-skil':182,196 'learn.microsoft.com':331,345,355,366,380,393,404,415,426,438,454,465,476,486,498,508,517,530,539 'learn.microsoft.com/en-us/azure/confidential-ledger/authenticate-ledger-nodes':344 'learn.microsoft.com/en-us/azure/confidential-ledger/authentication-azure-ad':354 'learn.microsoft.com/en-us/azure/confidential-ledger/create-blob-managed-app':453 'learn.microsoft.com/en-us/azure/confidential-ledger/create-client-certificate':365 'learn.microsoft.com/en-us/azure/confidential-ledger/create-power-automate-workflow':464 'learn.microsoft.com/en-us/azure/confidential-ledger/data-organization':475 'learn.microsoft.com/en-us/azure/confidential-ledger/manage-azure-ad-token-based-users':379 'learn.microsoft.com/en-us/azure/confidential-ledger/manage-certificate-based-users':392 'learn.microsoft.com/en-us/azure/confidential-ledger/managed-confidential-consortium-framework-migration':330 'learn.microsoft.com/en-us/azure/confidential-ledger/quickstart-net':485 'learn.microsoft.com/en-us/azure/confidential-ledger/quickstart-template':529 'learn.microsoft.com/en-us/azure/confidential-ledger/quickstart-terraform':538 'learn.microsoft.com/en-us/azure/confidential-ledger/register-application':403 'learn.microsoft.com/en-us/azure/confidential-ledger/secure-confidential-ledger':414 'learn.microsoft.com/en-us/azure/confidential-ledger/server-side-programming':497 'learn.microsoft.com/en-us/azure/confidential-ledger/user-defined-endpoints':425 'learn.microsoft.com/en-us/azure/confidential-ledger/user-defined-functions':507 'learn.microsoft.com/en-us/azure/confidential-ledger/verify-node-quotes':437 'learn.microsoft.com/en-us/azure/confidential-ledger/verify-write-transaction-receipts':516 'ledger':4,10,42,52,223,247,305,329,341,353,364,378,391,397,413,424,436,452,463,474,481,496,506,513,525,535 'librari':484 'line':94,106,207 'link':111,120 'local':64 'locat':88 'make':14,55,210,319 'manag':218,254,324,368,382 'map':227 'markdown':187,203 'mcp':146,173 'metadata.generated':127 'microsoft':175,348,400 'microsoftdoc':147,174 'migrat':216,322 'month':133 'move':231 'net':30,285,482 'network':165 'node':28,255,342,429 'old':134 'organ':467 'paramet':314 'pattern':18,59,264,268,442 'power':279,457 'practic':260,409 'prefer':171 'programmat':510 'provid':46 'provis':302,532 'pull':138 'queri':179,193,469 'querying/organizing':281 'quick':66 'quick-refer':65 'quot':256,430 'rang':95 'rbac':242,421 'read':101,116 'receipt':293,515 'refer':67,121 'regist':395 'relev':89 'remot':70 'repositori':144 'requir':164,313 'return':186,202 'role':375,388 'run':488 'sdk':31,286 'section':90 'secur':15,56,236,244,333,343,407 'security.md':113,114 'servic':276 'setup':250 'simpl':501 'skill':43,45,78,163,185,199 'skill-azure-confidential-ledger' 'source-microsoftdocs' 'specifi':105 'step':229,317 'storag':447 'string':180,194 'suggest':135,152 'templat':309,528 'terraform':311,537 'text/markdown':201 'token':371 'token-bas':370 'tool':148 'topic':320,334,443,520 'topic-agent' 'topic-agent-skills' 'topic-agentic-skills' 'topic-agentskill' 'topic-ai-agents' 'topic-ai-coding' 'topic-azure' 'topic-azure-functions' 'topic-azure-kubernetes-service' 'topic-azure-openai' 'topic-azure-sql-database' 'topic-azure-storage' 'transact':292,514 'trust':433 'udf':33,289,419,503 'url':321,335,444,521 'use':21,76,82,100,115,172,189,283,307,456,478,536 'user':137,154,373,386,490 'user-defin':489 'user/role':253 'verif':257 'verifi':291,428,511 'version':141 'via':526 'webpag':191 'write':287","prices":[{"id":"132edf48-7db7-4aa7-9e5a-519085d75930","listingId":"2bada4cf-3d3e-4c58-81c4-ee73d863fe5e","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"MicrosoftDocs","category":"Agent-Skills","install_from":"skills.sh"},"createdAt":"2026-04-18T21:58:32.370Z"}],"sources":[{"listingId":"2bada4cf-3d3e-4c58-81c4-ee73d863fe5e","source":"github","sourceId":"MicrosoftDocs/Agent-Skills/azure-confidential-ledger","sourceUrl":"https://github.com/MicrosoftDocs/Agent-Skills/tree/main/skills/azure-confidential-ledger","isPrimary":false,"firstSeenAt":"2026-04-18T21:58:32.370Z","lastSeenAt":"2026-04-22T06:53:29.778Z"}],"details":{"listingId":"2bada4cf-3d3e-4c58-81c4-ee73d863fe5e","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"MicrosoftDocs","slug":"azure-confidential-ledger","github":{"repo":"MicrosoftDocs/Agent-Skills","stars":497,"topics":["agent","agent-skills","agentic-skills","agentskill","ai","ai-agents","ai-coding","azure","azure-functions","azure-kubernetes-service","azure-openai","azure-sql-database","azure-storage","azure-virtual-machine","claude-code","github-copilot","microsoft-learn","openai-codex","skills"],"license":"cc-by-4.0","html_url":"https://github.com/MicrosoftDocs/Agent-Skills","pushed_at":"2026-04-22T01:37:27Z","description":"Curated Agent Skills for Microsoft & Azure – giving AI coding assistants structured, real-time expertise from Microsoft Learn docs.","skill_md_sha":"2591a8c23ee9f7e79d9b21cb8ead1890d1fab877","skill_md_path":"skills/azure-confidential-ledger/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/MicrosoftDocs/Agent-Skills/tree/main/skills/azure-confidential-ledger"},"layout":"multi","source":"github","category":"Agent-Skills","frontmatter":{"name":"azure-confidential-ledger","description":"Expert knowledge for Azure Confidential Ledger development including decision making, security, integrations & coding patterns, and deployment. Use when configuring Entra ID/RBAC, client certs, node attestation, .NET SDK, JavaScript UDFs, or ARM/Terraform deployments, and other Azure Confidential Ledger related development tasks. Not for Azure Confidential Computing (use azure-confidential-computing), Azure Key Vault (use azure-key-vault), Azure Dedicated HSM (use azure-dedicated-hsm), Azure Cloud Hsm (use azure-cloud-hsm).","compatibility":"Requires network access. Uses mcp_microsoftdocs:microsoft_docs_fetch or fetch_webpage to retrieve documentation."},"skills_sh_url":"https://skills.sh/MicrosoftDocs/Agent-Skills/azure-confidential-ledger"},"updatedAt":"2026-04-22T06:53:29.778Z"}}