Blob verilerine yönelik anonim okuma erişimini düzeltin (Azure Resource Manager dağıtımları)

Azure Blob Depolama, konteynerlere ve bloblara isteğe bağlı anonim okuma erişimini destekler. Ancak, anonim erişim bir güvenlik riski oluşturabilir. En iyi güvenlik için anonim erişimi devre dışı bırakmanızı öneririz. Anonim erişimin yasaklanması, istenmeyen anonim erişimden kaynaklanan 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 depolama hesabındaki konteynerlere ve bloblara anonim erişim yapmasını engeller. Bu varsayılan yapılandırma, bireysel bir konteyner için erişim ayarı ne olursa olsun Azure Resource Manager depolama hesabına tüm anonim erişimi engeller.

Depolama hesabı için anonim erişim yasaklaştığında, Azure Depolama blob verilerine yönelik tüm anonim okuma isteklerini reddeder. Kullanıcılar daha sonra o hesaptaki konteynerler için anonim erişim ayarlayamaz. Zaten anonim erişim için yapılandırılmış konteynerler artık anonim talepleri 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 potansiyel bir güvenlik riski oluşturur; bu nedenle senaryonuz bunu gerektirmiyorsa depolama hesabında buna izin vermemenizi öneririz.

Azure Resource Manager için Düzeltme

Bu makale, 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-Audit-Governance) çerçevesinin nasıl kullanılacağını açıklar. Tüm genel amaçlı v2 depolama hesapları, premium block blob storage hesapları, premium dosya paylaşım hesapları ve Blob Depolama hesapları Azure Resource Manager dağıtım modelini kullanır.

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:

  1. Depolama hesabı için anonim erişim ayarı. Bir Azure Resource Manager depolama hesabı, hesap için anonim erişime izin verme veya yasak bir ayar sunar. Microsoft, en iyi güvenlik için depolama hesaplarınızda anonim erişime izin verilmemesini önerir.

    Hesap seviyesinde anonim erişim izin verildiğinde, blob veri anonim okuma erişimi için kullanılabilir değildir; kullanıcı konteynerin anonim erişim ayarını açıkça yapılandırmak için ek bir adım atmazsa.

  2. Konteynerin anonim erişim ayarını yapılandırın. Varsayılan olarak, bir konteynerin anonim erişim ayarı devre dışı bırakılır, yani konteynere veya verilerine yapılan her talep için yetkilendirme gereklidir. Uygun izinlere sahip bir kullanıcı, konteynerin anonim erişim ayarını yalnızca depolama hesabı için anonim erişim izin veriliyorsa etkinleştirecek şekilde değiştirebilir.

Aşağıdaki tablo, iki ayarın birlikte bir konteyner için anonim erişimi nasıl etkilediğini özetlemektedir.

Konteyner için anonim erişim seviyesi Özel (varsayılan ayar) olarak ayarlanmıştır Konteyner için anonim erişim seviyesi Konteyner olarak ayarlanmıştır Konteyner için anonim erişim seviyesi Blob olarak ayarlanmıştır
Depolama hesabı için anonim erişim yasaktır Depolama hesabındaki hiçbir konteynere anonim erişim yok. Depolama hesabındaki hiçbir konteynere anonim erişim yok. Depolama hesabı ayarı konteyner ayarını geçersiz kılar. Depolama hesabındaki hiçbir konteynere anonim erişim yok. Depolama hesabı ayarı konteyner ayarını geçersiz kılar.
Depolama hesabı için anonim erişim izni verilmektedir Bu konteynere anonim erişim yok (varsayılan yapılandırma). Bu konteynere ve bloblarına anonim erişim izni verilir. Bu konteynerdeki bloblara anonim erişim izni verilir, ancak konteynerin kendisine izin verilmez.

Bir 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ıdaki bir blobu okumaya yönelik, üst bilgisi Authorization gönderilen bir istek hizmet tarafından kabul edilir ve blobun verileri yanıtta döndürülür. Ancak, talep birAuthorization başlık ile iletilirse, depolama hesabına anonim erişim göz ardı edilir ve talep sağlanan kimlik bilgilerine göre yetkilendirilir.

İstemci uygulamalarından gelen anonim istekleri tespit et

