Blob verilerine anonim okuma erişimini düzeltme (Azure Resource Manager dağıtımları)
Azure Blob Depolama kapsayıcılara ve bloblara isteğe bağlı anonim okuma erişimini destekler. Ancak anonim erişim bir güvenlik riski sunabilir. En iyi güvenlik için anonim erişimi devre dışı bırakmanızı öneririz. Anonim erişime izin verme, istenmeyen anonim erişimin neden olduğu veri ihlallerini önlemeye yardımcı olur.
Varsayılan olarak blob verilerinize anonim erişim her zaman yasaktır. Azure Resource Manager depolama hesabı için varsayılan yapılandırma, kullanıcıların bir depolama hesabındaki kapsayıcılara ve bloblara anonim erişim yapılandırmasına engel olur. Bu varsayılan yapılandırma, tek bir kapsayıcının erişim ayarından bağımsız olarak Azure Resource Manager depolama hesabına tüm anonim erişime izin vermemektedir.
Depolama hesabına anonim erişime izin verilmediğinde, Azure Depolama blob verilerine yönelik tüm anonim okuma isteklerini reddeder. Kullanıcılar daha sonra bu hesaptaki kapsayıcılar için anonim erişimi yapılandıramaz. Anonim erişim için yapılandırılmış olan kapsayıcılar artık anonim istekleri kabul etmeyecektir.
Uyarı
Bir kapsayıcı anonim erişim için yapılandırıldığında, herhangi bir istemci bu kapsayıcıdaki verileri okuyabilir. Anonim erişim olası bir güvenlik riski sunar, bu nedenle senaryonuz gerekli değilse depolama hesabı için izin vermenizi öneririz.
Azure Resource Manager ve klasik depolama hesapları için düzeltme
Bu makalede, Azure Resource Manager dağıtım modelini kullanan depolama hesapları için anonim erişimi sürekli yönetmek için DRAG (Algılama-Düzeltme-Denetim-İdaresi) çerçevesinin nasıl kullanılacağı açıklanmaktadır. Tüm genel amaçlı v2 depolama hesapları, premium blok blob depolama hesapları, premium dosya paylaşımı hesapları ve Blob Depolama hesapları Azure Resource Manager dağıtım modelini kullanır. Bazı eski genel amaçlı v1 hesapları ve premium sayfa blob hesapları klasik dağıtım modelini kullanabilir.
Depolama hesabınız klasik dağıtım modelini kullanıyorsa, mümkün olan en kısa sürede Azure Resource Manager dağıtım modeline geçmenizi öneririz. Klasik dağıtım modelini kullanan Azure Depolama hesapları 31 Ağustos 2024'te kullanımdan kaldırılacaktır. Daha fazla bilgi için bkz . Klasik Azure depolama hesapları 31 Ağustos 2024'te kullanımdan kaldırılacak.
Şu anda klasik depolama hesaplarınızı geçiremiyorsanız, bu hesaplara anonim erişimi şimdi düzeltmeniz gerekir. Klasik depolama hesapları için anonim erişimi düzeltmeyi öğrenmek için bkz. Blob verilerine anonim okuma erişimini düzeltme (klasik dağıtımlar). Azure dağıtım modelleri hakkında daha fazla bilgi için bkz . Resource Manager ve klasik dağıtım.
Anonim okuma erişimi hakkında
Verilerinize anonim erişim varsayılan olarak her zaman yasaktır. Anonim erişimi etkileyen iki ayrı ayar vardır:
Depolama hesabı için anonim erişim ayarı. Azure Resource Manager depolama hesabı, hesap için anonim erişime izin verme veya izin verme ayarı sunar. Microsoft, en iyi güvenlik için depolama hesaplarınız için anonim erişime izin vermemenizi önerir.
Hesap düzeyinde anonim erişime izin verildiğinde, kullanıcı kapsayıcının anonim erişim ayarını açıkça yapılandırmak için ek adım atmadığı sürece blob verileri anonim okuma erişimi için kullanılamaz.
Kapsayıcının anonim erişim ayarını yapılandırın. Varsayılan olarak, kapsayıcının anonim erişim ayarı devre dışı bırakılır; başka bir deyişle kapsayıcıya veya verilerine yapılan her istek için yetkilendirme gerekir. Uygun izinlere sahip bir kullanıcı, kapsayıcının anonim erişim ayarını yalnızca depolama hesabı için anonim erişime izin verildiğinde anonim erişimi etkinleştirmek üzere değiştirebilir.
Aşağıdaki tabloda, iki ayarın birlikte bir kapsayıcı için anonim erişimi nasıl etkilediği özetlemektedir.
Kapsayıcı için anonim erişim düzeyi Özel olarak ayarlanmış (varsayılan ayar) | Kapsayıcı için anonim erişim düzeyi Kapsayıcı olarak ayarlanır | Kapsayıcı için anonim erişim düzeyi Blob olarak ayarlandı | |
---|---|---|---|
Depolama hesabı için anonim erişime izin verilmiyor | Depolama hesabındaki herhangi bir kapsayıcıya anonim erişim yok. | Depolama hesabındaki herhangi bir kapsayıcıya anonim erişim yok. Depolama hesabı ayarı kapsayıcı ayarını geçersiz kılar. | Depolama hesabındaki herhangi bir kapsayıcıya anonim erişim yok. Depolama hesabı ayarı kapsayıcı ayarını geçersiz kılar. |
Depolama hesabı için anonim erişime izin verilir | Bu kapsayıcıya anonim erişim yok (varsayılan yapılandırma). | Bu kapsayıcıya ve bloblarına anonim erişime izin verilir. | Bu kapsayıcıdaki bloblara anonim erişime izin verilir, ancak kapsayıcının kendisine izin verilmez. |
Depolama hesabı için anonim erişime izin verildiğinde ve belirli bir kapsayıcı için yapılandırıldığında, bu kapsayıcıda üst bilgi olmadan geçirilen bir Authorization
blobu okuma isteği hizmet tarafından kabul edilir ve blob verileri yanıtta döndürülür. Ancak, istek bir Authorization
üst bilgiyle geçirilirse, depolama hesabındaki anonim erişim yoksayılır ve istek sağlanan kimlik bilgilerine göre yetkilendirilir.
İstemci uygulamalarından gelen anonim istekleri algılama
Depolama hesabı için anonim okuma erişimine izin vermediğinizde, şu anda anonim erişim için yapılandırılmış kapsayıcılara ve bloblara yönelik istekleri reddetme riskiyle karşı karşıyasınız. Bir depolama hesabı için anonim erişime izin verme, bu depolama hesabındaki tek tek kapsayıcıların erişim ayarlarını geçersiz kılar. Depolama hesabı için anonim erişime izin verilmediğinde, gelecekte bu hesaba yapılan anonim istekler başarısız olur.
Anonim erişime izin vermenin istemci uygulamalarını nasıl etkileyebileceğini anlamak için, bu hesap için günlüğe kaydetmeyi ve ölçümleri etkinleştirmenizi ve zaman aralığı içinde anonim isteklerin desenlerini analiz etmenizi öneririz. Depolama hesabına yönelik anonim isteklerin sayısını belirlemek için ölçümleri kullanın ve hangi kapsayıcılara anonim olarak erişildiğini belirlemek için günlükleri kullanın.
Ölçüm Gezgini ile anonim istekleri izleme
Depolama hesabına yönelik anonim istekleri izlemek için Azure portalda Azure Ölçüm Gezgini'ni kullanın. Ölçüm Gezgini hakkında daha fazla bilgi için bkz . Azure İzleyici ölçüm gezgini ile ölçümleri analiz etme.
Anonim istekleri izleyen bir ölçüm oluşturmak için şu adımları izleyin:
Azure portalda depolama hesabınıza gidin. İzleme bölümü altında Ölçümler'i seçin.
Ölçüm ekle seçeneğini belirleyin. Ölçüm iletişim kutusunda aşağıdaki değerleri belirtin:
- Kapsam alanını depolama hesabının adı olarak bırakın.
- Ölçüm Ad Alanı'nı Blob olarak ayarlayın. Bu ölçüm yalnızca Blob depolamaya yönelik istekleri bildirir.
- Ölçüm alanını İşlemler olarak ayarlayın.
- Toplama alanını Toplam olarak ayarlayın.
Yeni ölçüm, belirli bir zaman aralığı boyunca Blob depolamaya yönelik işlem sayısının toplamını görüntüler. Elde edilen ölçüm aşağıdaki görüntüde gösterildiği gibi görünür:
Ardından, ölçümde anonim istekler için bir filtre oluşturmak üzere Filtre ekle düğmesini seçin.
Filtre iletişim kutusunda aşağıdaki değerleri belirtin:
- Özellik değerini Kimlik Doğrulaması olarak ayarlayın.
- İşleç alanını eşittir işaretine (=) ayarlayın.
- Değerler alanını açılan listeden seçerek veya yazarak Anonim olarak ayarlayın.
Sağ üst köşede, ölçümü görüntülemek istediğiniz zaman aralığını seçin. Ayrıca, 1 dakikadan 1 aya kadar olan aralıkları belirterek isteklerin toplamının ne kadar ayrıntılı olması gerektiğini belirtebilirsiniz.
Ölçümü yapılandırdıktan sonra, anonim istekler grafikte görünmeye başlar. Aşağıdaki görüntüde, son 30 dakika içinde toplanan anonim istekler gösterilmektedir.
Depolama hesabınızda belirli sayıda anonim istek yapıldığında sizi bilgilendirmek için bir uyarı kuralı da yapılandırabilirsiniz. Daha fazla bilgi için bkz . Azure İzleyici kullanarak ölçüm uyarıları oluşturma, görüntüleme ve yönetme.
Anonim istekler alan kapsayıcıları tanımlamak için günlükleri analiz etme
Azure Depolama günlükleri, bir isteğin nasıl yetkilendirilildiği de dahil olmak üzere depolama hesabında yapılan isteklerle ilgili ayrıntıları yakalar. Hangi kapsayıcıların anonim istekler aldığını belirlemek için günlükleri analiz edebilirsiniz.
Anonim istekleri değerlendirmek için Azure Depolama hesabınızdaki istekleri günlüğe kaydetmek için Azure İzleyici'de Azure Depolama günlüğünü kullanabilirsiniz. Daha fazla bilgi için bkz . Azure Depolama'yı izleme.
Azure İzleyici'de Azure Depolama günlüğü, günlük verilerini analiz etmek için günlük sorgularının kullanılmasını destekler. Günlükleri sorgulamak için bir Azure Log Analytics çalışma alanı kullanabilirsiniz. Günlük sorguları hakkında daha fazla bilgi edinmek için bkz . Öğretici: Log Analytics sorgularını kullanmaya başlama.
Azure portalında tanılama ayarı oluşturma
Azure İzleyici ile Azure Depolama verilerini günlüğe kaydetmek ve Azure Log Analytics ile analiz etmek isterseniz, önce ne tür istekler ve hangi depolama hizmetleri için verileri günlüğe kaydetmek istediğinizi belirten bir tanılama ayarı oluşturmanız gerekir. Depolama hesabınız için günlüğe kaydetmeyi yapılandırdıktan sonra günlükler Log Analytics çalışma alanında kullanılabilir. Çalışma alanı oluşturmak için bkz . Azure portalında Log Analytics çalışma alanı oluşturma.
Azure portalında tanılama ayarı oluşturmayı öğrenmek için bkz . Azure İzleyici'de tanılama ayarları oluşturma.
Azure İzleyici'deki Azure Depolama günlüklerinde bulunan alanlara başvuru için bkz . Kaynak günlükleri.
Anonim istekler için sorgu günlükleri
Azure İzleyici'deki Azure Depolama günlükleri, depolama hesabına istekte bulunmak için kullanılan yetkilendirme türünü içerir. Günlük sorgunuzda, anonim istekleri görüntülemek için AuthenticationType özelliğine filtreleyin.
Blob depolamaya yönelik anonim isteklerin son yedi günün günlüklerini almak için Log Analytics çalışma alanınızı açın. Ardından, aşağıdaki sorguyu yeni bir günlük sorgusuna yapıştırın ve çalıştırın:
StorageBlobLogs
| where TimeGenerated > ago(7d) and AuthenticationType == "Anonymous"
| project TimeGenerated, AccountName, AuthenticationType, Uri
Anonim istekler hakkında sizi bilgilendirmek için bu sorguyu temel alan bir uyarı kuralı da yapılandırabilirsiniz. Daha fazla bilgi için bkz . Azure İzleyici kullanarak günlük uyarıları oluşturma, görüntüleme ve yönetme.
Anonim isteklere yanıtlar
Blob Depolama anonim bir istek aldığında, aşağıdaki koşulların tümü doğruysa bu istek başarılı olur:
- Depolama hesabı için anonim erişime izin verilir.
- Hedeflenen kapsayıcı anonim erişime izin verecek şekilde yapılandırılmıştır.
- İstek okuma erişimi içindir.
Bu koşullardan herhangi biri doğru değilse istek başarısız olur. Hataya bağlı yanıt kodu, anonim isteğin taşıyıcı sınamasını destekleyen bir hizmet sürümüyle yapılıp yapılmadığına bağlıdır. Taşıyıcı sınaması, 2019-12-12 ve daha yeni hizmet sürümleriyle desteklenir:
- Anonim istek taşıyıcı sınamasını destekleyen bir hizmet sürümüyle yapıldıysa, hizmet 401 (Yetkisiz) hata kodunu döndürür.
- Anonim istek taşıyıcı sınamasını desteklemeyen bir hizmet sürümüyle yapıldıysa ve depolama hesabı için anonim erişime izin verilmiyorsa, hizmet hata kodu 409 (Çakışma) döndürür.
- Anonim istek taşıyıcı sınamasını desteklemeyen bir hizmet sürümüyle yapıldıysa ve depolama hesabı için anonim erişime izin veriliyorsa, hizmet 404 (Bulunamadı) hata kodunu döndürür.
Taşıyıcı sınaması hakkında daha fazla bilgi için bkz . Taşıyıcı sınaması.
Depolama hesabı için anonim erişimi düzeltme
Depolama hesabınızdaki kapsayıcılara ve bloblara yönelik anonim istekleri değerlendirdikten sonra, hesabın AllowBlobPublicAccess özelliğini False olarak ayarlayarak tüm hesabın anonim erişimini düzeltmek için eylem gerçekleştirebilirsiniz.
Depolama hesabı için anonim erişim ayarı, bu hesaptaki kapsayıcıların tek tek ayarlarını geçersiz kılar. Depolama hesabı için anonim erişime izin vermediğinizde, anonim erişime izin vermek üzere yapılandırılan kapsayıcılara artık anonim olarak erişilemez. Hesap için anonim erişime izin vermezseniz, tek tek kapsayıcılar için anonim erişimi de devre dışı bırakmanız gerekmez.
Senaryonuz belirli kapsayıcıların anonim erişim için kullanılabilir olmasını gerektiriyorsa, bu kapsayıcıları ve bloblarını anonim erişim için ayrılmış ayrı depolama hesaplarına taşımanız gerekir. Daha sonra diğer depolama hesapları için anonim erişime izin verilmiyebilirsiniz.
Anonim erişimi düzeltmek için Azure Depolama kaynak sağlayıcısının 2019-04-01 veya sonraki bir sürümü gerekir. Daha fazla bilgi için bkz . Azure Depolama Kaynak Sağlayıcısı REST API'si.
Anonim erişime izin verme izinleri
Depolama hesabının AllowBlobPublicAccess özelliğini ayarlamak için, kullanıcının depolama hesapları oluşturma ve yönetme izinlerine sahip olması gerekir. Bu izinleri sağlayan Azure rol tabanlı erişim denetimi (Azure RBAC) rolleri Microsoft.Storage/storageAccounts/write eylemini içerir. Bu eyleme sahip yerleşik roller şunlardır:
- Azure Resource Manager Sahip rolü
- Azure Resource Manager Katkıda Bulunan rolü
- Depolama Hesabına Katkıda Bulunan rolü
Bir kullanıcının depolama hesabı için anonim erişime izin vermesine izin vermek için rol atamalarının kapsamının depolama hesabı düzeyine veya daha yüksek bir düzeye sahip olması gerekir. Rol kapsamı hakkında daha fazla bilgi için bkz . Azure RBAC kapsamını anlama.
Bu rollerin atamasını yalnızca depolama hesabı oluşturma veya özelliklerini güncelleştirme yeteneğine ihtiyaç duyan yönetici kullanıcılarla kısıtlamaya dikkat edin. Kullanıcıların görevlerini gerçekleştirmek için ihtiyaç duydukları en az izinlere sahip olduğundan emin olmak için en az ayrıcalık ilkesini kullanın. Azure RBAC ile erişimi yönetme hakkında daha fazla bilgi için bkz . Azure RBAC için en iyi yöntemler.
Bu roller, Microsoft Entra Id aracılığıyla bir depolama hesabındaki verilere erişim sağlamaz. Ancak, hesap erişim anahtarlarına erişim izni veren Microsoft.Storage/storageAccounts/listkeys/action öğesini içerir. Bu izinle, kullanıcı bir depolama hesabındaki tüm verilere erişmek için hesap erişim anahtarlarını kullanabilir.
Microsoft.Storage/storageAccounts/listkeys/action hesabı anahtarları aracılığıyla veri erişimi verir, ancak kullanıcıya depolama hesabının AllowBlobPublicAccess özelliğini değiştirme olanağı vermez. Depolama hesabınızdaki verilere erişmesi gereken ancak depolama hesabının yapılandırmasını değiştirme becerisine sahip olmaması gereken kullanıcılar için Depolama Blobu Veri Katkıda Bulunanı, Depolama Blobu Veri Okuyucusu veya Okuyucu ve Veri Erişimi gibi roller atamayı göz önünde bulundurun.
Not
Klasik abonelik yöneticisi rolleri Hizmet Yöneticisi ve Ortak Yönetici, Azure Resource Manager Sahip rolünün eşdeğerini içerir. Sahip rolü tüm eylemleri içerdiğinden, bu yönetim rollerinden birine sahip bir kullanıcı da depolama hesapları oluşturabilir ve hesap yapılandırmasını yönetebilir. Daha fazla bilgi için bkz . Azure rolleri, Microsoft Entra rolleri ve klasik abonelik yöneticisi rolleri.
Depolama hesabının AllowBlobPublicAccess özelliğini False olarak ayarlayın
Depolama hesabı için anonim erişime izin vermemek için hesabın AllowBlobPublicAccess özelliğini False olarak ayarlayın.
Önemli
Bir depolama hesabı için anonim erişime izin verme, bu depolama hesabındaki tüm kapsayıcılar için erişim ayarlarını geçersiz kılar. Depolama hesabı için anonim erişime izin verilmediğinde, gelecekte bu hesaba yapılan anonim istekler başarısız olur. Bu ayarı değiştirmeden önce, İstemci uygulamalarından gelen anonim istekleri algılama bölümünde açıklanan adımları izleyerek depolama hesabınızdaki verilere anonim olarak erişebilecek istemci uygulamaları üzerindeki etkisini anladığınızdan emin olun.
Azure portalında bir depolama hesabına anonim erişim izni vermek için şu adımları izleyin:
Azure portalda depolama hesabınıza gidin.
Ayarlar'ın altında Yapılandırma ayarını bulun.
Blob anonim erişimine izin ver seçeneğini Devre Dışı olarak ayarlayın.
Not
Depolama hesabı için anonim erişime izin verilmemesi, bu depolama hesabında barındırılan hiçbir statik web sitesini etkilemez. $web kapsayıcısı her zaman genel olarak erişilebilir.
Depolama hesabı için anonim erişim ayarını güncelleştirdikten sonra, değişikliğin tamamen yayılması 30 saniye kadar sürebilir.
Toplu düzeltme için örnek betik
Aşağıdaki örnek PowerShell betiği bir abonelikteki tüm Azure Resource Manager depolama hesaplarında çalışır ve bu hesaplar için AllowBlobPublicAccess ayarını False olarak ayarlar.
<#
.SYNOPSIS
Finds storage accounts in a subscription where AllowBlobPublicAccess is True or null.
.DESCRIPTION
This script runs against all Azure Resource Manager storage accounts in a subscription
and sets the "AllowBlobPublicAccess" property to False.
Standard operation will enumerate all accounts where the setting is enabled and allow the
user to decide whether or not to disable the setting.
Classic storage accounts will require individual adjustment of containers to remove public
access, and will not be affected by this script.
Run with BypassConfirmation=$true if you wish to disallow public access on all Azure Resource Manager
storage accounts without individual confirmation.
You will need access to the subscription to run the script.
.PARAMETER BypassConformation
Set this to $true to skip confirmation of changes. Not recommended.
.PARAMETER SubscriptionId
The subscription ID of the subscription to check.
.PARAMETER ReadOnly
Set this parameter so that the script makes no changes to any subscriptions and only reports affect accounts.
.PARAMETER NoSignin
Set this parameter so that no sign-in occurs -- you must sign in first. Use this if you're invoking this script repeatedly for multiple subscriptions and want to avoid being prompted to sign-in for each subscription.
.OUTPUTS
This command produces only STDOUT output (not standard PowerShell) with information about affect accounts.
#>
param(
[boolean]$BypassConfirmation = $false,
[Parameter(Mandatory = $true, ValueFromPipelineByPropertyName = 'SubscriptionId')]
[String] $SubscriptionId,
[switch] $ReadOnly, # Use this if you don't want to make changes, but want to get information about affected accounts
[switch] $NoSignin # Use this if you are already signed in and don't want to be prompted again
)
begin {
if ( ! $NoSignin.IsPresent ) {
Login-AzAccount | Out-Null
}
}
process {
try {
Select-AzSubscription -SubscriptionId $SubscriptionId -ErrorAction Stop | Out-Null
}
catch {
Write-Error "Unable to access select subscription '$SubscriptionId' as the signed in user -- ensure that you have access to this subscription." -ErrorAction Stop
}
foreach ($account in Get-AzStorageAccount) {
if ($null -eq $account.AllowBlobPublicAccess -or $account.AllowBlobPublicAccess -eq $true) {
Write-host "Account:" $account.StorageAccountName " isn't disallowing public access."
if ( ! $ReadOnly.IsPresent ) {
if (!$BypassConfirmation) {
$confirmation = Read-Host "Do you wish to disallow public access? [y/n]"
}
if ($BypassConfirmation -or $confirmation -eq 'y') {
try {
Set-AzStorageAccount -Name $account.StorageAccountName -ResourceGroupName $account.ResourceGroupName -AllowBlobPublicAccess $false
Write-Host "Success!"
}
catch {
Write-Output $_
}
}
}
}
elseif ($account.AllowBlobPublicAccess -eq $false) {
Write-Host "Account:" $account.StorageAccountName "has public access disabled, no action required."
}
else {
Write-Host "Account:" $account.StorageAccountName ". Error, please manually investigate."
}
}
}
end {
Write-Host "Script complete"
}
Birden çok hesap için anonim erişim ayarını denetleyin
Bir depolama hesabı kümesindeki anonim erişim ayarını en iyi performansla denetlemek için Azure portalda Azure Kaynak Grafı Gezgini'ni kullanabilirsiniz. Kaynak Grafı Gezgini'ni kullanma hakkında daha fazla bilgi edinmek için bkz. Hızlı Başlangıç: Azure Kaynak Grafı Gezgini'ni kullanarak ilk Kaynak Grafı sorgunuzu çalıştırma.
Kaynak Grafı Gezgini'nde aşağıdaki sorguyu çalıştırmak, depolama hesaplarının listesini döndürür ve her hesap için anonim erişim ayarını görüntüler:
resources
| where type =~ 'Microsoft.Storage/storageAccounts'
| extend allowBlobPublicAccess = parse_json(properties).allowBlobPublicAccess
| project subscriptionId, resourceGroup, name, allowBlobPublicAccess
Aşağıdaki görüntüde abonelik genelindeki bir sorgunun sonuçları gösterilmektedir. AllowBlobPublicAccess özelliğinin açıkça ayarlandığı depolama hesapları için, sonuçlarda true veya false olarak görünür. AllowBlobPublicAccess özelliği bir depolama hesabı için ayarlanmamışsa, sorgu sonuçlarında boş (veya null) olarak görünür.
Uyumluluk denetimi için Azure İlkesi kullanma
Çok sayıda depolama hesabınız varsa, bu hesapların anonim erişimi engelleyecek şekilde yapılandırıldığından emin olmak için bir denetim gerçekleştirmek isteyebilirsiniz. Bir depolama hesabı kümesini uyumluluk açısından denetlemek için Azure İlkesi kullanın. Azure İlkesi, Azure kaynaklarına kural uygulayan ilkeler oluşturmak, atamak ve yönetmek için kullanabileceğiniz bir hizmettir. Azure İlkesi bu kaynakları kurumsal standartlarınız ve hizmet düzeyi sözleşmelerinizle uyumlu tutmanıza yardımcı olur. Daha fazla bilgi için bkz. Azure İlkesi genel bakış.
Denetim efektiyle ilke oluşturma
Azure İlkesi, bir ilke kuralı bir kaynağa göre değerlendirildiğinde ne olacağını belirleyen etkileri destekler. Denetim etkisi, bir kaynak uyumlu olmadığında ancak isteği durdurmadığında bir uyarı oluşturur. Efektler hakkında daha fazla bilgi için bkz. Azure İlkesi efektleri anlama.
Azure portalıyla depolama hesabı için anonim erişim ayarı için Denetim etkisi olan bir ilke oluşturmak için şu adımları izleyin:
Azure portalda Azure İlkesi hizmetine gidin.
Yazma bölümünde Tanımlar'ı seçin.
Yeni bir ilke tanımı oluşturmak için İlke tanımı ekle'yi seçin.
Tanım konumu alanında Diğer düğmesini seçerek denetim ilkesi kaynağının nerede bulunduğunu belirtin.
İlke için bir ad belirtin. İsteğe bağlı olarak bir açıklama ve kategori belirtebilirsiniz.
İlke kuralı'nın altında policyRule bölümüne aşağıdaki ilke tanımını ekleyin.
{ "if": { "allOf": [ { "field": "type", "equals": "Microsoft.Storage/storageAccounts" }, { "not": { "field":"Microsoft.Storage/storageAccounts/allowBlobPublicAccess", "equals": "false" } } ] }, "then": { "effect": "audit" } }
İlkeyi kaydedin.
İlkeyi atama
Ardından ilkeyi bir kaynağa atayın. İlkenin kapsamı bu kaynağa ve altındaki kaynaklara karşılık gelir. İlke ataması hakkında daha fazla bilgi için bkz. atama yapısı Azure İlkesi.
İlkeyi Azure portal ile atamak için şu adımları izleyin:
- Azure portalda Azure İlkesi hizmetine gidin.
- Yazma bölümünde Atamalar'ı seçin.
- Yeni bir ilke ataması oluşturmak için İlke ata'yı seçin.
- Kapsam alanı için ilke atamasının kapsamını seçin.
- İlke tanımı alanı için Diğer düğmesini ve ardından listeden önceki bölümde tanımladığınız ilkeyi seçin.
- İlke ataması için bir ad belirtin. Açıklama isteğe bağlıdır.
- İlke zorlamasını Etkin olarak bırakın. Bu ayarın denetim ilkesi üzerinde hiçbir etkisi yoktur.
- Ödevi oluşturmak için Gözden geçir + oluştur'u seçin.
Uyumluluk raporunu görüntüleme
İlkeyi atadıktan sonra uyumluluk raporunu görüntüleyebilirsiniz. Denetim ilkesinin uyumluluk raporu, hangi depolama hesaplarının ilkeyle uyumlu olmadığını gösterir. Daha fazla bilgi için bkz . İlke uyumluluk verilerini alma.
İlke ataması oluşturulduktan sonra uyumluluk raporunun kullanılabilir duruma gelmesi birkaç dakika sürebilir.
Azure portalında uyumluluk raporunu görüntülemek için şu adımları izleyin:
Azure portalda Azure İlkesi hizmetine gidin.
Uyumluluk'a tıklayın.
Önceki adımda oluşturduğunuz ilke atamasının adı için sonuçları filtreleyin. Rapor, ilkeyle uyumlu olmayan kaynak sayısını gösterir.
Uyumlu olmayan depolama hesaplarının listesi de dahil olmak üzere ek ayrıntılar için raporda detaya gidebilirsiniz.
Yetkili erişimi zorlamak için Azure İlkesi kullanma
Azure İlkesi, Azure kaynaklarının gereksinimlere ve standartlara uygun olmasını sağlayarak bulut idaresini destekler. Kuruluşunuzdaki depolama hesaplarının yalnızca yetkili isteklere izin verdiğinden emin olmak için, anonim isteklere izin veren anonim erişim ayarıyla yeni bir depolama hesabı oluşturulmasını engelleyen bir ilke oluşturabilirsiniz. Bu ilke, söz konusu hesabın anonim erişim ayarı ilkeyle uyumlu değilse mevcut bir hesapta yapılan tüm yapılandırma değişikliklerini de engeller.
Zorlama ilkesi, anonim erişime izin verecek şekilde depolama hesabı oluşturacak veya değiştirebilecek bir isteği önlemek için Reddet efektini kullanır. Efektler hakkında daha fazla bilgi için bkz. Azure İlkesi efektleri anlama.
Anonim isteklere izin veren anonim erişim ayarında Reddetme etkisi olan bir ilke oluşturmak için Uyumluluk denetimi için Azure İlkesi kullanma bölümünde açıklanan adımları izleyin, ancak ilke tanımının policyRule bölümünde aşağıdaki JSON'u sağlayın:
{
"if": {
"allOf": [
{
"field": "type",
"equals": "Microsoft.Storage/storageAccounts"
},
{
"not": {
"field":"Microsoft.Storage/storageAccounts/allowBlobPublicAccess",
"equals": "false"
}
}
]
},
"then": {
"effect": "deny"
}
}
İlkeyi Reddet efektiyle oluşturup bir kapsama atadıktan sonra, kullanıcı anonim erişime izin veren bir depolama hesabı oluşturamaz. Bir kullanıcı, şu anda anonim erişime izin veren mevcut bir depolama hesabında yapılandırma değişiklikleri yapamaz. Bunu yapmaya çalışmak bir hatayla sonuçlanır. Hesap oluşturma veya yapılandırma işlemine devam etmek için depolama hesabının anonim erişim ayarı false olarak ayarlanmalıdır.
Aşağıdaki görüntüde, Reddetme efektine sahip bir ilke anonim erişime izin verilmemesini gerektirdiğinde anonim erişime izin veren bir depolama hesabı oluşturmaya çalıştığınızda oluşan hata gösterilmektedir.