Azure Resource Graph
8 TopicsAzure Resource Graph query to get subscription properties
I am very new to ARG queries. I am struggling to figure out how to get a list of our Azure Subscriptions using ARG, including some of the properties you see on the properties pane when using the azure portal. In particular, I want the property visually labelled "ACCOUNT ADMIN". Can anyone point me in the right direction? resourcecontainers |wheretype=='microsoft.resources/subscriptions' |projectsubscriptionId,name,owner=???Microsoft's inconsistent implementation of tagging in Azure
We revamped our Azure resource tagging strategy several years ago and rely on them heavily for#Governanceand#FinOps. We not only enforce#tagsvia#AzurePolicy, we also enforce tag values based on a set of permissible values for each tag. Even with that in place we experience some drift due to exclusions required in the policy definition or exemptions in the policy assignments. I won't get into why this flexibility is needed here, that's a whole separate discussion. Establishing a soundtag hygieneprocess becomes a vital component of your overallgovernance and FinOps strategies.One method we employ for tag hygiene is to surface the non-compliant resources in a#PowerBireport using an#AzureResourceGraph(ARG) query. Yes, you can do this in the Compliance section of Azure Policy as well however it lacks ease of use. For example, flipping back and forth between policies, filtering by subscriptions, surfacing other linked metadata is a cumbersome experience in the Azure Policy blade. Now onto my frustrations with how Microsoft has implemented tagging across Azure. 1. Inconsistent application of Tag case-sensitivity across tools - In Azure Policy and in the Azure portal, tag names arecase-insensitivewhereas tag values arecase-sensitive. - In Azure Resource Graph Explorer, both tag names and tag values arecase-sensitive. - Why is there inconsistency with case-sensitivity of tag names? 2. Inconsistent Tag validation across Resource Types - When deploying a Storage Account, Azurevalidates my tag policy beforeI am able to hit the create button (before it's submitted to ARM) whereas when deploying a resource like a Public IP Address, thatvalidation only occurs afteryou hit the create button. This likely happens with other resource types as well. By the way, my tagging policy specifies "Indexed" for mode, so in effect it should apply to any and all resources that support tagging in Azure. - Why is does the evaluation of the tag policy differ based on the resource being deployed? 3. Inconsistent Tag UX across Resource Types - When deploying a Storage Account, the tags input isa drop-down list. However, when deploying an Azure Virtual Machine, the tags input isa textbox. Although the latter makes use of predictive text, it's still clearly a different experience. This inconsistency is found across multiple Azure resources. - Why is the tag UX different between resource types? I realize some of this is addressed or is less of a concern when using IaC but that may not be for everyone, or work in all scenarios.It would be great if Microsoft could standardize their implementation of tagging resources uniformly across the entire Azure estate. In my opinion I don't think that's a huge ask.1.4KViews2likes0CommentsConfused on the dispaly after "add lock" on storage
I am practisinghttps://learn.microsoft.com/zh-cn/training/modules/describe-features-tools-azure-for-governance-compliance/5-exercise-configure-resource-lock. The display don't match the images. Steps: 1, create storage az900xliu under az900 resource group 2, Add lock lock1 on it 3, add container failed 4, navigate to az900:az900xliu:lock : NO LOCK here ( don't match the material) 5, navigate to az900:lock : lock1 is here 6, delete lock1 I repeated step 2-6 several times. And tried add lock2 under az900:az900xliu:lock, lock2 will disappear after navigate to other tab and back just like lock1. But, lock2 will NOT appear underaz900:lock either. And, I tried add lock2 underaz900:lock. It appears, but after navigate to other tab and back, it disappear. Really confused on these behavior. I tried create container after delete lock1(lock2 don't appear so I cannot delete). After click the link in error message, I navigate toaz900:lock and two lock2 appear. One is underaz900:lock, another is underaz900:az900xliu:lock. After delete them, I successfully add container.Solved491Views0likes2CommentsTeams Provisioning with Access Review
Hi Techies, I am exploring possibilities for app development as I have a case where users can provision specific Teams that require an Azure Access Review. I know automated Teams provisioning, but I haven't encountered the automated Access review creation as part of the Teams Provisioning. Anyone got tips or reference?Solved862Views0likes2CommentsAzure Resource Graph - get all functions of a function app
Hi, I'm new with Azure Resource Graph, and I'm trying to get all the functions from a function app. Firstly, I created a query to get the function apps : resources | where type == 'microsoft.web/sites' | where properties['kind'] == 'functionapp' Then I searched in the function app properties if functions were listed, but there are no information about it. So, I inspected the JSON definition of one function contained in a function app, and the type of the resource is "Microsoft.Web/sites/functions". But when I run a query using the type I get no results. How should I do to get the functions contained in a function app using Azure Resource Graph ? Thank you3.1KViews1like1CommentDeploying access packages as code
I know Microsoft graph can be used to automatically create access packages in Azure AD however it would be useful if a Terraform registry would eventually become available to deploy access packages using Terraform so you can manage your access packages in code. #AzureAD #IAC #accesspackages1.1KViews0likes0CommentsAzure Resource Graph - How to query function apps?
I'm trying to get a list of all function apps and their triggers from the resource graph, but I'm not getting anywhere. In the portal, the JSON for a function app shows the type as"Microsoft.Web/sites/functions", but when writing a resource graph query to return all resources of that type, I get no results.(and yes, I've checked for typos in my query) Are functions just not exposed by the resource graph? Or is there a different way to query for them?4.6KViews0likes3Comments