Bir depolama hesabı için anonim okuma erişimini yasakladığınızda, şu anda anonim erişim için yapılandırılmış konteynerlere ve bloblara gönderilen talepleri reddetme riski taşır. Bir depolama hesabı için anonim erişime izin verilmemesi, o depolama hesabındaki bireysel konteynerlerin erişim ayarlarını geçersiz kılar. Depolama hesabı için anonim erişim yasaklaştığında, o hesaba gelecekte yapılacak herhangi bir anonim talep başarısız olur.

Anonim erişimin yasaklanmasının istemci uygulamaları nasıl etkileyebileceğini anlamak için, o hesap için logu ve metrikleri etkinleştirmenizi ve belirli bir zaman aralığında anonim taleplerin kalıplarını analiz etmeniz öneririz. Depolama hesabına gelen anonim taleplerin sayısını belirlemek için metrikler kullanın ve hangi konteynerlere anonim olarak erişildiğini belirlemek için loglar kullanın.

Metrik Explorer ile anonim talepleri izleyin

Bir depolama hesabına gelen anonim talepleri takip etmek için Azure portalında Azure Metrics Explorer kullanın. Ölçüm Gezgini hakkında daha fazla bilgi için bkz. Azure İzleyici Ölçüm Gezgini ile ölçümleri analiz etme.

Anonim talepleri takip eden bir metrik oluşturmak için şu adımları izleyin:

  1. Azure portalında depolama hesabınıza gidin. İzleme bölümü altında Ölçümler'i seçin.

  2. Ölçüm ekle seçeneğini belirleyin. Ölçüm iletişim kutusunda aşağıdaki değerleri belirtin:

    1. Kapsam alanını depolama hesabının adına bırakın.
    2. Metrik isim alanınıBlob olarak ayarlayın. Bu metrik yalnızca Blob depolamaya yönelik istekleri raporlar.
    3. Ölçüm alanını İşlemler olarak ayarlayın.
    4. Toplama alanını Toplam olarak ayarlayın.

    Yeni metrik, belirli bir zaman aralığında Blob depolamasına karşı işlem sayısının toplamını gösterir. Elde edilen ölçüm aşağıdaki görüntüde gösterildiği gibi görünür:

    Blob işlemlerini toplamak için metrik nasıl yapılandırılacağını gösteren ekran görüntüsü

  3. Ardından, ölçümde anonim istekler için bir filtre oluşturmak üzere Filtre ekle düğmesini seçin.

  4. Filtre iletişim kutusunda aşağıdaki değerleri belirtin:

    1. Özellik değerini Kimlik Doğrulaması olarak ayarlayın.
    2. İşleç alanını eşittir işaretine (=) ayarlayın.
    3. Değerler alanını açılır menüden seçerek veya yazarak Anonim olarak ayarlayın.
  5. 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.

Metrik yapılandırıldıktan sonra, grafikte anonim talepler görünmeye başlar. Aşağıdaki görsel, son 30 dakika içinde toplanmış anonim talepleri göstermektedir.

Blob depolama alanına yönelik toplu anonim talepleri gösteren ekran görüntüsü

Ayrıca, depolama hesabınıza karşı belirli sayıda anonim talep yapıldığında sizi bilgilendirecek bir uyarı kuralı da ayarlayabilirsiniz. Daha fazla bilgi için bkz Azure İzleyici kullanarak ölçüm uyarılarını oluşturma, görüntüleme ve yönetme.

Anonim istekleri alan konteynerleri belirlemek için logları analiz edin

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 konteynerlerin anonim istekler aldığını belirlemek için logları analiz edebilirsiniz.

Azure Depolama hesabınıza istek kaydetmek ve anonim talepleri değerlendirmek için, Azure Depolama kayıtlarını Azure İzleyici'da kullanabilirsiniz. Daha fazla bilgi için bkz . Azure Depolama'yı izleme.

Azure İzleyici'da Azure Depolama günlüğü, günlük verilerini analiz etmek için günlük sorgularını kullanmayı 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 Eğitim: Log Analytics sorgularını kullanmaya başlama bölümüne bakın.

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 Azure portalında Log Analytics çalışma alanı oluşturma kısmına bakın.

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 referans için Kaynak günlükleri bölümüne bakınız.

Anonim talepler için sorgu kayıtları

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 göre filtre uygulayın.

Blob depolama alanına yönelik anonim talepler için son yedi gündeki logları almak için Log Analytics çalışma alanınızı açın. Sonra, aşağıdaki sorguyu yeni bir log sorgusuna yapıştırın ve çalıştırın:

