<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>postman Archives - Apostolidis Cloud Corner</title>
	<atom:link href="https://www.cloudcorner.gr/tag/postman/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.cloudcorner.gr/tag/postman/</link>
	<description>Remarks from a Cloud Architect encounters</description>
	<lastBuildDate>Tue, 07 Jan 2020 09:52:35 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.1</generator>

<image>
	<url>https://www.cloudcorner.gr/wp-content/uploads/2021/04/cropped-cloudcorner2-32x32.png</url>
	<title>postman Archives - Apostolidis Cloud Corner</title>
	<link>https://www.cloudcorner.gr/tag/postman/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Compliance Report using Azure Policy</title>
		<link>https://www.cloudcorner.gr/microsoft/azure/compliance-report-using-azure-policy/</link>
					<comments>https://www.cloudcorner.gr/microsoft/azure/compliance-report-using-azure-policy/#respond</comments>
		
		<dc:creator><![CDATA[Pantelis Apostolidis]]></dc:creator>
		<pubDate>Tue, 07 Jan 2020 07:37:01 +0000</pubDate>
				<category><![CDATA[Azure]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[arm]]></category>
		<category><![CDATA[arm template]]></category>
		<category><![CDATA[azure]]></category>
		<category><![CDATA[azure policy]]></category>
		<category><![CDATA[azurerm]]></category>
		<category><![CDATA[compliance]]></category>
		<category><![CDATA[compliance report]]></category>
		<category><![CDATA[postman]]></category>
		<category><![CDATA[subnet]]></category>
		<category><![CDATA[vnet]]></category>
		<guid isPermaLink="false">https://www.e-apostolidis.gr/?p=3010</guid>

					<description><![CDATA[<p>Compliance Report using Azure Policy Azure Policy is a powerful tool for Azure Governance. With Azure Policy we can define</p>
<p>The post <a href="https://www.cloudcorner.gr/microsoft/azure/compliance-report-using-azure-policy/">Compliance Report using Azure Policy</a> appeared first on <a href="https://www.cloudcorner.gr">Apostolidis Cloud Corner</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h1 style="text-align: justify;">Compliance Report using Azure Policy</h1>
<p><img fetchpriority="high" decoding="async" class="alignnone size-full wp-image-2646" src="https://www.e-apostolidis.gr/wp-content/uploads/2019/05/azurepolicy.jpg" alt="azurepolicy" width="268" height="202" /></p>
<p style="text-align: justify;">Azure Policy is a powerful tool for Azure Governance. With Azure Policy we can define rules for all Azure Subscriptions the we manage. We can use this rules for simple limitation actions, like permitting only specific VM Series and Sizes that can be created and also more complex rule sets that helps you standardize the whole Azure deployment. At my previous posts, we learned <a href="https://www.e-apostolidis.gr/microsoft/azure-policy-limit-the-azure-vm-sizes/" target="_blank" rel="noopener noreferrer">How to limit the Azure VM Sizes</a> and <a href="https://www.e-apostolidis.gr/microsoft/azure-policy-enforce-tags-for-resource-creation/" target="_blank" rel="noopener noreferrer">How to enforce tags for resources creation</a></p>
<p style="text-align: justify;">At the current post we will learn how to use Azure Policy to have a compliance report for our deployment. We will learn this by using an example. Then we will create two Virtual Networks and we will add a Network Security Group only to the first one. Finally we will use the Policy to audit whether the Subnets have assigned the NSG or Not.</p>
<p style="text-align: justify;">First we need two Virtual Networks. You can create the Virtual Networks using the Azure Portal or using ARM template, like mine from <a href="https://github.com/proximagr/ARMTemplates/blob/master/2vnets.json">my Github account</a>: <a href="https://github.com/proximagr/ARMTemplates/blob/master/2vnets.json">https://github.com/proximagr/ARMTemplates/blob/master/2vnets.json</a></p>
<p style="text-align: justify;">After applying the template you will have two VNETs like that:</p>
<p id="GDRUVFD" style="text-align: justify;"><img decoding="async" class="alignnone wp-image-3011 size-full" src="https://www.e-apostolidis.gr/wp-content/uploads/2020/01/img_5e136e4939cde.png" alt="azurepolicy1" width="375" height="131" srcset="https://www.cloudcorner.gr/wp-content/uploads/2020/01/img_5e136e4939cde.png 375w, https://www.cloudcorner.gr/wp-content/uploads/2020/01/img_5e136e4939cde-300x105.png 300w" sizes="(max-width: 375px) 100vw, 375px" /></p>
<p style="text-align: justify;">Then we will a Network Security Group (NSG) only to the MyVNET01 Virtual Network. Again using Azure Portal, PowerShell or my <a href="https://github.com/proximagr/ARMTemplates/blob/master/nsg.json">ARM Template for NSG</a></p>
<p style="text-align: justify;">Assign the NSG to the MyVNET01 VIrtual Network</p>
<p id="DWvKSEN" style="text-align: justify;"><img decoding="async" class="alignnone wp-image-3015 size-full" src="https://www.e-apostolidis.gr/wp-content/uploads/2020/01/img_5e13a666534e0.png" alt="azurepolicy2" width="696" height="361" srcset="https://www.cloudcorner.gr/wp-content/uploads/2020/01/img_5e13a666534e0.png 696w, https://www.cloudcorner.gr/wp-content/uploads/2020/01/img_5e13a666534e0-300x156.png 300w" sizes="(max-width: 696px) 100vw, 696px" /></p>
<h2 style="text-align: justify;">Add the Policy</h2>
<p style="text-align: justify;">Go to Azure Policy -&gt; Definitions and click the &#8220;+ Policy definition&#8221; to create a new policy definition.</p>
<p id="QlWjWWK" style="text-align: justify;"><img loading="lazy" decoding="async" class="alignnone wp-image-3016" src="https://www.e-apostolidis.gr/wp-content/uploads/2020/01/img_5e13a77fad72e.png" alt="azurepolicy3" width="587" height="342" srcset="https://www.cloudcorner.gr/wp-content/uploads/2020/01/img_5e13a77fad72e.png 790w, https://www.cloudcorner.gr/wp-content/uploads/2020/01/img_5e13a77fad72e-300x175.png 300w, https://www.cloudcorner.gr/wp-content/uploads/2020/01/img_5e13a77fad72e-768x447.png 768w" sizes="auto, (max-width: 587px) 100vw, 587px" /></p>
<p style="text-align: justify;">At the New Policy definition page, select the subscription (location) that the policy will be saved, then add a name. in this case we will use the sample policy template from Microsoft docs so I will add the same name.</p>
<p style="text-align: justify;">Copy the policy Json text from <a href="https://docs.microsoft.com/en-us/azure/governance/policy/samples/nsg-on-subnet">https://docs.microsoft.com/en-us/azure/governance/policy/samples/nsg-on-subnet</a> and paste it at the POLICY RULE below and Save.</p>
<p id="APxTEUp" style="text-align: justify;"><img loading="lazy" decoding="async" class="alignnone wp-image-3028" src="https://www.e-apostolidis.gr/wp-content/uploads/2020/01/img_5e13ac224c23b.png" alt="azurepolicy4" width="609" height="597" srcset="https://www.cloudcorner.gr/wp-content/uploads/2020/01/img_5e13ac224c23b.png 837w, https://www.cloudcorner.gr/wp-content/uploads/2020/01/img_5e13ac224c23b-300x295.png 300w, https://www.cloudcorner.gr/wp-content/uploads/2020/01/img_5e13ac224c23b-768x754.png 768w" sizes="auto, (max-width: 609px) 100vw, 609px" /></p>
<p style="text-align: justify;">At the &#8220;effect&#8221; part of the Json, change the &#8220;deny&#8221; to &#8220;audit&#8221;.</p>
<p id="SSRAXxV" style="text-align: justify;"><img loading="lazy" decoding="async" class="alignnone wp-image-3032 size-full" src="https://www.e-apostolidis.gr/wp-content/uploads/2020/01/img_5e13aec080790.png" alt="azurepolicy5" width="348" height="147" srcset="https://www.cloudcorner.gr/wp-content/uploads/2020/01/img_5e13aec080790.png 348w, https://www.cloudcorner.gr/wp-content/uploads/2020/01/img_5e13aec080790-300x127.png 300w" sizes="auto, (max-width: 348px) 100vw, 348px" /></p>
<p style="text-align: justify;">If you search for &#8220;NSG&#8221; you will see our new policy definition, ready to be assigned.</p>
<p id="QCJCvFG" style="text-align: justify;"><img loading="lazy" decoding="async" class="alignnone wp-image-3027 size-full" src="https://www.e-apostolidis.gr/wp-content/uploads/2020/01/img_5e13abc39d28e.png" alt="azurepolicy6" width="1225" height="155" srcset="https://www.cloudcorner.gr/wp-content/uploads/2020/01/img_5e13abc39d28e.png 1225w, https://www.cloudcorner.gr/wp-content/uploads/2020/01/img_5e13abc39d28e-300x38.png 300w, https://www.cloudcorner.gr/wp-content/uploads/2020/01/img_5e13abc39d28e-1024x130.png 1024w, https://www.cloudcorner.gr/wp-content/uploads/2020/01/img_5e13abc39d28e-768x97.png 768w" sizes="auto, (max-width: 1225px) 100vw, 1225px" /></p>
<p style="text-align: justify;">Click on the definition&#8217;s name to open it and press Assign.</p>
<p id="pUHIeEk" style="text-align: justify;"><img loading="lazy" decoding="async" class="alignnone wp-image-3029 size-full" src="https://www.e-apostolidis.gr/wp-content/uploads/2020/01/img_5e13ac4fe4c7a.png" alt="azurepolicy7" width="414" height="185" srcset="https://www.cloudcorner.gr/wp-content/uploads/2020/01/img_5e13ac4fe4c7a.png 414w, https://www.cloudcorner.gr/wp-content/uploads/2020/01/img_5e13ac4fe4c7a-300x134.png 300w" sizes="auto, (max-width: 414px) 100vw, 414px" /></p>
<p style="text-align: justify;">I will just target the &#8220;ComplianceReport&#8221; Resource Group</p>
<p id="aXOITjl" style="text-align: justify;"><img loading="lazy" decoding="async" class="alignnone wp-image-3030" src="https://www.e-apostolidis.gr/wp-content/uploads/2020/01/img_5e13ac6e6e1e9.png" alt="azurepolicy8" width="393" height="176" srcset="https://www.cloudcorner.gr/wp-content/uploads/2020/01/img_5e13ac6e6e1e9.png 460w, https://www.cloudcorner.gr/wp-content/uploads/2020/01/img_5e13ac6e6e1e9-300x134.png 300w" sizes="auto, (max-width: 393px) 100vw, 393px" /></p>
<p style="text-align: justify;">At the parameters, I added the Resource ID of the NSG, &#8220;MyNSG01&#8221;</p>
<p id="odKlFjS" style="text-align: justify;"><img loading="lazy" decoding="async" class="alignnone wp-image-3034 size-full" src="https://www.e-apostolidis.gr/wp-content/uploads/2020/01/img_5e13b3206b7a0.png" alt="azurepolicy10" width="817" height="226" srcset="https://www.cloudcorner.gr/wp-content/uploads/2020/01/img_5e13b3206b7a0.png 817w, https://www.cloudcorner.gr/wp-content/uploads/2020/01/img_5e13b3206b7a0-300x83.png 300w, https://www.cloudcorner.gr/wp-content/uploads/2020/01/img_5e13b3206b7a0-768x212.png 768w" sizes="auto, (max-width: 817px) 100vw, 817px" /></p>
<h2>Evaluate the results</h2>
<p style="text-align: justify;">To check the compliance, go to Policy &#8211; Compliance page and search for nsg. You have to wait for about 15 minutes for the compliance policy to evaluate the resources.</p>
<p>If you search &#8220;nsg&#8221; you will see that the &#8220;Audit NSG on Subnet&#8221; policy is 50% compliant. Click on the policy&#8217;s name to view more details.</p>
<p id="EraeaTw"><img loading="lazy" decoding="async" class="alignnone wp-image-3042 size-full" src="https://www.e-apostolidis.gr/wp-content/uploads/2020/01/img_5e143378a03a0.png" alt="azurepolicy11" width="1202" height="266" srcset="https://www.cloudcorner.gr/wp-content/uploads/2020/01/img_5e143378a03a0.png 1202w, https://www.cloudcorner.gr/wp-content/uploads/2020/01/img_5e143378a03a0-300x66.png 300w, https://www.cloudcorner.gr/wp-content/uploads/2020/01/img_5e143378a03a0-1024x227.png 1024w, https://www.cloudcorner.gr/wp-content/uploads/2020/01/img_5e143378a03a0-768x170.png 768w" sizes="auto, (max-width: 1202px) 100vw, 1202px" /></p>
<p>The assignment details page will open where we can see what resources are not compliant.</p>
<p id="KuNzmUo"><img loading="lazy" decoding="async" class="alignnone wp-image-3043 size-full" src="https://www.e-apostolidis.gr/wp-content/uploads/2020/01/img_5e1434300402b.png" alt="azurepolicy12" width="1620" height="372" srcset="https://www.cloudcorner.gr/wp-content/uploads/2020/01/img_5e1434300402b.png 1620w, https://www.cloudcorner.gr/wp-content/uploads/2020/01/img_5e1434300402b-300x69.png 300w, https://www.cloudcorner.gr/wp-content/uploads/2020/01/img_5e1434300402b-1024x235.png 1024w, https://www.cloudcorner.gr/wp-content/uploads/2020/01/img_5e1434300402b-768x176.png 768w, https://www.cloudcorner.gr/wp-content/uploads/2020/01/img_5e1434300402b-1536x353.png 1536w, https://www.cloudcorner.gr/wp-content/uploads/2020/01/img_5e1434300402b-1320x303.png 1320w" sizes="auto, (max-width: 1620px) 100vw, 1620px" /></p>
<p>Click on the three dots (&#8230;) next to the non-compliant subnet and select &#8220;view compliance details&#8221; to check why this resource is not compliant.</p>
<p id="brVWpDI"><img loading="lazy" decoding="async" class="alignnone wp-image-3044 size-full" src="https://www.e-apostolidis.gr/wp-content/uploads/2020/01/img_5e14348610a55.png" alt="azurepolicy13" width="1619" height="156" srcset="https://www.cloudcorner.gr/wp-content/uploads/2020/01/img_5e14348610a55.png 1619w, https://www.cloudcorner.gr/wp-content/uploads/2020/01/img_5e14348610a55-300x29.png 300w, https://www.cloudcorner.gr/wp-content/uploads/2020/01/img_5e14348610a55-1024x99.png 1024w, https://www.cloudcorner.gr/wp-content/uploads/2020/01/img_5e14348610a55-768x74.png 768w, https://www.cloudcorner.gr/wp-content/uploads/2020/01/img_5e14348610a55-1536x148.png 1536w, https://www.cloudcorner.gr/wp-content/uploads/2020/01/img_5e14348610a55-1320x127.png 1320w" sizes="auto, (max-width: 1619px) 100vw, 1619px" /></p>
<p>The compliance details reports that the value is null and what the required (target) value must be.</p>
<p id="aVBFBPQ"><img loading="lazy" decoding="async" class="alignnone wp-image-3045 size-full" src="https://www.e-apostolidis.gr/wp-content/uploads/2020/01/img_5e1434d14074f.png" alt="azurepolicy14" width="583" height="341" srcset="https://www.cloudcorner.gr/wp-content/uploads/2020/01/img_5e1434d14074f.png 583w, https://www.cloudcorner.gr/wp-content/uploads/2020/01/img_5e1434d14074f-300x175.png 300w" sizes="auto, (max-width: 583px) 100vw, 583px" /></p>
<p style="text-align: justify;">If you want to trigger an on-demand compliance check, you need to make a POST request. You can follow my post <a href="https://www.e-apostolidis.gr/microsoft/validate-azure-resource-move-with-postman/">Validate Azure Resource Move with Postman </a>to create the access Token and then use it to make a POST request to the Resource Group sung this POST:</p>
<pre class="EnlighterJSRAW" data-enlighter-language="html">https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{YourRG}/providers/Microsoft.PolicyInsights/policyStates/latest/triggerEvaluation?api-version=2018-07-01-preview</pre>
<p style="text-align: justify;"><img loading="lazy" decoding="async" class="alignnone wp-image-3038 size-full" src="https://www.e-apostolidis.gr/wp-content/uploads/2020/01/img_5e13b762f1816.png" alt="postman" width="1013" height="530" srcset="https://www.cloudcorner.gr/wp-content/uploads/2020/01/img_5e13b762f1816.png 1013w, https://www.cloudcorner.gr/wp-content/uploads/2020/01/img_5e13b762f1816-300x157.png 300w, https://www.cloudcorner.gr/wp-content/uploads/2020/01/img_5e13b762f1816-768x402.png 768w" sizes="auto, (max-width: 1013px) 100vw, 1013px" /></p>
<p id="frTPHhm" style="text-align: justify;">Source:</p>
<p style="text-align: justify;"><a href="https://docs.microsoft.com/en-us/azure/governance/policy/concepts/effects">https://docs.microsoft.com/en-us/azure/governance/policy/concepts/effects</a><br />
<a href="https://docs.microsoft.com/en-us/azure/governance/policy/samples/nsg-on-subnet">https://docs.microsoft.com/en-us/azure/governance/policy/samples/nsg-on-subnet</a><br />
<a href="https://docs.microsoft.com/en-us/azure/governance/policy/how-to/get-compliance-data#evaluation-triggers">https://docs.microsoft.com/en-us/azure/governance/policy/how-to/get-compliance-data#evaluation-triggers</a></p>
<div class="saboxplugin-wrap" itemtype="http://schema.org/Person" itemscope itemprop="author"><div class="saboxplugin-tab"><div class="saboxplugin-gravatar"><img loading="lazy" decoding="async" src="https://www.e-apostolidis.gr/wp-content/uploads/2019/05/mvpsummit2019.jpg" width="100"  height="100" alt="Pantelis Apostolidis" itemprop="image"></div><div class="saboxplugin-authorname"><a href="https://www.cloudcorner.gr/author/admin/" class="vcard author" rel="author"><span class="fn">Pantelis Apostolidis</span></a></div><div class="saboxplugin-desc"><div itemprop="description"><p>Pantelis Apostolidis is a Sr. Specialist, Azure at Microsoft and a former Microsoft Azure MVP. For the last 20 years, Pantelis has been involved to major cloud projects in Greece and abroad, helping companies to adopt and deploy cloud technologies, driving business value. He is entitled to a lot of Microsoft Expert Certifications, demonstrating his proven experience in delivering high quality solutions. He is an author, blogger and he is acting as a spokesperson for conferences, workshops and webinars. He is also an active member of several communities as a moderator in azureheads.gr and autoexec.gr. Follow him on Twitter @papostolidis.</p>
</div></div><div class="saboxplugin-web "><a href="https://www.cloudcorner.gr" target="_self" >www.cloudcorner.gr</a></div><div class="clearfix"></div><div class="saboxplugin-socials "><a title="Facebook" target="_blank" href="https://www.facebook.com/pantelis.apostolidis" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-facebook" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 264 512"><path fill="currentColor" d="M76.7 512V283H0v-91h76.7v-71.7C76.7 42.4 124.3 0 193.8 0c33.3 0 61.9 2.5 70.2 3.6V85h-48.2c-37.8 0-45.1 18-45.1 44.3V192H256l-11.7 91h-73.6v229"></path></svg></span></a><a title="Linkedin" target="_blank" href="https://www.linkedin.com/in/papostolidis/" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-linkedin" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M100.3 480H7.4V180.9h92.9V480zM53.8 140.1C24.1 140.1 0 115.5 0 85.8 0 56.1 24.1 32 53.8 32c29.7 0 53.8 24.1 53.8 53.8 0 29.7-24.1 54.3-53.8 54.3zM448 480h-92.7V334.4c0-34.7-.7-79.2-48.3-79.2-48.3 0-55.7 37.7-55.7 76.7V480h-92.8V180.9h89.1v40.8h1.3c12.4-23.5 42.7-48.3 87.9-48.3 94 0 111.3 61.9 111.3 142.3V480z"></path></svg></span></a><a title="Instagram" target="_blank" href="https://www.instagram.com/proximagr" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-instagram" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M224.1 141c-63.6 0-114.9 51.3-114.9 114.9s51.3 114.9 114.9 114.9S339 319.5 339 255.9 287.7 141 224.1 141zm0 189.6c-41.1 0-74.7-33.5-74.7-74.7s33.5-74.7 74.7-74.7 74.7 33.5 74.7 74.7-33.6 74.7-74.7 74.7zm146.4-194.3c0 14.9-12 26.8-26.8 26.8-14.9 0-26.8-12-26.8-26.8s12-26.8 26.8-26.8 26.8 12 26.8 26.8zm76.1 27.2c-1.7-35.9-9.9-67.7-36.2-93.9-26.2-26.2-58-34.4-93.9-36.2-37-2.1-147.9-2.1-184.9 0-35.8 1.7-67.6 9.9-93.9 36.1s-34.4 58-36.2 93.9c-2.1 37-2.1 147.9 0 184.9 1.7 35.9 9.9 67.7 36.2 93.9s58 34.4 93.9 36.2c37 2.1 147.9 2.1 184.9 0 35.9-1.7 67.7-9.9 93.9-36.2 26.2-26.2 34.4-58 36.2-93.9 2.1-37 2.1-147.8 0-184.8zM398.8 388c-7.8 19.6-22.9 34.7-42.6 42.6-29.5 11.7-99.5 9-132.1 9s-102.7 2.6-132.1-9c-19.6-7.8-34.7-22.9-42.6-42.6-11.7-29.5-9-99.5-9-132.1s-2.6-102.7 9-132.1c7.8-19.6 22.9-34.7 42.6-42.6 29.5-11.7 99.5-9 132.1-9s102.7-2.6 132.1 9c19.6 7.8 34.7 22.9 42.6 42.6 11.7 29.5 9 99.5 9 132.1s2.7 102.7-9 132.1z"></path></svg></span></a><a title="Rss" target="_blank" href="https://wwwcloudcorner.gr/feed/rdf/" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-rss" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M128.081 415.959c0 35.369-28.672 64.041-64.041 64.041S0 451.328 0 415.959s28.672-64.041 64.041-64.041 64.04 28.673 64.04 64.041zm175.66 47.25c-8.354-154.6-132.185-278.587-286.95-286.95C7.656 175.765 0 183.105 0 192.253v48.069c0 8.415 6.49 15.472 14.887 16.018 111.832 7.284 201.473 96.702 208.772 208.772.547 8.397 7.604 14.887 16.018 14.887h48.069c9.149.001 16.489-7.655 15.995-16.79zm144.249.288C439.596 229.677 251.465 40.445 16.503 32.01 7.473 31.686 0 38.981 0 48.016v48.068c0 8.625 6.835 15.645 15.453 15.999 191.179 7.839 344.627 161.316 352.465 352.465.353 8.618 7.373 15.453 15.999 15.453h48.068c9.034-.001 16.329-7.474 16.005-16.504z"></path></svg></span></a><a title="Twitter" target="_blank" href="https://twitter.com/papostolidis" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-twitter" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 30 30"><path d="M26.37,26l-8.795-12.822l0.015,0.012L25.52,4h-2.65l-6.46,7.48L11.28,4H4.33l8.211,11.971L12.54,15.97L3.88,26h2.65 l7.182-8.322L19.42,26H26.37z M10.23,6l12.34,18h-2.1L8.12,6H10.23z" /></svg></span></a><a title="Github" target="_blank" href="https://github.com/proximagr" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-github" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"><path fill="currentColor" d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"></path></svg></span></a><a title="User email" target="_self" href="mailto:&#112;rox&#105;&#109;&#097;gr&#064;&#104;&#111;&#116;&#109;ai&#108;&#046;&#099;om" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-user_email" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M502.3 190.8c3.9-3.1 9.7-.2 9.7 4.7V400c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V195.6c0-5 5.7-7.8 9.7-4.7 22.4 17.4 52.1 39.5 154.1 113.6 21.1 15.4 56.7 47.8 92.2 47.6 35.7.3 72-32.8 92.3-47.6 102-74.1 131.6-96.3 154-113.7zM256 320c23.2.4 56.6-29.2 73.4-41.4 132.7-96.3 142.8-104.7 173.4-128.7 5.8-4.5 9.2-11.5 9.2-18.9v-19c0-26.5-21.5-48-48-48H48C21.5 64 0 85.5 0 112v19c0 7.4 3.4 14.3 9.2 18.9 30.6 23.9 40.7 32.4 173.4 128.7 16.8 12.2 50.2 41.8 73.4 41.4z"></path></svg></span></a></div></div></div><p><a class="a2a_button_email" href="https://www.addtoany.com/add_to/email?linkurl=https%3A%2F%2Fwww.cloudcorner.gr%2Fmicrosoft%2Fazure%2Fcompliance-report-using-azure-policy%2F&amp;linkname=Compliance%20Report%20using%20Azure%20Policy" title="Email" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_print" href="https://www.addtoany.com/add_to/print?linkurl=https%3A%2F%2Fwww.cloudcorner.gr%2Fmicrosoft%2Fazure%2Fcompliance-report-using-azure-policy%2F&amp;linkname=Compliance%20Report%20using%20Azure%20Policy" title="Print" rel="nofollow noopener" target="_blank"></a><a class="a2a_dd addtoany_share_save addtoany_share" href="https://www.addtoany.com/share#url=https%3A%2F%2Fwww.cloudcorner.gr%2Fmicrosoft%2Fazure%2Fcompliance-report-using-azure-policy%2F&#038;title=Compliance%20Report%20using%20Azure%20Policy" data-a2a-url="https://www.cloudcorner.gr/microsoft/azure/compliance-report-using-azure-policy/" data-a2a-title="Compliance Report using Azure Policy"><img src="https://static.addtoany.com/buttons/share_save_171_16.png" alt="Share"></a></p><p>The post <a href="https://www.cloudcorner.gr/microsoft/azure/compliance-report-using-azure-policy/">Compliance Report using Azure Policy</a> appeared first on <a href="https://www.cloudcorner.gr">Apostolidis Cloud Corner</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.cloudcorner.gr/microsoft/azure/compliance-report-using-azure-policy/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Validate Azure Resource Move with Postman</title>
		<link>https://www.cloudcorner.gr/microsoft/azure/validate-azure-resource-move-with-postman/</link>
					<comments>https://www.cloudcorner.gr/microsoft/azure/validate-azure-resource-move-with-postman/#comments</comments>
		
		<dc:creator><![CDATA[Pantelis Apostolidis]]></dc:creator>
		<pubDate>Thu, 13 Jun 2019 11:30:23 +0000</pubDate>
				<category><![CDATA[Azure]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[azure]]></category>
		<category><![CDATA[azurerm]]></category>
		<category><![CDATA[move resources]]></category>
		<category><![CDATA[postman]]></category>
		<guid isPermaLink="false">https://www.e-apostolidis.gr/?p=2684</guid>

					<description><![CDATA[<p>Validate Azure Resource Move with Postman At this post we will see how easily we can move azure resources to</p>
<p>The post <a href="https://www.cloudcorner.gr/microsoft/azure/validate-azure-resource-move-with-postman/">Validate Azure Resource Move with Postman</a> appeared first on <a href="https://www.cloudcorner.gr">Apostolidis Cloud Corner</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h1 style="text-align: justify;">Validate Azure Resource Move with Postman</h1>
<p>At this post we will see how easily we can move azure resources to new resource groups or subscriptions and how we can validate if the azure resources are eligible to move without initiate the move. The idea came from my colleague John Dandelis, who also helped with the <a href="https://www.e-apostolidis.gr/microsoft/azure/high-level-steps-create-syslog-server-azure-oms-log-analytics/">https://www.e-apostolidis.gr/microsoft/azure/high-level-steps-create-syslog-server-azure-oms-log-analytics/ </a>post.</p>
<h2 style="text-align: justify;">Move Azure Resources to new resource groups or subscriptions</h2>
<p style="text-align: justify;">Azure Resource Manager allow you to easily move resources to new resource groups or subscriptions. It is a pretty simple process. From the Azure Portal, open a Resource Group, and from the top options click Move. You can select if you want to move to another resource group or subscription.</p>
<p id="BIXHtHz" style="text-align: justify;"><img loading="lazy" decoding="async" class="alignnone wp-image-2688 size-full" src="https://www.e-apostolidis.gr/wp-content/uploads/2019/06/img_5d0207c55688c.png" alt="resource group move" width="912" height="217" /></p>
<p style="text-align: justify;">On the next page you can select the resources you want to move and click OK. Once you click OK, the Azure Resource Manager starts to validate the move requests. Checks if the selected resources are eligible to move and also if they have any dependencies that will cause the move to fail.</p>
<p id="sJNCize" style="text-align: justify;"><img loading="lazy" decoding="async" class="alignnone wp-image-2689 size-full" src="https://www.e-apostolidis.gr/wp-content/uploads/2019/06/img_5d0208c6a3541.png" alt="select resources" width="832" height="869" /></p>
<p style="text-align: justify;">After the validation, and if the validation is successful, the resource move starts. There is no option in the portal to just validate the move request without starting the move.</p>
<h2 style="text-align: justify;">Validate Resource Move with Postman</h2>
<p style="text-align: justify;">To validate the resources move you need to use post / get operations. The <a href="https://docs.microsoft.com/en-us/azure/azure-resource-manager/resource-group-move-resources#validate-move">https://docs.microsoft.com/en-us/azure/azure-resource-manager/resource-group-move-resources#validate-move</a> document descibes the parameters that we must use to validate is the resources are eligible to move. To validate if the resources are eligible to move we need to send a URI with Authorization token. A free and easy application to help us with the post /get requests is the Postman. You can download the latest release form this link: <a href="https://www.getpostman.com/downloads/">https://www.getpostman.com/downloads/</a></p>
<p style="text-align: justify;">Download and install the Postman and open the application. We need to perform a Post request to ask the ARM if the specific resources are eligible to move and then a GET request to view the ARM response.</p>
<p id="DyQIWCA" style="text-align: justify;"><img loading="lazy" decoding="async" class="alignnone wp-image-2693 size-full" src="https://www.e-apostolidis.gr/wp-content/uploads/2019/06/img_5d020f5a29120.png" alt="postman" width="855" height="468" /></p>
<p style="text-align: justify;">At the Postman select POST and at the POST request URL enter:</p>
<p style="text-align: justify;">https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{sourceResourceGroupName}/validateMoveResources?api-version=2019-05-01</p>
<p style="text-align: justify;">My test case URL:</p>
<p style="text-align: justify;">https://management.azure.com/subscriptions/784f8ed8-33f0-497c-b1c8-1ca9833be590/resourceGroups/devrg/validateMoveResources?api-version=2019-05-01</p>
<p style="text-align: justify;">Then at the Body, select RAW -&gt; json and paste the request:</p>
<p style="text-align: left;">{ <span class="hljs-attr">&#8220;resources&#8221;</span>: [<span class="hljs-string">&#8220;&lt;resource-id-1&gt;&#8221;</span>, <span class="hljs-string">&#8220;&lt;resource-id-2&gt;&#8221;</span>], <span class="hljs-attr">&#8220;targetResourceGroup&#8221;</span>: <span class="hljs-string">&#8220;/subscriptions/&lt;subscription-id&gt;/resourceGroups/&lt;target-group&gt;&#8221;</span> }</p>
<p style="text-align: justify;">at my example that I want to validate two resources, the devrg VM and the Managed disk I entered:</p>
<p style="text-align: left;">{<br />
&#8220;resources&#8221;: [&#8220;/subscriptions/784f8ed8-33f0-497c-b1c8-1ca9833be590/resourceGroups/devrg/providers/Microsoft.Compute/virtualMachines/devrgvm&#8221;, &#8220;/subscriptions/784f8ed8-33f0-497c-b1c8-1ca9833be590/resourceGroups/DEVRG/providers/Microsoft.Compute/disks/devrgvm_OsDisk_1_5da9dad62662418b9bb3f02496e88604&#8221;],<br />
&#8220;targetResourceGroup&#8221;: &#8220;/subscriptions/784f8ed8-33f0-497c-b1c8-1ca9833be590/resourceGroups/target&#8221;<br />
}</p>
<p id="plVgxqk" style="text-align: justify;"><img loading="lazy" decoding="async" class="alignnone wp-image-2696 size-full" src="https://www.e-apostolidis.gr/wp-content/uploads/2019/06/img_5d021413794c6.png" alt="postname json" width="949" height="262" /></p>
<h3>Create Authorization Token</h3>
<p style="text-align: justify;">Finally we need an authorization token to access the ARM API. At the Azure Portal open the cloud shell, buy clicking the icon at the top right menu bar.</p>
<p id="koSAVSk" style="text-align: justify;"><img loading="lazy" decoding="async" class="alignnone wp-image-2697 size-full" src="https://www.e-apostolidis.gr/wp-content/uploads/2019/06/img_5d0214c802314.png" alt="cloud shell open" width="577" height="113" /></p>
<p style="text-align: justify;">Enter the below command to create a service principal at the Azure Active Directory:</p>
<p style="text-align: justify;">az ad sp create-for-rbac -n &#8220;my-access-app&#8221;</p>
<p style="text-align: justify;">The output will be as the below screenshot:</p>
<p id="IqiSnma" style="text-align: justify;"><img loading="lazy" decoding="async" class="alignnone wp-image-2698 size-full" src="https://www.e-apostolidis.gr/wp-content/uploads/2019/06/img_5d02156358120.png" alt="cloud shell" width="1080" height="440" /></p>
<p style="text-align: justify;">You will get the application ID, URL, tenant ID and password. Next at the Postman press the + button to create a new tab</p>
<p id="yIPtRSV" style="text-align: justify;"><img loading="lazy" decoding="async" class="alignnone wp-image-2699 size-full" src="https://www.e-apostolidis.gr/wp-content/uploads/2019/06/img_5d02161d7d112.png" alt="postman new tab" width="400" height="120" /></p>
<p style="text-align: justify;">At the Postman&#8217;s new tab create a new POST and enter:</p>
<p style="text-align: justify;">https://login.microsoftonline.com/{{tenantId}}/oauth2/token</p>
<p style="text-align: justify;">My test:</p>
<p style="text-align: justify;">https://login.microsoftonline.com/85ed7d07-ffa3-44da-a22a-38c51ba14d0e/oauth2/token</p>
<p style="text-align: justify;">Then at the Body property, select &#8220;x-www-form-urlencoded&#8221; and enter the following KEYs:</p>
<table style="border-collapse: collapse; width: 100%;">
<tbody>
<tr>
<td style="width: 50%;">Key</td>
<td style="width: 50%;">Value</td>
</tr>
<tr>
<td style="width: 50%;">grant_type</td>
<td style="width: 50%;">client_credentials</td>
</tr>
<tr>
<td style="width: 50%;">client_id</td>
<td style="width: 50%;">this is the appId of the access app</td>
</tr>
<tr>
<td style="width: 50%;">client_secret</td>
<td style="width: 50%;">this is the password of the access app</td>
</tr>
<tr>
<td style="width: 50%;">resource</td>
<td style="width: 50%;">https://management.azure.com</td>
</tr>
</tbody>
</table>
<p id="GvymWxT" style="text-align: justify;">my test:</p>
<p id="qAiMwuT" style="text-align: justify;"><img loading="lazy" decoding="async" class="alignnone wp-image-2707 size-full" src="https://www.e-apostolidis.gr/wp-content/uploads/2019/06/img_5d021af8e22ff.png" alt="postman" width="844" height="285" /></p>
<p style="text-align: justify;">Once you press &#8220;Send&#8221; it will return the &#8220;access_tocket&#8221;. This is the Authorization: Bearer &lt;bearer-token&gt; needed for the resource move validation.</p>
<p id="ZyoQXdh" style="text-align: justify;"><img loading="lazy" decoding="async" class="alignnone wp-image-2708 size-full" src="https://www.e-apostolidis.gr/wp-content/uploads/2019/06/img_5d021b1735f80.png" alt="access token" width="947" height="355" /></p>
<h3>Send the validation request</h3>
<p style="text-align: justify;">Back to the first tab of the Postman, where we are preparing the move validation POST request, select &#8220;Authorization&#8221;, at the TYPE select &#8220;Bearer Token&#8221; and at the Token field paste the &#8220;access_tocken&#8221; from above. Then press &#8220;Send&#8221;</p>
<p id="BubZYiA" style="text-align: justify;"><img loading="lazy" decoding="async" class="alignnone wp-image-2709 size-full" src="https://www.e-apostolidis.gr/wp-content/uploads/2019/06/img_5d021b3e32d6a.png" alt="send request" width="936" height="411" /></p>
<p style="text-align: justify;">If all the details are correct, it will return a status of &#8220;202 Accepted&#8221;. This means that the ARM has started the validation. Copy the &#8220;Location&#8221; value because we will need it below.</p>
<p id="XnxYmeE" style="text-align: justify;"><img loading="lazy" decoding="async" class="alignnone wp-image-2713 size-full" src="https://www.e-apostolidis.gr/wp-content/uploads/2019/06/img_5d021dd10e4a5.png" alt="return location" width="957" height="402" /></p>
<p style="text-align: justify;">The next step is to create a GET request to view the validation result. The GET request consists of the location URL and the Authorization token. As we did before, open a new Tab at the Postman, select GET request, at the GET URL paste the &#8220;Location&#8221; URL, at the TYPE select &#8220;Bearer Token&#8221; and at the Token field enter the &#8220;access_token&#8221;.</p>
<p id="KexCyQW" style="text-align: justify;"><img loading="lazy" decoding="async" class="alignnone wp-image-2714 size-full" src="https://www.e-apostolidis.gr/wp-content/uploads/2019/06/img_5d021e56f1288.png" alt="get results" width="951" height="457" /></p>
<h3>Receive the validation results</h3>
<p style="text-align: justify;">Press enter to GET the validation results. f the move operation validates successfully, you receive the 204 status code and nothing at the Body.</p>
<p style="text-align: justify;">If the move validation fails, you receive an error message, like the below. At my example the validation returned failed. The error message explains what caused the failure. At my example the VM is being backed up so the disks have restore points. Also at the message it gives us the link to check for more information.</p>
<p id="jafUWMx" style="text-align: justify;"><img loading="lazy" decoding="async" class="alignnone wp-image-2716 size-full" src="https://www.e-apostolidis.gr/wp-content/uploads/2019/06/img_5d021f89c4ba7.png" alt="message" width="955" height="447" /></p>
<p style="text-align: justify;">
<div class="saboxplugin-wrap" itemtype="http://schema.org/Person" itemscope itemprop="author"><div class="saboxplugin-tab"><div class="saboxplugin-gravatar"><img loading="lazy" decoding="async" src="https://www.e-apostolidis.gr/wp-content/uploads/2019/05/mvpsummit2019.jpg" width="100"  height="100" alt="Pantelis Apostolidis" itemprop="image"></div><div class="saboxplugin-authorname"><a href="https://www.cloudcorner.gr/author/admin/" class="vcard author" rel="author"><span class="fn">Pantelis Apostolidis</span></a></div><div class="saboxplugin-desc"><div itemprop="description"><p>Pantelis Apostolidis is a Sr. Specialist, Azure at Microsoft and a former Microsoft Azure MVP. For the last 20 years, Pantelis has been involved to major cloud projects in Greece and abroad, helping companies to adopt and deploy cloud technologies, driving business value. He is entitled to a lot of Microsoft Expert Certifications, demonstrating his proven experience in delivering high quality solutions. He is an author, blogger and he is acting as a spokesperson for conferences, workshops and webinars. He is also an active member of several communities as a moderator in azureheads.gr and autoexec.gr. Follow him on Twitter @papostolidis.</p>
</div></div><div class="saboxplugin-web "><a href="https://www.cloudcorner.gr" target="_self" >www.cloudcorner.gr</a></div><div class="clearfix"></div><div class="saboxplugin-socials "><a title="Facebook" target="_blank" href="https://www.facebook.com/pantelis.apostolidis" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-facebook" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 264 512"><path fill="currentColor" d="M76.7 512V283H0v-91h76.7v-71.7C76.7 42.4 124.3 0 193.8 0c33.3 0 61.9 2.5 70.2 3.6V85h-48.2c-37.8 0-45.1 18-45.1 44.3V192H256l-11.7 91h-73.6v229"></path></svg></span></a><a title="Linkedin" target="_blank" href="https://www.linkedin.com/in/papostolidis/" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-linkedin" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M100.3 480H7.4V180.9h92.9V480zM53.8 140.1C24.1 140.1 0 115.5 0 85.8 0 56.1 24.1 32 53.8 32c29.7 0 53.8 24.1 53.8 53.8 0 29.7-24.1 54.3-53.8 54.3zM448 480h-92.7V334.4c0-34.7-.7-79.2-48.3-79.2-48.3 0-55.7 37.7-55.7 76.7V480h-92.8V180.9h89.1v40.8h1.3c12.4-23.5 42.7-48.3 87.9-48.3 94 0 111.3 61.9 111.3 142.3V480z"></path></svg></span></a><a title="Instagram" target="_blank" href="https://www.instagram.com/proximagr" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-instagram" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M224.1 141c-63.6 0-114.9 51.3-114.9 114.9s51.3 114.9 114.9 114.9S339 319.5 339 255.9 287.7 141 224.1 141zm0 189.6c-41.1 0-74.7-33.5-74.7-74.7s33.5-74.7 74.7-74.7 74.7 33.5 74.7 74.7-33.6 74.7-74.7 74.7zm146.4-194.3c0 14.9-12 26.8-26.8 26.8-14.9 0-26.8-12-26.8-26.8s12-26.8 26.8-26.8 26.8 12 26.8 26.8zm76.1 27.2c-1.7-35.9-9.9-67.7-36.2-93.9-26.2-26.2-58-34.4-93.9-36.2-37-2.1-147.9-2.1-184.9 0-35.8 1.7-67.6 9.9-93.9 36.1s-34.4 58-36.2 93.9c-2.1 37-2.1 147.9 0 184.9 1.7 35.9 9.9 67.7 36.2 93.9s58 34.4 93.9 36.2c37 2.1 147.9 2.1 184.9 0 35.9-1.7 67.7-9.9 93.9-36.2 26.2-26.2 34.4-58 36.2-93.9 2.1-37 2.1-147.8 0-184.8zM398.8 388c-7.8 19.6-22.9 34.7-42.6 42.6-29.5 11.7-99.5 9-132.1 9s-102.7 2.6-132.1-9c-19.6-7.8-34.7-22.9-42.6-42.6-11.7-29.5-9-99.5-9-132.1s-2.6-102.7 9-132.1c7.8-19.6 22.9-34.7 42.6-42.6 29.5-11.7 99.5-9 132.1-9s102.7-2.6 132.1 9c19.6 7.8 34.7 22.9 42.6 42.6 11.7 29.5 9 99.5 9 132.1s2.7 102.7-9 132.1z"></path></svg></span></a><a title="Rss" target="_blank" href="https://wwwcloudcorner.gr/feed/rdf/" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-rss" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M128.081 415.959c0 35.369-28.672 64.041-64.041 64.041S0 451.328 0 415.959s28.672-64.041 64.041-64.041 64.04 28.673 64.04 64.041zm175.66 47.25c-8.354-154.6-132.185-278.587-286.95-286.95C7.656 175.765 0 183.105 0 192.253v48.069c0 8.415 6.49 15.472 14.887 16.018 111.832 7.284 201.473 96.702 208.772 208.772.547 8.397 7.604 14.887 16.018 14.887h48.069c9.149.001 16.489-7.655 15.995-16.79zm144.249.288C439.596 229.677 251.465 40.445 16.503 32.01 7.473 31.686 0 38.981 0 48.016v48.068c0 8.625 6.835 15.645 15.453 15.999 191.179 7.839 344.627 161.316 352.465 352.465.353 8.618 7.373 15.453 15.999 15.453h48.068c9.034-.001 16.329-7.474 16.005-16.504z"></path></svg></span></a><a title="Twitter" target="_blank" href="https://twitter.com/papostolidis" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-twitter" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 30 30"><path d="M26.37,26l-8.795-12.822l0.015,0.012L25.52,4h-2.65l-6.46,7.48L11.28,4H4.33l8.211,11.971L12.54,15.97L3.88,26h2.65 l7.182-8.322L19.42,26H26.37z M10.23,6l12.34,18h-2.1L8.12,6H10.23z" /></svg></span></a><a title="Github" target="_blank" href="https://github.com/proximagr" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-github" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"><path fill="currentColor" d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"></path></svg></span></a><a title="User email" target="_self" href="mailto:&#112;r&#111;&#120;i&#109;&#097;gr&#064;hot&#109;ai&#108;&#046;com" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-user_email" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M502.3 190.8c3.9-3.1 9.7-.2 9.7 4.7V400c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V195.6c0-5 5.7-7.8 9.7-4.7 22.4 17.4 52.1 39.5 154.1 113.6 21.1 15.4 56.7 47.8 92.2 47.6 35.7.3 72-32.8 92.3-47.6 102-74.1 131.6-96.3 154-113.7zM256 320c23.2.4 56.6-29.2 73.4-41.4 132.7-96.3 142.8-104.7 173.4-128.7 5.8-4.5 9.2-11.5 9.2-18.9v-19c0-26.5-21.5-48-48-48H48C21.5 64 0 85.5 0 112v19c0 7.4 3.4 14.3 9.2 18.9 30.6 23.9 40.7 32.4 173.4 128.7 16.8 12.2 50.2 41.8 73.4 41.4z"></path></svg></span></a></div></div></div><p><a class="a2a_button_email" href="https://www.addtoany.com/add_to/email?linkurl=https%3A%2F%2Fwww.cloudcorner.gr%2Fmicrosoft%2Fazure%2Fvalidate-azure-resource-move-with-postman%2F&amp;linkname=Validate%20Azure%20Resource%20Move%20with%20Postman" title="Email" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_print" href="https://www.addtoany.com/add_to/print?linkurl=https%3A%2F%2Fwww.cloudcorner.gr%2Fmicrosoft%2Fazure%2Fvalidate-azure-resource-move-with-postman%2F&amp;linkname=Validate%20Azure%20Resource%20Move%20with%20Postman" title="Print" rel="nofollow noopener" target="_blank"></a><a class="a2a_dd addtoany_share_save addtoany_share" href="https://www.addtoany.com/share#url=https%3A%2F%2Fwww.cloudcorner.gr%2Fmicrosoft%2Fazure%2Fvalidate-azure-resource-move-with-postman%2F&#038;title=Validate%20Azure%20Resource%20Move%20with%20Postman" data-a2a-url="https://www.cloudcorner.gr/microsoft/azure/validate-azure-resource-move-with-postman/" data-a2a-title="Validate Azure Resource Move with Postman"><img src="https://static.addtoany.com/buttons/share_save_171_16.png" alt="Share"></a></p><p>The post <a href="https://www.cloudcorner.gr/microsoft/azure/validate-azure-resource-move-with-postman/">Validate Azure Resource Move with Postman</a> appeared first on <a href="https://www.cloudcorner.gr">Apostolidis Cloud Corner</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.cloudcorner.gr/microsoft/azure/validate-azure-resource-move-with-postman/feed/</wfw:commentRss>
			<slash:comments>5</slash:comments>
		
		
			</item>
	</channel>
</rss>
