Loading...

Announcing the Public Preview of Change Actor

Announcing the Public Preview of Change Actor

Change Analysis 

Identifying who made a change to your Azure resources and how the change was made just became easier! With Change Analysis, you can now see who initiated the change and with which client that change was made, for changes across all your tenants and subscriptions.  

 

Audit, troubleshoot, and govern at scale  

Changes should be available in under five minutes and are queryable for fourteen days. In addition, this support includes the ability to craft charts and pin results to Azure dashboards based on specific change queries.   

 

What’s new: Actor Functionality 

This added functionality is in private preview.  

 

Try it out 

You can try it out by querying the “resourcechanges” or “resourcecontainerchanges” tables in Azure Resource Graph.  

 

Sample Queries 

Here is documentation on how to query resourcechanges and resourcecontainerchanges in Azure Resource Graph. Get resource changes - Azure Resource Graph | Microsoft Learn 

   

Summarization of who and which client were used to make resource changes in the last 7 days ordered by the number of changes 

 

resourcechanges  

| extend changeTime = todatetime(properties.changeAttributes.timestamp),  

targetResourceId = tostring(properties.targetResourceId),  

changeType = tostring(properties.changeType), changedBy = tostring(properties.changeAttributes.changedBy),  

changedByType = properties.changeAttributes.changedByType,  

clientType = tostring(properties.changeAttributes.clientType)  

| where changeTime > ago(7d)  

| project changeType, changedBy, changedByType, clientType  

| summarizecount() by changedBy, changeType, clientType  

| orderby count_ desc  

 

Summarization of who and what operations were used to make resource changes ordered by the number of changes 

 

resourcechanges  

| extend changeTime = todatetime(properties.changeAttributes.timestamp),  

targetResourceId = tostring(properties.targetResourceId), 

operation = tostring(properties.changeAttributes.operation),  

changeType = tostring(properties.changeType), changedBy = tostring(properties.changeAttributes.changedBy),  

changedByType = properties.changeAttributes.changedByType,  

clientType = tostring(properties.changeAttributes.clientType)  

| project changeType, changedBy, operation  

| summarizecount() by changedBy, operation  

| orderby count_ desc  

 

List resource container (resource group, subscription, and management group) changes. who made the change, what client was used, and which operation was called, ordered by the time of the change 

 

resourcecontainerchanges  

| extend changeTime = todatetime(properties.changeAttributes.timestamp),  

targetResourceId = tostring(properties.targetResourceId),  

operation=tostring(properties.changeAttributes.operation),  

changeType = tostring(properties.changeType), changedBy = tostring(properties.changeAttributes.changedBy),  

changedByType = properties.changeAttributes.changedByType,  

clientType = tostring(properties.changeAttributes.clientType)  

| project changeTime, changeType, changedBy, changedByType, clientType, operation, targetResourceId  

| orderby changeTime desc  

 

FAQ 

How do I use Change Analysis? 

Change Analysis can be used by querying the resourcechanges or resourcecontainterchanges tables in Azure Resource Graph, such as with Azure Resource Graph Explorer in the Azure Portal or through the Azure Resource Graph APIs. More information can be found here: Get resource changes - Azure Resource Graph | Microsoft Learn.  

   

What does unknown mean? 

Unknown is displayed when the change happened on a client that is unrecognized.

 

Why are some of the changedBy values unspecified? 

Some resources in the resourcechanges tables are not fully covered yet in the change actor functionality. This could be caused by a resource that has been affected by a system change or the RP needs to first send us the Who/How information. Unspecified is displayed when the resource is missing changedByType values and could be missing for either Creates or Updates. You may also see an increase in Unspecified values for these types,  

  • virtualmachines 
  • virtualmachinescalesets 
  • publicipaddresses 
  • disks 
  • networkinterfaces  

 

What resources are included? 
You can try it out by querying the “resourcechanges” or “resourcecontainerchanges” tables in Azure Resource Graph.   

 

Questions and Feedback 

 

Published on:

Learn more
Azure Governance and Management Blog articles
Azure Governance and Management Blog articles

Azure Governance and Management Blog articles

Share post:

Related posts

Azure Landing Zones - Policy Refresh Q1 FY25

ALZ - Policy Refresh Q1 FY25 is here! As you may be aware, the ALZ team release cadence is now on quarterly basis to help customers and partne...

1 year ago

Custom Policy- Reusable Logs Templates

Reusable Templates for Sending Logs to Log Analytics Workspace   Challenge:   When it comes to developing custom policies for sendin...

1 year ago

Enhancements to Azure Monitor Baseline Alerts for Azure Landing Zones

Introduction   Welcome to our latest blog post where we dive into a number of exciting new key updates, highlight the new portal accelera...

1 year ago

Introducing the Azure Policy Community Repo

Introducing the Azure Policy Community Repo   What is the Azure Policy Community Repo? The Azure Policy Community Repo is a collaborativ...

2 years ago

General Availability: Vaulted backups for Azure Blob Storage

We are excited to announce the general availability of vaulted backups for Azure Blob Storage. Vaulted backups can help you achieve complete p...

2 years ago

Azure Update Manager to support CIS hardened images among other images

What’s coming in by end of July 2024: Azure Update Manager will add support for 35 CIS hardened images. This is the first time that Update Man...

2 years ago

Mastering your cloud journey: Essentials to Innovating, Migrating and Modernizing, on Azure

We are living during a time of rapid growth in AI technologies and seeing cloud complexity increase as a result of those advanced workloads, w...

2 years ago

Public Preview Announcement: Azure Policy Built-in Versioning

Welcome to a new era of policy management, where policy definitions are more agile, adaptable, and accessible than ever before! We are thrille...

2 years ago

Announcing Azure Monitoring Agent support in Azure Landing Zones

Introduction   Hello and welcome to another blog post about Azure Landing Zones, the best practice framework for accelerating your cloud...

2 years ago

Announcing the General Availability of Change Actor

Change Analysis  Identifying who made a change to your Azure resources and how the change was made just became easier! With Change Analys...

2 years ago

Newsletter

Get the latest Dynamics 365 and Power Platform content in your inbox

A curated digest of community blogs, product news, videos, and podcasts — delivered without the noise.

Weekly updates Unsubscribe anytime Fresh community picks
We use your email only for the newsletter and you can unsubscribe at any time.
By subscribing, you agree to the privacy policy.