StorageBlobLogs
| where TimeGenerated > ago(7d) and AuthenticationType == "Anonymous"
| project TimeGenerated, AccountName, AuthenticationType, Uri

Ayrıca, bu sorguya dayalı olarak anonim istekleri haberdar etmek için bir uyarı kuralı da ayarlayabilirsiniz. Daha fazla bilgi için bkz. Azure İzleyici kullanarak günlük uyarıları oluşturma, görüntüleme ve yönetme.

Anonim taleplere yanıtlar

Blob Depolama anonim bir istek aldığında, aşağıdaki tüm koşullar geçerliyse bu talep başarılı olur:

  • Depolama hesabı için anonim erişim izinlidir.
  • Hedeflenen konteyner, anonim erişime izin verecek şekilde yapılandırılmıştır.
  • Talep okuma erişimi içindir.

Bu koşullardan herhangi biri geçerli değilse, talep başarısız olur. Başarısızlık durumunda yanıt kodu, anonim talebin taşıyıcı meydan okumasını destekleyen bir hizmet sürümüyle yapılıp yapılmadığına bağlıdır. Taşıyıcı meydan okuması, 2019-12-12 ve daha yeni hizmet sürümleriyle desteklenmektedir:

  • Anonim istek, Bearer sınamasını destekleyen bir hizmet sürümü kullanılarak yapıldıysa hizmet, 401 hata kodunu (Unauthorized) döndürür.
  • Eğer anonim talep taşıyıcı meydan okumasını desteklemeyen bir hizmet sürümüyle yapıldı ve depolama hesabı için anonim erişim yasaksa, hizmet 409 (Çatışma) hata kodu döner.
  • Eğer anonim istek, taşıyıcı meydan okumasını desteklemeyen bir hizmet sürümüyle yapılmışsa ve depolama hesabı için anonim erişim izinliyse, hizmet hata kodu 404 (Bulunmadı) döner.

Taşıyıcı meydan okuması hakkında daha fazla bilgi için Taşıyıcı meydan okumasına bakınız.

Depolama hesabı için anonim erişimi düzeltin

Depolama hesabınızdaki konteynerlere ve bloblara yapılan anonim talepleri değerlendirdikten sonra, tüm hesabın anonim erişimini düzeltmek için AllowBlobPublicAccess özelliğini Yanlış olarak ayarlayabilirsiniz.

Bir depolama hesabı için anonim erişim ayarı, o hesaptaki konteynerlerin bireysel ayarlarını geçersiz kılar. Bir depolama hesabı için anonim erişimi engellediğinizde, anonim erişime izin verecek şekilde yapılandırılmış konteynerler artık anonim olarak erişilmez. Hesap için anonim erişimi engellerseniz, bireysel konteynerler için anonim erişimi de devre dışı bırakmanıza gerek yoktur.

Senaryonuzda belirli konteynerlerin anonim erişim için erişilebilir olması gerekiyorsa, o konteynerleri ve bloblarını anonim erişim için ayrılmış ayrı depolama hesaplarına taşımalısın. Böylece diğer depolama hesapları için anonim erişimi engelleyebilirsiniz.

Anonim erişimi düzeltmek, Azure Depolama kaynak sağlayıcısının 2019-04-01 veya daha sonraki sürümünü gerektirir. Daha fazla bilgi için bkz . Azure Depolama Kaynak Sağlayıcısı REST API'si.

Anonim erişimi engelleme izinleri

Depolama hesabı için AllowBlobPublicAccess özelliğini ayarlamak için, bir kullanıcının depolama hesapları oluşturma ve yönetme izinlerine sahip olması gerekir. Bu izinleri sağlayan Azure rol tabanlı erişim kontrolü (Azure RBAC) rolleri arasında Microsoft yer alır. Storage/storageAccounts/write eylemi. Bu eyleme sahip yerleşik roller şunlardır:

Rol atamaları, bir kullanıcının depolama hesabı için anonim erişimi devre dışı bırakabilmesine izin vermek amacıyla, depolama hesabı düzeyinde veya daha üstünde kapsamlandırılmalıdır. Rol kapsamı hakkında daha fazla bilgi için Azure RBAC kapsamını anlama bölümüne bakın.

