{"id":2455,"date":"2025-10-07T09:00:51","date_gmt":"2025-10-07T09:00:51","guid":{"rendered":"https:\/\/thecloudmarathoner.com\/?p=2455"},"modified":"2026-01-10T04:21:06","modified_gmt":"2026-01-10T04:21:06","slug":"cyber-back-to-school-improving-your-azure-governance-with-bicep-github-copilot","status":"publish","type":"post","link":"https:\/\/thecloudmarathoner.com\/index.php\/2025\/10\/07\/cyber-back-to-school-improving-your-azure-governance-with-bicep-github-copilot\/","title":{"rendered":"Cyber Back to School &#8211; Improving Your Azure Governance with Bicep + GitHub Copilot"},"content":{"rendered":"\n<p>Greetings to all Cloud community and Cloud Marathoner friends!<\/p>\n\n\n\n<p>Did you know that the <a href=\"https:\/\/cyberbacktoschool.com\/2025-sessions\" target=\"_blank\" rel=\"noreferrer noopener\">Cyber Back to School 2025<\/a> is started on October first? <br>It is community organized event that you don&#8217;t want to miss out.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Cyber Back to School event<\/h4>\n\n\n\n<p>Cyber Back to School is an annual community event featuring IT professionals from across the world. This event was started in 2024 by Microsoft MVP and MCT Community Lead, Dwayne Natwick. Microsoft community Leader, Microsoft MCT, blogger, and public speaker, Derek Smith, joined the team as co-organizer in 2025. <br>In 2025, Cloud Marathoner and Microsoft MVP and MCT, Elkhan Yusubov began assisting with social media and promotion of the event. Community members submit sessions, either videos or blog articles, to provide viewers with actionable knowledge. The event takes place every October, from 01 October to 31 October.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"1024\" src=\"\/wp-content\/uploads\/2025\/10\/Yusubov_-_Improving_Your_Azure_Governance_with_Bicep_GitHub_Copilot_955190-1024x1024.png\" alt=\"\" class=\"wp-image-2460\" srcset=\"\/wp-content\/uploads\/2025\/10\/Yusubov_-_Improving_Your_Azure_Governance_with_Bicep_GitHub_Copilot_955190-1024x1024.png 1024w, \/wp-content\/uploads\/2025\/10\/Yusubov_-_Improving_Your_Azure_Governance_with_Bicep_GitHub_Copilot_955190-300x300.png 300w, \/wp-content\/uploads\/2025\/10\/Yusubov_-_Improving_Your_Azure_Governance_with_Bicep_GitHub_Copilot_955190-150x150.png 150w, \/wp-content\/uploads\/2025\/10\/Yusubov_-_Improving_Your_Azure_Governance_with_Bicep_GitHub_Copilot_955190-768x768.png 768w, \/wp-content\/uploads\/2025\/10\/Yusubov_-_Improving_Your_Azure_Governance_with_Bicep_GitHub_Copilot_955190.png 1080w\" sizes=\"auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px\" \/><\/figure>\n\n\n\n<p>This year I submitted two sessions and look forward to sharing the first one on this blog below.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">What is covered in my session?<\/h4>\n\n\n\n<p>Strong governance is the foundation of a secure, scalable, and cost-effective cloud environment. In this hands-on session, we\u2019ll explore together how to use Bicep \u2014 Azure\u2019s new infrastructure as code language \u2014alongside GitHub Copilot to streamline and strengthen your Azure governance strategy.<\/p>\n\n\n\n<p>You will learn the following in this session:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u2705&nbsp;Azure Governance: policies, role-based access control (RBAC), resource locks, and naming conventions<\/li>\n\n\n\n<li>\u2705&nbsp;Resource Governance rules with Bicep code<\/li>\n\n\n\n<li>\u2705&nbsp;GitHub Copilot to the rescue of reduce errors and follow best practices in IaC<\/li>\n\n\n\n<li>\u2705&nbsp;Real-world examples <\/li>\n\n\n\n<li>\u2705&nbsp;Automating governance at scale<\/li>\n\n\n\n<li>\u2705&nbsp;Tips for integrating governance into your CI\/CD workflows<\/li>\n<\/ul>\n\n\n\n<p>This session is designed for early-career cloud engineers and architects looking to build confidence in managing Azure environments with automation and AI-assisted development.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Azure Governance<\/h4>\n\n\n\n<p>As a cloud engineer or working professional stepping into the world of Microsoft Azure, one of the most important concepts to grasp early is Azure Governance. Think of it as the set of rules and practices that help organizations manage their cloud resources effectively, securely, and in a cost-efficient way. Let\u2019s break down some of the key components of Azure Governance:<\/p>\n\n\n\n<h5 class=\"wp-block-heading\">\ud83d\udee1\ufe0fAzure Policies \u2013 Enforcing Rules<\/h5>\n\n\n\n<p>Azure Policies are like the rulebook for your cloud environment. They help ensure that resources are created and managed in a way that aligns with your organization\u2019s standards. For example: You can create a policy that only allows resources to be deployed in specific regions (e.g., only in West Europe or East US), or that requires all storage accounts to have encryption enabled.<br><br><strong>Why it matters?<\/strong><br>It helps prevent misconfigurations, ensures compliance, and keeps your environment secure and cost-effective.<\/p>\n\n\n\n<h5 class=\"wp-block-heading\">\ud83d\udc65 Role-Based Access Control (RBAC) \u2013 Managing Who Can Do What<\/h5>\n\n\n\n<p>RBAC is Azure\u2019s way of controlling <strong>who has access<\/strong> to what resources and <strong>what actions<\/strong> they can perform. For example: You can give a developer access to manage virtual machines in a resource group but not allow them to delete the resource group itself.<\/p>\n\n\n\n<p><strong>Why it matters<\/strong>?<br>It follows the <strong>principle of least privilege<\/strong>, ensuring users only have the permissions they need\u2014nothing more, nothing less.<\/p>\n\n\n\n<h5 class=\"wp-block-heading\">\ud83d\udd12 Resource Locks \u2013 Preventing Accidental Deletion or Changes<\/h5>\n\n\n\n<p>Resource Locks are like putting a \u201cDo Not Touch\u201d sign on critical resources. We have following types of locks:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>ReadOnly<\/strong> \u2013 Users can read the resource but can\u2019t make changes.<\/li>\n\n\n\n<li><strong>CanNotDelete<\/strong> \u2013 Users can modify the resource but can\u2019t delete it.<\/li>\n<\/ul>\n\n\n\n<p>As a use case example: You can lock a production database to prevent accidental deletion during maintenance.<\/p>\n\n\n\n<p><strong>Why it matters<\/strong>?<br>It adds an extra layer of protection for important resources and prevents accidental changes in your important resources.<\/p>\n\n\n\n<h5 class=\"wp-block-heading\">\ud83c\udff7\ufe0f Naming Conventions \u2013 Keeping Things Organized<\/h5>\n\n\n\n<p>Naming conventions are standardized ways of naming your resources so they\u2019re easy to identify and manage. For example: A virtual machine name like <code>vm-prod-weu-app01<\/code> could tell you the following additional information:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>It\u2019s a VM<\/li>\n\n\n\n<li>Used in production<\/li>\n\n\n\n<li>Located in West Europe<\/li>\n\n\n\n<li>It\u2019s an app server<\/li>\n<\/ul>\n\n\n\n<p><strong>Why it matters<\/strong>?<br>It improves clarity, helps with automation, and makes managing large environments much easier.<\/p>\n\n\n\n<h5 class=\"wp-block-heading\">\ud83e\udde9 Bringing It All Together<\/h5>\n\n\n\n<p>Imagine you\u2019re building a cloud environment for a company. With Azure Governance you can achieve the following mission:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Define rules<\/strong> (Policies)<\/li>\n\n\n\n<li><strong>Control access<\/strong> (RBAC)<\/li>\n\n\n\n<li><strong>Protect critical resources<\/strong> (Locks)<\/li>\n\n\n\n<li><strong>Stay organized<\/strong> (Naming Conventions)<\/li>\n<\/ul>\n\n\n\n<p>Together, these tools ensure your cloud environment is <strong>secure, compliant, and manageable<\/strong>\u2014even as it grows. Mastering Azure Governance early will set you up for success as you build scalable, secure, and well-managed cloud solutions.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Resource governance with Bicep Code<\/h4>\n\n\n\n<p>Resource governance with Azure Bicep empowers organizations to manage cloud resources consistently and securely through declarative infrastructure-as-code. By defining policies, role assignments, and resource configurations in Bicep templates, teams can enforce compliance, reduce configuration drift, and automate deployments across environments. This approach enhances visibility and control, ensuring that resources adhere to organizational standards from the moment they&#8217;re provisioned.<\/p>\n\n\n\n<p>Additionally, Bicep simplifies governance by integrating seamlessly with Azure Policy and management groups, enabling scalable enforcement of rules across subscriptions. Its modular structure promotes reuse and collaboration, allowing teams to build standardized templates for tagging, cost management, and security controls. Ultimately, Bicep streamlines governance workflows, reduces manual overhead, and fosters a culture of accountability and best practices in cloud operations.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"683\" src=\"\/wp-content\/uploads\/2025\/10\/jpeg-9-1024x683.png\" alt=\"\" class=\"wp-image-2468\" srcset=\"\/wp-content\/uploads\/2025\/10\/jpeg-9-1024x683.png 1024w, \/wp-content\/uploads\/2025\/10\/jpeg-9-300x200.png 300w, \/wp-content\/uploads\/2025\/10\/jpeg-9-768x512.png 768w, \/wp-content\/uploads\/2025\/10\/jpeg-9-1200x800.png 1200w, \/wp-content\/uploads\/2025\/10\/jpeg-9.png 1536w\" sizes=\"auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px\" \/><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\">GitHub Copilot to the rescue<\/h4>\n\n\n\n<p>When working with Azure governance at scale, writing Bicep templates for policies, RBAC assignments, and resource locks can quickly become repetitive and time-consuming. This is where GitHub Copilot shines. By leveraging AI-powered code suggestions, Copilot can help you generate Bicep snippets for common governance tasks, such as defining policy assignments or creating role definitions, with minimal effort. Instead of starting from scratch, you can use Copilot to accelerate development and reduce human error.<\/p>\n\n\n\n<p>Copilot doesn\u2019t just autocomplete code\u2014it understands context. For example, if you\u2019re writing a Bicep module for resource naming conventions or enforcing tags, Copilot can infer patterns from your existing code and suggest consistent, reusable structures. This capability is especially useful when implementing governance across multiple environments, where consistency is critical. By integrating Copilot into your workflow, you can focus on higher-level governance strategy while letting AI handle the boilerplate.<br><br>For example, start a new <code>governance.bicep<\/code> file and type a guiding comment (e.g., <code>\/\/ Enforce required tag 'costCenter' with a fixed value at the RG scope<\/code>). Copilot will suggest a snippet similar to the one below; accept with <strong>Tab<\/strong> and adjust as needed (swap scopes, parameterize values, or plug in your built\u2011in\/custom policy definition ID). This is usually faster and less error-prone than writing from scratch\u2014and easy to refactor into a reusable module later.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\n@description('Assign a policy to require a costCenter tag at the resource group scope')\nparam tagName string = 'costCenter'\nparam tagValue string = 'FIN-001'\n\n\/\/ Replace with the built-in or custom policy definition ID that requires a tag and its value.\n@description('Policy definition ID for \"Require a tag and its value\"')\nparam policyDefinitionId string = '\/providers\/Microsoft.Authorization\/policyDefinitions\/&lt;RequireTagAndItsValue_ID&gt;'\n\nresource tagPolicyAssignment 'Microsoft.Authorization\/policyAssignments@2021-06-01' = {\n  name: 'enforce-costcenter-tag'\n  scope: resourceGroup()\n  properties: {\n    displayName: 'Enforce cost center tag'\n    policyDefinitionId: policyDefinitionId\n    enforcementMode: 'Default'\n    parameters: {\n      tagName:  { value: tagName }\n      tagValue: { value: tagValue }\n    }\n  }\n}<\/code><\/pre>\n\n\n\n<p><br><strong>Why It Matters<\/strong>?<br>Governance is not optional\u2014it\u2019s the backbone of a secure and compliant cloud environment. Poorly implemented governance can lead to security gaps, compliance violations, and operational inefficiencies. GitHub Copilot helps bridge the gap between governance intent and execution by reducing complexity and speeding up template development. In short, it empowers teams to implement governance as code effectively, ensuring that policies, RBAC, and resource controls are applied consistently across your Azure estate.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Automating governance<\/h4>\n\n\n\n<p>Manual governance processes often lead to inconsistencies, delays, and human error\u2014especially in large-scale Azure environments. Automating governance ensures that policies, RBAC assignments, resource locks, and naming conventions are applied uniformly across all subscriptions and resource groups. By leveraging Infrastructure as Code (IaC) with Bicep, you can codify governance rules and deploy them through automated pipelines, eliminating the need for repetitive manual configurations.<\/p>\n\n\n\n<p>Automation also enables continuous compliance. Instead of relying on periodic audits or manual checks, you can integrate governance enforcement into your CI\/CD workflows. For example, every time a new resource group or workload is deployed, your pipeline can validate naming conventions, apply required tags, and assign policies automatically. This proactive approach reduces risk and ensures that governance is not an afterthought but an integral part of your deployment lifecycle.<\/p>\n\n\n\n<p><strong>Why It Matters<\/strong>?<br>In today\u2019s cloud-first world, speed and compliance must coexist. Without automation, governance becomes a bottleneck, slowing down innovation and increasing the likelihood of misconfigurations. Automating governance ensures that security, compliance, and operational standards are consistently enforced at scale\u2014without sacrificing agility. It transforms governance from a reactive process into a proactive, embedded practice, giving organizations confidence that every deployment aligns with their standards from day one.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">integrating governance into your CI\/CD<\/h4>\n\n\n\n<p>Embedding governance into your CI\/CD pipelines ensures that compliance and security are not left to chance. Instead of applying policies and RBAC assignments after deployment, you can make them part of the deployment process itself. By integrating Bicep templates into your pipeline, every resource provisioned through CI\/CD automatically adheres to your governance standards\u2014whether it\u2019s naming conventions, resource locks, or mandatory tags.<\/p>\n\n\n\n<p>This integration typically involves adding governance steps to your pipeline stages. For example, in GitHub Actions or Azure DevOps, you can include tasks that deploy governance templates before or alongside application resources. You can also implement validation checks using tools like <code>az bicep build<\/code> or <code>arm-ttk<\/code> to ensure templates meet compliance requirements before they are merged. This approach creates a \u201cshift-left\u201d model for governance, catching issues early and reducing costly remediation later.<\/p>\n\n\n\n<p><strong>Why It Matters?<\/strong><br>Governance embedded in CI\/CD transforms compliance from a manual, reactive process into an automated, proactive safeguard. It ensures that every deployment aligns with organizational standards without slowing down delivery. By integrating governance into pipelines, you reduce risk, improve consistency, and enable teams to innovate confidently, knowing that security and compliance are enforced by design, not by afterthought.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Demo and references<\/h4>\n\n\n\n<p>To help you get hands-on with governance-as-code, here&#8217;s a curated set of Microsoft Learn references covering key areas:<\/p>\n\n\n\n<p><strong>Policy Assignments via Bicep<\/strong><br>Microsoft\u2019s QuickStart demonstrates <a href=\"https:\/\/learn.microsoft.com\/en-us\/azure\/governance\/policy\/assign-policy-bicep\" target=\"_blank\" rel=\"noreferrer noopener\">how to assign a built\u2011in policy (e.g., audit unmanaged disks) using a Bicep file<\/a>. It includes a complete example <code>policy-assignment.bicep<\/code> to deploy against a resource group.<\/p>\n\n\n\n<p><strong>Role Assignments via Bicep<\/strong><br>This guide shows <a href=\"https:\/\/learn.microsoft.com\/en-us\/azure\/role-based-access-control\/quickstart-role-assignments-bicep\" target=\"_blank\" rel=\"noreferrer noopener\">how to create an RBAC role assignment<\/a> (e.g., Virtual Machine Contributor) by defining the necessary principal and scope in Bicep.<\/p>\n\n\n\n<p><strong>Resource Locks with Bicep<\/strong><br>The Microsoft Learn page documents <a href=\"https:\/\/learn.microsoft.com\/en-us\/azure\/templates\/microsoft.authorization\/locks\" target=\"_blank\" rel=\"noreferrer noopener\">how to apply locks <\/a>such as <code>CanNotDelete<\/code> or <code>ReadOnly<\/code> using the Bicep type <code>Microsoft.Authorization\/locks@2020\u201105\u201101<\/code>. <\/p>\n\n\n\n<p><strong>Naming Conventions and Patterns<\/strong><br>Microsoft advises using Bicep functions like <code>uniqueString()<\/code> and <code>guid()<\/code> under the <a href=\"https:\/\/learn.microsoft.com\/en-us\/azure\/azure-resource-manager\/bicep\/patterns-name-generation\" target=\"_blank\" rel=\"noreferrer noopener\">&#8220;Name generation pattern&#8221;<\/a> to ensure consistent, deterministic naming.<\/p>\n\n\n\n<p><strong>CI\/CD Integration with Azure Pipelines<\/strong><br>A QuickStart showcases <a href=\"https:\/\/learn.microsoft.com\/en-us\/azure\/azure-resource-manager\/bicep\/add-template-to-azure-pipelines\" target=\"_blank\" rel=\"noreferrer noopener\">how to integrate Bicep deployments into Azure Pipelines using tasks <\/a>and <code>.bicepparam<\/code> files.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">In Summary<\/h4>\n\n\n\n<p>Azure governance is the foundation for building secure, compliant, and well-managed cloud environments. By leveraging Bicep for Infrastructure as Code and integrating GitHub Copilot into your workflow, you can simplify governance implementation, reduce manual effort, and ensure consistency across deployments. When combined with automation and CI\/CD integration, governance becomes proactive rather than reactive\u2014enabling organizations to innovate confidently while maintaining control and compliance at scale.<br><br><strong>Ready to Take Action?<\/strong><br>Start implementing governance as code today! Explore <strong>Bicep<\/strong> to codify your Azure policies, RBAC, and resource controls, and let <strong>GitHub Copilot<\/strong> accelerate your development with intelligent code suggestions. Integrate these practices into your CI\/CD pipelines to make governance seamless and automated. <br><br>The sooner you embed governance into your workflows, the faster you\u2019ll achieve secure, compliant, and scalable cloud environments. <strong>Try it now and transform governance from a challenge into a competitive advantage!<\/strong><\/p>\n<div class=\"pvc_clear\"><\/div><p id=\"pvc_stats_2455\" class=\"pvc_stats all  \" data-element-id=\"2455\" style=\"\"><i class=\"pvc-stats-icon medium\" aria-hidden=\"true\"><svg aria-hidden=\"true\" focusable=\"false\" data-prefix=\"far\" data-icon=\"chart-bar\" role=\"img\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 512 512\" class=\"svg-inline--fa fa-chart-bar fa-w-16 fa-2x\"><path fill=\"currentColor\" d=\"M396.8 352h22.4c6.4 0 12.8-6.4 12.8-12.8V108.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v230.4c0 6.4 6.4 12.8 12.8 12.8zm-192 0h22.4c6.4 0 12.8-6.4 12.8-12.8V140.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v198.4c0 6.4 6.4 12.8 12.8 12.8zm96 0h22.4c6.4 0 12.8-6.4 12.8-12.8V204.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v134.4c0 6.4 6.4 12.8 12.8 12.8zM496 400H48V80c0-8.84-7.16-16-16-16H16C7.16 64 0 71.16 0 80v336c0 17.67 14.33 32 32 32h464c8.84 0 16-7.16 16-16v-16c0-8.84-7.16-16-16-16zm-387.2-48h22.4c6.4 0 12.8-6.4 12.8-12.8v-70.4c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v70.4c0 6.4 6.4 12.8 12.8 12.8z\" class=\"\"><\/path><\/svg><\/i> <img loading=\"lazy\" decoding=\"async\" width=\"16\" height=\"16\" alt=\"Loading\" src=\"\/wp-content\/plugins\/page-views-count\/ajax-loader-2x.gif\" border=0 \/><\/p><div class=\"pvc_clear\"><\/div>","protected":false},"excerpt":{"rendered":"<p>Greetings to all Cloud community and Cloud Marathoner friends! Did you know that the Cyber Back to School 2025 is started on October first? It is community organized event that you don&#8217;t want to miss out. Cyber Back to School event Cyber Back to School is an annual community event featuring IT professionals from across &hellip; <a href=\"https:\/\/thecloudmarathoner.com\/index.php\/2025\/10\/07\/cyber-back-to-school-improving-your-azure-governance-with-bicep-github-copilot\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Cyber Back to School &#8211; Improving Your Azure Governance with Bicep + GitHub Copilot&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[16,49,15],"tags":[],"class_list":["post-2455","post","type-post","status-publish","format-standard","hentry","category-cloud-101","category-community-event","category-security-governance"],"_links":{"self":[{"href":"https:\/\/thecloudmarathoner.com\/index.php\/wp-json\/wp\/v2\/posts\/2455","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/thecloudmarathoner.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/thecloudmarathoner.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/thecloudmarathoner.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/thecloudmarathoner.com\/index.php\/wp-json\/wp\/v2\/comments?post=2455"}],"version-history":[{"count":12,"href":"https:\/\/thecloudmarathoner.com\/index.php\/wp-json\/wp\/v2\/posts\/2455\/revisions"}],"predecessor-version":[{"id":2546,"href":"https:\/\/thecloudmarathoner.com\/index.php\/wp-json\/wp\/v2\/posts\/2455\/revisions\/2546"}],"wp:attachment":[{"href":"https:\/\/thecloudmarathoner.com\/index.php\/wp-json\/wp\/v2\/media?parent=2455"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/thecloudmarathoner.com\/index.php\/wp-json\/wp\/v2\/categories?post=2455"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/thecloudmarathoner.com\/index.php\/wp-json\/wp\/v2\/tags?post=2455"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}