Bir Key Vault’un ne olursa olsun, belirnene bir zaman diliminde, silinse bile tamamen Azure ortamindan kaldirilmamasini istiyor olabilirsiniz. Bu, genellikle yasal gereksinimlerden dolyai olur. Silinen Key Vault’lar Retention Period adi verilen bir sure icin Azure ortaminda muhaza edilirler. Ancak Purge islemi uygulaniginda bu silinmis ama gecici bir alanda tutulan Key Vault’lar “tamanen” ve geri donusu olmayan bir bicimde silinirler. Bunun onune gecmek icin Purge Protection ozelligi kullanilir. Bu ozellik bir kez aktif hale getirildiginde, o Key Vault icin bu ayar bir daha degistirilemez. Peki bunu nasil kullanabiliriz? Gorelim!
Simdi bu Key Vault’u silelim. Evet silelim diyorum cunku gercekte “tamamen” silinmeyecegini biliyorum. Silme isleminin ardindan ise Purge islemini uygualamaya calisalim. Yani komple ortamdan kaldirma islemi.
Sonuc beklendigi gibi basarisiz. Cunku Purge Protection aktif durumda. Bu Key Vault’u tamamen silmek icin 90 gun beklememiz gerekiyor. Bu 90 gun ayarini Purge Protection ozelligini aktif ederken ayarlayabilirdik. Ama artik cok gec. Neyse sayili gun cabuk gecer diyelim!
Continue ReadingPowerShell ile Azure Key Vault Purge Protection Enable/Disable Etmek
Bir Storage Account icindeki Container’in altinda yer alan dosyanin icerigini ekrana yazdirabilir miyiz? Elbette!
Once Context olusturuyor ve akabinde ilgili Container icindeki dosyayi (Blob) hedef gosteriyoruz. Son olarak Blob icerigini tumlesik bir fonksiyon ile okutuyoruz.
Bir Azure Key Vault icindeki Access Policy’lerde degisiklik yaparak, bir kisiye, gruba ya da uygulamaya erisim yetkisi verebiliriz. Bunun icin asagidaki komutu calistirabiliriz. Ben kendi ornegimde octopus adindaki Azure AD uygulamama yetki vermek istedim. Secret, Certificate, Keys ve Managed Storage uzerinde “full” yetki verdim. Evet biraz bonkor davrandim bugun!
Siz de ServicePrincipalName parametresi icin kendi AAD uygulamanizin ApplicationID’sini yazabilirsiniz.
Set-AzKeyVaultAccessPolicy -VaultName testvault2000 -ResourceGroupName keyvaults -ServicePrincipalName “c2e46ff8-cdc6-4c0b-a593-74fcda3657aa” -PermissionsToKeys all -PermissionsToSecrets all -PermissionsToCertificates all -PermissionsToStorage all
Unutmayalim ki, yukaridaki komut bir Import komutu. Yani aslinda yeni bir runbook olusturmaktan tek farki, size daha onceden yazdiginioz kodu ekleme olanagi vermesi. Yani ayni isimle bos bir runbook olusturma komutunu kullansam hata alirim. Hatta buyrun hata alalim.
PowerShell ile Azure Management Group altindaki Abonelikleri Listelemek
Azure icindeki abonelikleri, yonetimsel kolaylik ve Policy uygulama noktasindaki avantajlari sebebiyle Management Group’lar icine yerlestirebiliyoruz. Peki buyuk organizasyonlarda Azure Portal icinden rahatlikla listeyebildigimiz bu abonelikleri PowerShell ile nasil listeyebiliriz? Yani belirli bir Management Group icindeki abonelikleri nasil ekrana yazdirabiliriz? Gorelim!
Once butun abonelikleri, icinde bulunduklari Management Group bilgisine gore listeleyelim. Malum, bazen ic ice gecmis management group yapisi kullaniyoruz ve bir abonelik derinlerde bir management group icinde yer alabiliyor.
$sorgu = “ resourcecontainers | where type == ‘microsoft.resources/subscriptions’ “ $cevap = Search-AzGraph -Query $sorgu $cevap | select name,id,@{l=”managementgroup”;e={$_.properties.managementGroupAncestorsChain.displayname}}
Peki ben sadece spesifik Manegement Group icindeki abonelikleri goruntulemek istiyorsam. Yani bana yukaridan asagiya kadar butun management group bilgisi lazim degilse? O zaman da yontem su sekilde!
$managementGroup = “Prod” $sorgu = “ resourcecontainers | where type == ‘microsoft.resources/subscriptions’ | where properties.managementGroupAncestorsChain[0].displayName == ‘$managementGroup’ | project ParentManagementGroup = properties.managementGroupAncestorsChain[0].displayName, name, id “ $cevap = Search-AzGraph -Query $sorgu $cevap | select name, id, ParentManagementGroup
Continue ReadingPowerShell ile Azure Management Group altindaki Abonelikleri Listelemek