Bu rollerin atamasını yalnızca depolama hesabı oluşturma veya özelliklerini güncelleme yeteneği gerektiren yönetici kullanıcılarla sınırlamaya 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 Azure RBAC için En İyi Uygulamalar başlığına bakın.

Bu roller, Microsoft Entra ID üzerinden 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 kendisi hesap anahtarları üzerinden veri erişimi tanır, ancak kullanıcıya depolama hesabı için AllowBlobPublicAccess özelliğini değiştirme yetkisi vermez. Depolama hesabınızdaki verilere erişmesi gereken ancak depolama hesabının yapılandırmasını değiştirme imkanı olmayan kullanıcılar için, Depolama Blob Veri Katkıcısı, Depolama Blob Veri Okuyucusu veya Okuyucu ve Veri Erişimi gibi roller atamayı düşünün.

Note

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 işlemleri kapsar, böylece bu yönetici rollerden birine sahip bir kullanıcı 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 ayarla

Bir depolama hesabı için anonim erişimi engellemek için, hesabın AllowBlobPublicAccess özelliğini Yanlış olarak ayarlayın.

Önemli

Bir depolama hesabına anonim erişimin yasaklanması, o depolama hesabındaki tüm konteynerlerin erişim ayarlarını geçersiz kılar. Depolama hesabı için anonim erişim yasaklaştığında, o hesaba gelecekte yapılacak herhangi bir anonim talep başarısız olur. Bu ayarı değiştirmeden önce, depolama hesabınızdaki verilere anonim erişimde olabilecek istemci uygulamaları üzerindeki etkisini Tespit Etki (İstemci uygulamalarından anonim talepleri algıla) bölümünde belirtilen adımları takip ederek mutlaka anlayın.

Azure portalında bir depolama hesabına anonim erişimi engellemek için şu adımları izleyin:

  1. Azure portalında depolama hesabınıza gidin.

  2. Ayarlar'ın altında Yapılandırma ayarını bulun.

  3. Blob için anonim erişime izin ver seçeneğini Devre dışı olarak ayarlayın.

    Hesap için anonim erişimin nasıl yasaklanacağını gösteren ekran görüntüsü

Note

Bir depolama hesabına anonim erişimin yasaklanması, o depolama hesabında barındırılan statik web sitelerini etkilemez. $web konteyner her zaman kamuya açık olarak erişilebilirdir.

Depolama hesabı için anonim erişim ayarını güncelledikten sonra, değişikliğin tam olarak yaygınlaşması 30 saniyeye kadar sürebilir.

Toplu iyileştirme için örnek script

Aşağıdaki örnek PowerShell betik, abonelikteki tüm Azure Resource Manager depolama hesaplarına karşı ç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.  

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 fazla hesap için anonim erişim ayarını kontrol edin

Bir depolama hesabı seti boyunca en iyi performansa sahip anonim erişim ayarını kontrol etmek için Azure portalındaki Azure Kaynak Grafı Explorer'ı 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 Grafik Rehberi'nde aşağıdaki sorgu çalıştırıldığında, depolama hesapları listesi döner ve her hesap için anonim erişim ayarları gösterir:

resources
| where type =~ 'Microsoft.Storage/storageAccounts'
| extend allowBlobPublicAccess = parse_json(properties).allowBlobPublicAccess
| project subscriptionId, resourceGroup, name, allowBlobPublicAccess

Aşağıdaki görsel, abonelik genelinde yapılan bir sorgu sonuçlarını göstermektedir. AllowBlobPublicAccess özelliği açıkça ayarlandığı depolama hesapları için, sonuçlarda doğru veya yanlış olarak görünür. AllowBlobPublicAccess özelliği depolama hesabı için ayarlanmadıysa, sorgu sonuçlarında boş (veya null) olarak görünür.

Depolama hesapları arasında anonim erişim ayarı için sorgu sonuçlarını gösteren ekran görüntüsü

Uyumluluk denetimi için Azure İlkesi kullanma

Çok sayıda depolama hesabınız varsa, bu hesapların anonim erişimi önleyecek şekilde yapılandırıldığından emin olmak için bir denetim yapmak 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 etkisine sahip bir ilke oluşturun

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 bir uyarı oluşturur, ancak isteği durdurmaz. Etkiler hakkında daha fazla bilgi için bkz. Azure İlkesi etkilerini anlama.

