Azure Azure Governance

Azure Governance: Resource Graph ile Azure Kaynaklarınızı Keşfedin

Emre Martin
Written by Emre Martin

Azure Resource Graph Nedir ?

Azure Resource Graph Azure kaynaklarınızı komut satırı aracılığıyla hızlı ve kolay bir şekilde analiz edip keşfetmenize olanak sağlayan bir servistir.

Peki Neden Azure Azure Resource Graph ?

Azure dünyasında bulunan her kaynak grubu (VM, Storage, AppService, Azure SQL…) farklı Resource Provider aracılığıyla yönetilir. Azure Resource Manager sahip olduğumuz kaynaklara ait bazı bilgileri (Resource name, ID, Type, Resource Group, Subscriptions, and Location) kaynaklara ait bu Resource Provider’lara gönderir, bizlerde ihtiyaç duyduğumuz bu bilgileri çeşitli script’ler ile Resource Provider’lerdan okuyabiliriz. Ancak bu durum ihtiyaç duyduğumuz her bilgi için ekstra bir sorgu ve çoklu Azure aboneliklerinin olduğu ortamlarda karmaşık script’ler demektir.

Azure Resource Graph’da ise; değişiklik ve güncelleme bilgisine sahip her Azure kaynağı bu bilgiyi Resource Graph Resource Manager’a bildirir. Resource Graph ayrıca bu kaynaklar üzerinde düzenli taramalar yaparak değişiklik yada güncelleme bilgisi eksik olan kaynakları kontrol ederek database’ine yazar. Bizlerde gerekli olan bu bilgileri Azure Resource Graph’dan alabiliriz.

Azure Resource Graph, Azure Data Explorer, Application Insights ve Azure Log Analytics’de olduğu gibi Kusto Query dilini kullanıır, ve tüm Azure üyeliklerine (Subscriptions) ve Yönetim Gruplarına (Management Groups) ait ayrıntınları tek bir yerden alabilmemize olanak sağlar.

Azure Resource Graph

Aslında Azure Resource Graph portal üzerinde (Azure Portal -> All Resource) her arama yaptığınızda arka planda zaten Azure tarafından kullanılan bir servistir.

Azure Resource Graph Nasıl Kullanılır ?

Azure Resource Graph ile sorgu yapabilmek için ilgili kaynaklar üzerinde (RBAC) Read yetkisine sahip olmanız gereklidir aksi taktirde yaptığınız sorguya cevap alamazsınız. Resource Graph sorguları için Azure CLI (Cloud Shell) yada PowerShell kullanabilirsiniz.

Azure Resource Graph kullanabilmek için öncelikle AzureRmGraph modülunu aktif ediyoruz:

Şimdi  Resource Graph ile birkaç basit örnek yapalım:

  • Azure üzerinde kullanılan tüm kaynakların listelenmesi:

  • Komut çıktısı:

  • Azure üzerinde kullanılan kaynakların Azure lokasyonuna göre listelenmesi

  • Komut çıktısı:

  • Azure VM’lerin SKU’larına göre listelenmesi:

  • Komut çıktısı:

  • Azure üzerinde kullanılan Public IP’lerin listelenmesi:

  • Komut çıktısı:

Not: Resource Graph sorgulamarı varsayılan olarak sahip olduğunuz tüm Azure üyelikleri (subscription) için yapılır. Eğer sorgu dışında bırakmak istediğiniz bir Azure üyeliğiniz varsa sorguya subscription paramatresini eklemelisiniz.

az graph query -q “where type contains ‘publicIPAddresses’ and isnotempty(properties.ipAddress) | project properties.ipAddress | limit 100” –output table -subscriptions “97037a45-XXXX-XXXXX”

Desteklenen tüm parametre ve örnek sorgulara aşağıdaki link’lerden erişebilirsiniz..

 

Yazar Hakkında

Emre Martin

Emre Martin

Cloud Solutions Architect at NETAŞ