{"id":740,"date":"2021-02-13T05:37:14","date_gmt":"2021-02-13T04:37:14","guid":{"rendered":"https:\/\/www.graber.cloud\/?p=740"},"modified":"2021-02-13T13:37:45","modified_gmt":"2021-02-13T12:37:45","slug":"auto-check-n-deploy-azure-rg-locks-withazure-policies","status":"publish","type":"post","link":"https:\/\/www.graber.cloud\/en\/auto-check-n-deploy-azure-rg-locks-withazure-policies\/","title":{"rendered":"Automatically audit and deploy Azure Resource Locks with Azure Policies"},"content":{"rendered":"<p class=\"translation-block\">You can create resources very easily on the Azure platform. This is great, but it also provides a few risks. For example, you can delete resources or entire environments just as easily. What is very helpful for tests and demos can be very dangerous for integration and production environments. So you don't have to manage this manually, I wrote an <em>Azure Policy<\/em> code. This defines the automatic auditing and provisioning of Azure Resource Locks with Azure Policies.<\/p>\n\n\n\n<p class=\"translation-block\">If you want to learn more about <em>Azure Resource Lock<\/em> and its benefits first, I recommend the following short video of mine (sound on).<\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"Azure Resource Lock and its importance\" width=\"1200\" height=\"675\" src=\"https:\/\/www.youtube.com\/embed\/j-7fpLDF5xI?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><figcaption>Azure Resource Lock and its importance &#8211; by Yannic Graber<\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Step-by-step \u2013 automation via Azure Policies<\/h2>\n\n\n\n<p>Since I provide the code on my public GitHub repository already finished, an automation is conceivably simple. First you open GitHub with the following link.<\/p>\n\n\n\n<p><a href=\"https:\/\/github.com\/grabery\/graber.cloud-azure-templates\/tree\/main\/gov\/policies\/audit-and-deploy-resource-lock\">https:\/\/github.com\/grabery\/graber.cloud-azure-templates\/tree\/main\/gov\/policies\/audit-and-deploy-resource-lock<\/a><\/p>\n\n\n\n<p>Select the \"Deploy to Azure\" button and log in to the Azure portal with the appropriate account.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"287\" src=\"\/wp-content\/uploads\/2021\/02\/AzureRGLock-GitHub-DeployToAzure-1024x287.png\" alt=\"AzureRGLock-GitHub-DeployToAzure\" class=\"wp-image-745\" srcset=\"https:\/\/www.graber.cloud\/wp-content\/uploads\/2021\/02\/AzureRGLock-GitHub-DeployToAzure-1024x287.png 1024w, https:\/\/www.graber.cloud\/wp-content\/uploads\/2021\/02\/AzureRGLock-GitHub-DeployToAzure-300x84.png 300w, https:\/\/www.graber.cloud\/wp-content\/uploads\/2021\/02\/AzureRGLock-GitHub-DeployToAzure-768x215.png 768w, https:\/\/www.graber.cloud\/wp-content\/uploads\/2021\/02\/AzureRGLock-GitHub-DeployToAzure-16x4.png 16w, https:\/\/www.graber.cloud\/wp-content\/uploads\/2021\/02\/AzureRGLock-GitHub-DeployToAzure.png 1385w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>A form appears in which you only have to select the desired subscription on which you want to save the policy definition. The other fields are all already filled with a default value. Among other things, you also create a new policy category called \"Governance\", in which you then place the definition. If you prefer to use a different name or an existing category, you can easily customize that. You can change all default values to your liking. The field \"Role Definition\" has to be kept with \"Owner\". Then click on \"Save\".<\/p>\n\n\n\n<p>You have successfully created the policy and can find it in \"Policy\" under \"Definitions\". To find it quickly, simply select the filter \"Custom\" under \"Type\".<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"269\" src=\"\/wp-content\/uploads\/2021\/02\/AzureRGLock-FindDefinition-1024x269.png\" alt=\"AzureRGLock-FindDefinition\" class=\"wp-image-746\" srcset=\"https:\/\/www.graber.cloud\/wp-content\/uploads\/2021\/02\/AzureRGLock-FindDefinition-1024x269.png 1024w, https:\/\/www.graber.cloud\/wp-content\/uploads\/2021\/02\/AzureRGLock-FindDefinition-300x79.png 300w, https:\/\/www.graber.cloud\/wp-content\/uploads\/2021\/02\/AzureRGLock-FindDefinition-768x202.png 768w, https:\/\/www.graber.cloud\/wp-content\/uploads\/2021\/02\/AzureRGLock-FindDefinition-1536x403.png 1536w, https:\/\/www.graber.cloud\/wp-content\/uploads\/2021\/02\/AzureRGLock-FindDefinition-16x4.png 16w, https:\/\/www.graber.cloud\/wp-content\/uploads\/2021\/02\/AzureRGLock-FindDefinition.png 1737w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Click on the policy and select \"Assign\" to apply the created policy. A form will appear, which you should leave with the default values. If desired, you can add a description. Then select \"Next\" to get to the parameters. Here you need to make a decision. The policy behaves in such a way that it creates a lock on all resource groups by default. The only exceptions are resource groups that have a certain \"tag value\". So you have to define here in which tag you want to search for which value for the exclusion. The fields already contain a default value as a suggestion from me, which you can take over.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"953\" height=\"343\" src=\"\/wp-content\/uploads\/2021\/02\/AzureRGLock-setTagValues.png\" alt=\"AzureRGLock-setTagValues\" class=\"wp-image-747\" srcset=\"https:\/\/www.graber.cloud\/wp-content\/uploads\/2021\/02\/AzureRGLock-setTagValues.png 953w, https:\/\/www.graber.cloud\/wp-content\/uploads\/2021\/02\/AzureRGLock-setTagValues-300x108.png 300w, https:\/\/www.graber.cloud\/wp-content\/uploads\/2021\/02\/AzureRGLock-setTagValues-768x276.png 768w, https:\/\/www.graber.cloud\/wp-content\/uploads\/2021\/02\/AzureRGLock-setTagValues-16x6.png 16w\" sizes=\"auto, (max-width: 953px) 100vw, 953px\" \/><\/figure>\n\n\n\n<ul class=\"has-vivid-cyan-blue-color has-pale-cyan-blue-background-color has-text-color has-background wp-block-list\"><li><em>I intentionally work with the exclusion method to increase security. If it were the other way around and the setting of the tag was forgotten during a deployment, the resource group and the resources it contains would not be protected.<\/em><\/li><li><em>Make sure that you have already set the exclusion tag for the resource groups to be excluded before you continue. Otherwise, you will need to manually remove the lock from them later on.<\/em><\/li><\/ul>\n\n\n\n<p>Once you have decided on a tag and its value, select \"Next\" to continue.<\/p>\n\n\n\n<p>Now a \"remediation task\" has to be created. This task ensures that the existing resource groups are not only checked, but also that a lock is automatically created. This is therefore more or less the main point of the whole thing. For the \"remediation task\" Azure creates a \"managed identity\", which as \"owner\" can then automatically create the lock for you. So check the box \"Create a remediation task\" and then select the Azure region in which you want to create the managed identity.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"956\" height=\"816\" src=\"\/wp-content\/uploads\/2021\/02\/AzureRGLock-RemediationTaskDefinition.png\" alt=\"AzureRGLock-RemediationTaskDefinition\" class=\"wp-image-748\" srcset=\"https:\/\/www.graber.cloud\/wp-content\/uploads\/2021\/02\/AzureRGLock-RemediationTaskDefinition.png 956w, https:\/\/www.graber.cloud\/wp-content\/uploads\/2021\/02\/AzureRGLock-RemediationTaskDefinition-300x256.png 300w, https:\/\/www.graber.cloud\/wp-content\/uploads\/2021\/02\/AzureRGLock-RemediationTaskDefinition-768x656.png 768w, https:\/\/www.graber.cloud\/wp-content\/uploads\/2021\/02\/AzureRGLock-RemediationTaskDefinition-14x12.png 14w\" sizes=\"auto, (max-width: 956px) 100vw, 956px\" \/><\/figure>\n\n\n\n<p>Now select \"Review + create\" to create and assign the policy based on the definition. Now you need some patience until the policy has performed the first check and created the necessary locks automatically. You can check the status under \"Overview\" of the policies.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Validation - Automatically audit and deploy Azure Resource Locks<\/h2>\n\n\n\n<p>After a while the first check of the resource groups should be done and they should be protected by the remediation task. Now check the properties of the resource group to see if you can find the new lock where you want it and if the tagged resource groups remain unaffected by the remediation task.<\/p>\n\n\n\n<p>Expected outcome of the resource groups (RGs):<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li class=\"translation-block\">A lock was created for existing RGs <strong> WITHOUT tag<\/strong>.<\/li><li class=\"translation-block\">Existing RGs <strong>WITH tag<\/strong> were filtered and therefore <strong>NO lock<\/strong> was created.<\/li><li>Newly created RGs are checked directly by the policy when they are created and<ul><li class=\"translation-block\">...<strong>WITHOUT tag<\/strong>, they are also provided with a lock.<\/li><\/ul><ul><li class=\"translation-block\">...<strong>WITH tag<\/strong>, they are filtered and therefore <strong>NO lock<\/strong> is created.<\/li><\/ul><\/li><\/ul>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"307\" src=\"\/wp-content\/uploads\/2021\/02\/AzureRGLock-CheckAutoLock-1024x307.png\" alt=\"AzureRGLock-CheckAutoLock\" class=\"wp-image-743\" srcset=\"https:\/\/www.graber.cloud\/wp-content\/uploads\/2021\/02\/AzureRGLock-CheckAutoLock-1024x307.png 1024w, https:\/\/www.graber.cloud\/wp-content\/uploads\/2021\/02\/AzureRGLock-CheckAutoLock-300x90.png 300w, https:\/\/www.graber.cloud\/wp-content\/uploads\/2021\/02\/AzureRGLock-CheckAutoLock-768x230.png 768w, https:\/\/www.graber.cloud\/wp-content\/uploads\/2021\/02\/AzureRGLock-CheckAutoLock-1536x461.png 1536w, https:\/\/www.graber.cloud\/wp-content\/uploads\/2021\/02\/AzureRGLock-CheckAutoLock-16x5.png 16w, https:\/\/www.graber.cloud\/wp-content\/uploads\/2021\/02\/AzureRGLock-CheckAutoLock.png 1644w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Congratulations! You have successfully automated the auditing and provisioning of Azure Resource Locks with Azure Policies!<\/p>","protected":false},"excerpt":{"rendered":"<p class=\"translation-block\">You can create resources very easily on the Azure platform. This is great, but it also provides a few risks. For example, you can delete resources or entire environments just as easily. What is very helpful for tests and demos can be very dangerous for integration and production environments. So you don't have to manage this manually, I wrote an <em>Azure Policy<\/em> code. This defines the automatic auditing and provisioning of Azure Resource Locks with Azure Policies.<\/p>","protected":false},"author":1,"featured_media":752,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[6,7],"tags":[3,74,14,73,19],"class_list":["post-740","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-business","category-technology","tag-azure","tag-governance","tag-howto","tag-policy","tag-security"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.0 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Automatically audit and deploy Azure Resource Locks with Azure Policies<\/title>\n<meta name=\"description\" content=\"Automatisches Pr\u00fcfen und Bereitstellen von Azure Resource Locks mit Azure Policies - available in german and english - by Yannic Graber\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.graber.cloud\/en\/auto-check-n-deploy-azure-rg-locks-withazure-policies\/\" \/>\n<meta property=\"og:locale\" content=\"en_GB\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Automatically audit and deploy Azure Resource Locks with Azure Policies\" \/>\n<meta property=\"og:description\" content=\"Automatisches Pr\u00fcfen und Bereitstellen von Azure Resource Locks mit Azure Policies - available in german and english - by Yannic Graber\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.graber.cloud\/en\/auto-check-n-deploy-azure-rg-locks-withazure-policies\/\" \/>\n<meta property=\"og:site_name\" content=\"Cloud Business &amp; Technology\" \/>\n<meta property=\"article:published_time\" content=\"2021-02-13T04:37:14+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2021-02-13T12:37:45+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.graber.cloud\/wp-content\/uploads\/2021\/02\/Banner-Auto-Azure-RG-Lock-with-policies.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1746\" \/>\n\t<meta property=\"og:image:height\" content=\"913\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Yannic Graber\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@GraberYannic\" \/>\n<meta name=\"twitter:site\" content=\"@GraberYannic\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Yannic Graber\" \/>\n\t<meta name=\"twitter:label2\" content=\"Estimated reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.graber.cloud\/en\/auto-check-n-deploy-azure-rg-locks-withazure-policies\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.graber.cloud\/en\/auto-check-n-deploy-azure-rg-locks-withazure-policies\/\"},\"author\":{\"name\":\"Yannic Graber\",\"@id\":\"https:\/\/www.graber.cloud\/en\/#\/schema\/person\/50b8d88e3d433af9d16d73f354d897fe\"},\"headline\":\"Automatisches Pr\u00fcfen und Bereitstellen von Azure Resource Locks mit Azure Policies\",\"datePublished\":\"2021-02-13T04:37:14+00:00\",\"dateModified\":\"2021-02-13T12:37:45+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.graber.cloud\/en\/auto-check-n-deploy-azure-rg-locks-withazure-policies\/\"},\"wordCount\":803,\"commentCount\":10,\"publisher\":{\"@id\":\"https:\/\/www.graber.cloud\/en\/#\/schema\/person\/50b8d88e3d433af9d16d73f354d897fe\"},\"image\":{\"@id\":\"https:\/\/www.graber.cloud\/en\/auto-check-n-deploy-azure-rg-locks-withazure-policies\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.graber.cloud\/wp-content\/uploads\/2021\/02\/Banner-Auto-Azure-RG-Lock-with-policies.png\",\"keywords\":[\"Azure\",\"Governance\",\"HowTo\",\"Policy\",\"Security\"],\"articleSection\":[\"Business\",\"Technology\"],\"inLanguage\":\"en-GB\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.graber.cloud\/en\/auto-check-n-deploy-azure-rg-locks-withazure-policies\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.graber.cloud\/en\/auto-check-n-deploy-azure-rg-locks-withazure-policies\/\",\"url\":\"https:\/\/www.graber.cloud\/en\/auto-check-n-deploy-azure-rg-locks-withazure-policies\/\",\"name\":\"Automatically audit and deploy Azure Resource Locks with Azure Policies\",\"isPartOf\":{\"@id\":\"https:\/\/www.graber.cloud\/en\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.graber.cloud\/en\/auto-check-n-deploy-azure-rg-locks-withazure-policies\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.graber.cloud\/en\/auto-check-n-deploy-azure-rg-locks-withazure-policies\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.graber.cloud\/wp-content\/uploads\/2021\/02\/Banner-Auto-Azure-RG-Lock-with-policies.png\",\"datePublished\":\"2021-02-13T04:37:14+00:00\",\"dateModified\":\"2021-02-13T12:37:45+00:00\",\"description\":\"Automatisches Pr\u00fcfen und Bereitstellen von Azure Resource Locks mit Azure Policies - available in german and english - by Yannic Graber\",\"breadcrumb\":{\"@id\":\"https:\/\/www.graber.cloud\/en\/auto-check-n-deploy-azure-rg-locks-withazure-policies\/#breadcrumb\"},\"inLanguage\":\"en-GB\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.graber.cloud\/en\/auto-check-n-deploy-azure-rg-locks-withazure-policies\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-GB\",\"@id\":\"https:\/\/www.graber.cloud\/en\/auto-check-n-deploy-azure-rg-locks-withazure-policies\/#primaryimage\",\"url\":\"https:\/\/www.graber.cloud\/wp-content\/uploads\/2021\/02\/Banner-Auto-Azure-RG-Lock-with-policies.png\",\"contentUrl\":\"https:\/\/www.graber.cloud\/wp-content\/uploads\/2021\/02\/Banner-Auto-Azure-RG-Lock-with-policies.png\",\"width\":1746,\"height\":913,\"caption\":\"Banner - Auto Azure RG Lock with policies\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.graber.cloud\/en\/auto-check-n-deploy-azure-rg-locks-withazure-policies\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.graber.cloud\/en\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Automatisches Pr\u00fcfen und Bereitstellen von Azure Resource Locks mit Azure Policies\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.graber.cloud\/en\/#website\",\"url\":\"https:\/\/www.graber.cloud\/en\/\",\"name\":\"Cloud Business &amp; Technology\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/www.graber.cloud\/en\/#\/schema\/person\/50b8d88e3d433af9d16d73f354d897fe\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.graber.cloud\/en\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-GB\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/www.graber.cloud\/en\/#\/schema\/person\/50b8d88e3d433af9d16d73f354d897fe\",\"name\":\"Yannic Graber\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-GB\",\"@id\":\"https:\/\/www.graber.cloud\/en\/#\/schema\/person\/image\/\",\"url\":\"\/wp-content\/uploads\/2020\/03\/Techdata-Yannic_Graber_downsized.jpg\",\"contentUrl\":\"\/wp-content\/uploads\/2020\/03\/Techdata-Yannic_Graber_downsized.jpg\",\"width\":264,\"height\":267,\"caption\":\"Yannic Graber\"},\"logo\":{\"@id\":\"https:\/\/www.graber.cloud\/en\/#\/schema\/person\/image\/\"},\"description\":\"Experienced technical cloud consultant, certified Azure solutions architect and MCT, focusing on Microsoft Cloud related topics. As a graduate business informatics specialist HF, I consider both the technology and economics. Born in Lucerne, Switzerland and still living there.\",\"sameAs\":[\"https:\/\/www.graber.cloud\",\"https:\/\/www.linkedin.com\/in\/ygr\/\",\"https:\/\/x.com\/GraberYannic\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Automatically audit and deploy Azure Resource Locks with Azure Policies","description":"Automatisches Pr\u00fcfen und Bereitstellen von Azure Resource Locks mit Azure Policies - available in german and english - by Yannic Graber","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.graber.cloud\/en\/auto-check-n-deploy-azure-rg-locks-withazure-policies\/","og_locale":"en_GB","og_type":"article","og_title":"Automatically audit and deploy Azure Resource Locks with Azure Policies","og_description":"Automatisches Pr\u00fcfen und Bereitstellen von Azure Resource Locks mit Azure Policies - available in german and english - by Yannic Graber","og_url":"https:\/\/www.graber.cloud\/en\/auto-check-n-deploy-azure-rg-locks-withazure-policies\/","og_site_name":"Cloud Business &amp; Technology","article_published_time":"2021-02-13T04:37:14+00:00","article_modified_time":"2021-02-13T12:37:45+00:00","og_image":[{"width":1746,"height":913,"url":"https:\/\/www.graber.cloud\/wp-content\/uploads\/2021\/02\/Banner-Auto-Azure-RG-Lock-with-policies.png","type":"image\/png"}],"author":"Yannic Graber","twitter_card":"summary_large_image","twitter_creator":"@GraberYannic","twitter_site":"@GraberYannic","twitter_misc":{"Written by":"Yannic Graber","Estimated reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.graber.cloud\/en\/auto-check-n-deploy-azure-rg-locks-withazure-policies\/#article","isPartOf":{"@id":"https:\/\/www.graber.cloud\/en\/auto-check-n-deploy-azure-rg-locks-withazure-policies\/"},"author":{"name":"Yannic Graber","@id":"https:\/\/www.graber.cloud\/en\/#\/schema\/person\/50b8d88e3d433af9d16d73f354d897fe"},"headline":"Automatisches Pr\u00fcfen und Bereitstellen von Azure Resource Locks mit Azure Policies","datePublished":"2021-02-13T04:37:14+00:00","dateModified":"2021-02-13T12:37:45+00:00","mainEntityOfPage":{"@id":"https:\/\/www.graber.cloud\/en\/auto-check-n-deploy-azure-rg-locks-withazure-policies\/"},"wordCount":803,"commentCount":10,"publisher":{"@id":"https:\/\/www.graber.cloud\/en\/#\/schema\/person\/50b8d88e3d433af9d16d73f354d897fe"},"image":{"@id":"https:\/\/www.graber.cloud\/en\/auto-check-n-deploy-azure-rg-locks-withazure-policies\/#primaryimage"},"thumbnailUrl":"https:\/\/www.graber.cloud\/wp-content\/uploads\/2021\/02\/Banner-Auto-Azure-RG-Lock-with-policies.png","keywords":["Azure","Governance","HowTo","Policy","Security"],"articleSection":["Business","Technology"],"inLanguage":"en-GB","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.graber.cloud\/en\/auto-check-n-deploy-azure-rg-locks-withazure-policies\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.graber.cloud\/en\/auto-check-n-deploy-azure-rg-locks-withazure-policies\/","url":"https:\/\/www.graber.cloud\/en\/auto-check-n-deploy-azure-rg-locks-withazure-policies\/","name":"Automatically audit and deploy Azure Resource Locks with Azure Policies","isPartOf":{"@id":"https:\/\/www.graber.cloud\/en\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.graber.cloud\/en\/auto-check-n-deploy-azure-rg-locks-withazure-policies\/#primaryimage"},"image":{"@id":"https:\/\/www.graber.cloud\/en\/auto-check-n-deploy-azure-rg-locks-withazure-policies\/#primaryimage"},"thumbnailUrl":"https:\/\/www.graber.cloud\/wp-content\/uploads\/2021\/02\/Banner-Auto-Azure-RG-Lock-with-policies.png","datePublished":"2021-02-13T04:37:14+00:00","dateModified":"2021-02-13T12:37:45+00:00","description":"Automatisches Pr\u00fcfen und Bereitstellen von Azure Resource Locks mit Azure Policies - available in german and english - by Yannic Graber","breadcrumb":{"@id":"https:\/\/www.graber.cloud\/en\/auto-check-n-deploy-azure-rg-locks-withazure-policies\/#breadcrumb"},"inLanguage":"en-GB","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.graber.cloud\/en\/auto-check-n-deploy-azure-rg-locks-withazure-policies\/"]}]},{"@type":"ImageObject","inLanguage":"en-GB","@id":"https:\/\/www.graber.cloud\/en\/auto-check-n-deploy-azure-rg-locks-withazure-policies\/#primaryimage","url":"https:\/\/www.graber.cloud\/wp-content\/uploads\/2021\/02\/Banner-Auto-Azure-RG-Lock-with-policies.png","contentUrl":"https:\/\/www.graber.cloud\/wp-content\/uploads\/2021\/02\/Banner-Auto-Azure-RG-Lock-with-policies.png","width":1746,"height":913,"caption":"Banner - Auto Azure RG Lock with policies"},{"@type":"BreadcrumbList","@id":"https:\/\/www.graber.cloud\/en\/auto-check-n-deploy-azure-rg-locks-withazure-policies\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.graber.cloud\/en\/"},{"@type":"ListItem","position":2,"name":"Automatisches Pr\u00fcfen und Bereitstellen von Azure Resource Locks mit Azure Policies"}]},{"@type":"WebSite","@id":"https:\/\/www.graber.cloud\/en\/#website","url":"https:\/\/www.graber.cloud\/en\/","name":"Cloud Business &amp; Technology","description":"","publisher":{"@id":"https:\/\/www.graber.cloud\/en\/#\/schema\/person\/50b8d88e3d433af9d16d73f354d897fe"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.graber.cloud\/en\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-GB"},{"@type":["Person","Organization"],"@id":"https:\/\/www.graber.cloud\/en\/#\/schema\/person\/50b8d88e3d433af9d16d73f354d897fe","name":"Yannic Graber","image":{"@type":"ImageObject","inLanguage":"en-GB","@id":"https:\/\/www.graber.cloud\/en\/#\/schema\/person\/image\/","url":"\/wp-content\/uploads\/2020\/03\/Techdata-Yannic_Graber_downsized.jpg","contentUrl":"\/wp-content\/uploads\/2020\/03\/Techdata-Yannic_Graber_downsized.jpg","width":264,"height":267,"caption":"Yannic Graber"},"logo":{"@id":"https:\/\/www.graber.cloud\/en\/#\/schema\/person\/image\/"},"description":"Experienced technical cloud consultant, certified Azure solutions architect and MCT, focusing on Microsoft Cloud related topics. As a graduate business informatics specialist HF, I consider both the technology and economics. Born in Lucerne, Switzerland and still living there.","sameAs":["https:\/\/www.graber.cloud","https:\/\/www.linkedin.com\/in\/ygr\/","https:\/\/x.com\/GraberYannic"]}]}},"_links":{"self":[{"href":"https:\/\/www.graber.cloud\/en\/wp-json\/wp\/v2\/posts\/740","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.graber.cloud\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.graber.cloud\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.graber.cloud\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.graber.cloud\/en\/wp-json\/wp\/v2\/comments?post=740"}],"version-history":[{"count":5,"href":"https:\/\/www.graber.cloud\/en\/wp-json\/wp\/v2\/posts\/740\/revisions"}],"predecessor-version":[{"id":1054,"href":"https:\/\/www.graber.cloud\/en\/wp-json\/wp\/v2\/posts\/740\/revisions\/1054"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.graber.cloud\/en\/wp-json\/wp\/v2\/media\/752"}],"wp:attachment":[{"href":"https:\/\/www.graber.cloud\/en\/wp-json\/wp\/v2\/media?parent=740"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.graber.cloud\/en\/wp-json\/wp\/v2\/categories?post=740"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.graber.cloud\/en\/wp-json\/wp\/v2\/tags?post=740"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}