Azure portalında bir depolama hesabı için anonim erişim ayarı için Denetim etkisiyle bir politika oluşturmak için şu adımları izleyin:

  1. Azure portalda Azure İlkesi hizmetine gidin.

  2. Yazma bölümünde Tanımlar'ı seçin.

  3. Yeni bir ilke tanımı oluşturmak için İlke tanımı ekle'yi seçin.

  4. Tanım konumu alanında Diğer düğmesini seçerek denetim ilkesi kaynağının nerede bulunduğunu belirtin.

  5. İlke için bir ad belirtin. İsteğe bağlı olarak bir açıklama ve kategori belirtebilirsiniz.

  6. İ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"
      }
    }
    
  7. Politikayı kaydedin.

İlkeyi ata

Ardından ilkeyi bir kaynağa atayın. İlkenin kapsamı bu kaynağa ve altındaki kaynaklara karşılık gelir. Daha fazla bilgi için, siyasa ataması hakkında Azure İlkesi atama yapısı'na bakın.

İlkeyi Azure portal ile atamak için şu adımları izleyin:

  1. Azure portalda Azure İlkesi hizmetine gidin.
  2. Yazma bölümünde Atamalar'ı seçin.
  3. Yeni bir ilke ataması oluşturmak için İlke ata seçeneğini belirleyin.
  4. Kapsam alanı için ilke atamasının kapsamını seçin.
  5. İ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.
  6. İlke ataması için bir ad belirtin. Açıklama isteğe bağlıdır.
  7. İlke uygulaması ayarını Etkin olarak bırakın. Bu ayarın denetim ilkesi üzerinde hiçbir etkisi yoktur.
  8. Ö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 politikası için uyum raporu, hangi depolama hesaplarının politikaya uygun olmadığı hakkında bilgi verir. 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:

  1. Azure portalda Azure İlkesi hizmetine gidin.

  2. Uyumluluk'a tıklayın.

  3. Önceki adımda oluşturduğunuz ilke atamasının adı için sonuçları filtreleyin. Rapor, politikaya uygun olmayan kaynakların kaç tane olduğunu gösteriyor.

  4. Uyumlu olmayan depolama hesaplarının listesi de dahil olmak üzere ek ayrıntılar için raporda detaya gidebilirsiniz.

    Anonim erişim için denetim politikası uyum raporunu gösteren ekran görüntüsü

Yetkili erişimi zorlamak için Azure İlkesi'yi kullanın

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 taleplere izin vermesini sağlamak için, anonim isteklere izin veren anonim erişim ayarıyla yeni bir depolama hesabı oluşturulmasını engelleyen bir politika oluşturabilirsiniz. Bu politika, mevcut hesabda anonim erişim ayarı politikayla uyumlu değilse tüm yapılandırma değişikliklerini de engeller.

Uygulama politikası, anonim erişim sağlamak için depolama hesabı oluşturacak veya değiştirecek bir talebi engellemek için Reddetme etkisini kullanır. Etkiler hakkında daha fazla bilgi için bkz. Azure İlkesi etkilerini anlama.

Anonim isteklere izin veren bir anonim erişim ayarı için Reddet etkisine sahip bir politika oluşturmak üzere, Uyumluluğu denetlemek için Azure İlkesi kullanma bölümünde açıklanan adımların aynısını izleyin; ancak politika 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"
  }
}

Reddetme etkisiyle politika oluşturup bir kapsama ataydıktan sonra, kullanıcı anonim erişim sağlayan bir depolama hesabı oluşturamaz. Ayrıca, bir kullanıcı, şu anda anonim erişim sağlayan mevcut bir depolama hesabında herhangi bir yapılandırma değişikliği yapamaz. Bunu yapmaya çalışmak bir hatayla sonuçlanır. Depolama hesabı için anonim erişim ayarı, hesap oluşturma veya yapılandırmaya devam etmek için yanlış olarak ayarlanmalıdır.

Aşağıdaki görsel, Reddetme etkisi olan bir politikanın anonim erişimin yasaklanmasını gerektirdiğinde anonim erişime izin veren bir depolama hesabı oluşturmaya çalışırsanız oluşan hatayı göstermektedir.

İlkeyi ihlal eden bir depolama hesabı oluşturulurken oluşan hatayı gösteren ekran görüntüsü

Sonraki Adımlar