📊
Azure Resource Graph から変更履歴を検索する
はじめに
Azure Resource Graph では変更履歴を取得することができます。最近こちらでアクター (操作者) も取得できるようになったということで、いくつか試してみようと思います。
概要
該当のテーブルは以下の 2 つです。14 日間分が保存されます。
テーブル名 | 説明 |
---|---|
resourcechanges | resource テーブルにあるリソースへの変更 |
resourcecontainerchanges | resourcecontainer テーブル (サブスクリプション、管理グループなど) への変更 |
※ ドキュメントには healthresources も対象に含まれるとありますが、どのようなケースかよく分からず。
Azure Resource Graph エクスプローラーで検索
resourcechanges の変更は以下のように確認できます。変更内容だけでなく、操作者の情報まで取得できています。
properties
{
"targetResourceType": "microsoft.sql/servers",
"changeAttributes": {
"previousResourceSnapshotId": "xxxxxxxxxxxx",
"newResourceSnapshotId": "xxxxxxxxxxxxxx",
"correlationId": "xxxxxxxxxxxxxx",
"changedByType": "User",
"changesCount": 1,
"clientType": "Azure Portal",
"operation": "Microsoft.Sql/servers/write",
"changedBy": "user@contoso.com",
"timestamp": "2024-03-15T03:00:55.9+00:00"
},
"targetResourceId": "/subscriptions/xxxxxxxxxxxx/resourceGroups/rg-database/providers/Microsoft.Sql/servers/sqlsv-test-jpe-001",
"changeType": "Update",
"changes": {
"properties.publicNetworkAccess": {
"propertyChangeType": "Update",
"changeCategory": "User",
"previousValue": "Enabled",
"newValue": "Disabled"
}
}
}
resourcecontainerchanges には管理グループの変更が記録されていました。このログは Azure ポータルからの新規作成ですが、操作者は Unspecified になってしまいました。
まとめ
監査ログである Azure アクティビティログでは操作前後のパラメータ変更を確認することが難しかったですが、今回のAzure Resource Graph から変更履歴を活用することでこれらの課題を解消できそうです。また、何かあった場合の追跡だけではなく、Azure ブックを利用した可視化や Azure Monitor と組み合わせたアラート通知などの活用を検討できるかと思います。
Discussion