İlginizi Çekebilir
  1. Ana Sayfa
  2. Microsoft Azure
  3. Designing Azure Policies

Designing Azure Policies

020319_2116_DesigningAz5.png

Bir önceki makalemde Azure üzerinde resource’ları ve resource group’ları taglar kullanarak nasıl kategorize edebileceğinizi ele almıştım. Bu makalemde ise Azure üzerinde governance model oluştururken kullanacağınız bir diğer önemli konfigürasyon birimi olan ’i anlatacağım. Eminim ’i kullanmaya başladıktan sonra hayran kalacaksınız.

Azure policies konusunu anlatmadan önce bir kaç soru ile konuyu netleştirmek istiyorum. Örneğin Azure ortamınızda oluşturulacak tüm kaynakların size en yakın olan Azure Region’ında oluşturulmasını istiyorsunuz fakat platformu sizden farklı bir çok kişi de kullanıyor ve tüm bildirimlerinize rağmen herkes kafasına göre istediği region’da kaynak oluşturuyor. Bu durumu önlemek için ne yaparsınız?

Cevap: Azure Policies konfigürasyonu yapmanız gerekiyor.

Ya da ikinci bir soru ile devam edelim. Yine Azure platformunu birden çok kişi kullanıyor. Siz Azure platformunda oluşturulan her resource için belli konfigürasyonarın yapılmasını istiyorsunuz. Yapılmadığı taktirde manuel olarak sizin tüm resource’ları denetleyip konfigüre etmeniz gerekiyor. Örneğin her resource’un Name ve Departman tagları ile oluşturulmasını zorunlu kılmak istiyorsunuz. Ne yaparsınız?

Cavap: Yine Azure policies konfigürasyonu yapmanız gerekiyor.

Yukarıda belirttiğim soruları incelediğinizde belirtilen ortamlarda denetim eksikliği olduğunu kolaylıkla görebilirsiniz. Eğer ortamda bir governance model oluşturmak isteniyor ve Azure platformunu kullanan kişilerin bu modele uyarak platformu kullanmalarını istiyorsak Azure policies’i bu modeli sağlamanın bir adımı olarak ortama entegre etmemiz gerekir.

Policy’ler içerilerinde birden fazla kural içerebilirken, tek bir kaynak üzerine bir den çok policy ataması yapılabilir. Policy’ler subscription yada resource group seviyesinde atanabilir.

Şimdi konunun paralelinde basit bir örnek ile ilerleyerek anlatmak istiyorum. Bu sebeple subscription bölümüne gelip Policies seçeneğini seçelim.

Resim-1

Policies’i seçtikten sonra definitions bölümüne gelelim. Bu bölüme geldiğinizde bir çok builtin definition listelenecektir. Şekildeki gibi search bölümünü kullanarak belirli definition’lara kolaylıkla ulaşabilirsiniz. Şimdi basit olarak “Allowed Location” definition’ını kullanıp belirli bir resource group içerisinde sadece izin verilen lokasyonda resource oluşturulmasını zorlayalım.

Resim-2

Aşağıdaki şekilde görüldüğü gibi, APPTEST isimli resource group içerisinde sadece lokasyonu West Europe olan kaynaklar oluşturulabilir. (Bu şekildebelirtilen definition’ın seçtiğimiz resource group üzerine atama işlemini de yapmış oluyoruz. Burada resource group seçmeden direkt subscription seviyesinde atama yapmak da mümkün)

Resim-3

Yapılan işlemin ardından atamayı yaptığımız resource group içerisinde lokasyonu West Central US olan kaynak oluşturmak istediğimizde aşağıdaki gibi hata alıyoruz. Bu da policy’mizin sağlıklı şekilde çalıştığını gösteriyor.


Resim-4

Hata detayına girdiğimizde Uygulanan policy olduğunu ve kurallara aykırı bir işlem yaptığımızı görebiliriz.

Resim-5

Policy’nin oluşturulmasının ardından eğer resource group altındaki tüm kaynaklar condition’ı karşılıyorsa, policy aşağıdaki gibi Compliant durumuna geçecektir.

Resim-6

Azure Policies ile governance model oluştururken kullanabileceğiniz bir çok built-in policy’de gelmektedir. Search ile arama yaparak istediğiniz policy’leri bulup istediğiniz resource group yada subscription üzerine atama yapabilirsiniz.

Azure policies tanımlamaları yapılırken JSON dili kullanılır. JSON kullanılarak oluşturulan policy’ler için iki adım vardır. İlk adım policy’nin tanımlandığı definition aşamasıdır. Bu işlemin ardından da assign aşaması definition sınucuna göre uygulanır.

Policy Definitions

Define kısmı if ve then bloklarını içerir. If kısmı koşulu then kısmı ise koşul sonrasındaki sonucu execute eder. Policy’ler içerisinde bir den çok IF koşulu da kullanılabilir. Bunlar AND(ALLOF), OR(ANYOF) ve NOT operatörleri ile birbirlerine bağlanırlar. Örnek JSON definition formatı aşağıdaki gibidir.

Resim-7

Policiy define işlemi yapılırken desteklenen field türleri aşağıdaki gibidir.

  • Name
  • Kind
  • Tags
  • Location
  • Type
  • Property Alias

Governance model oluşturulurken kullanılması gereken bileşenlerden birisi olan Policies’i özetlemiş olduk. Umarım faydalı bir makale olmuştur.

Referanslar

www.mshowto.org

https://docs.microsoft.com/en-us/azure/azure-resource-manager/resource-group-using-tags

Ebook

TAGs: , Azure for Architects, , , , Azure Billing, Azure Cost Optimization, , Azure Regions and Zones, Azure Availability Zones,, , Azure storage design, Azure storage best practise, , Azure Resource Labeling, Azure Policies, Azure Policy,

Yorum Yap

Yazar Hakkında

Sakarya doğumludur. İstanbul Üniversitesi’nde Matematik/Fen ve Teknoloji öğretmenliğini bitirmiştir. Yüksek lisansını Sakarya Üniversitesi Bilgisayar Mühendisliği’nde yapmıştır. Bilişim sektöründe çeşitli firmalarda sistem ve network sorumlusu olarak çalışmıştır. Bazı kurumlarda sistem ve network üzerine uzmanlık eğitimleri vermiştir. Şu anda Netaş şirketinde kurumsal danışman olarak görev yapmaktadır. Microsoft System Center ürünleri, Powershell ve Azure teknolojileri ile ilgilenmektedir. 2016 yılında Microsoft tarafından Cloud and Datacenter alanında MVP unvanını almıştır.

Yorum Yap