Kapsayıcılar ve bloblar için anonim genel okuma erişimini yapılandırma

Azure Depolama kapsayıcılar ve bloblar için isteğe bağlı anonim genel okuma erişimini destekler. Varsayılan olarak, verilerinize anonim erişime hiçbir zaman izin verilmez. Anonim erişimi açıkça etkinleştirmedikçe, bir kapsayıcıya ve bloblarına yapılan tüm isteklerin yetkilendirilmiş olması gerekir. Anonim erişime izin verme için kapsayıcının genel erişim düzeyi ayarını yapılandırırsanız, istemciler isteği yetkilendirmeden bu kapsayıcıda verileri okuyabilir.

Uyarı

Bir kapsayıcı genel erişim için yapılandırıldığında, herhangi bir istemci bu kapsayıcıda verileri okuyabilir. Genel erişim olası bir güvenlik riski sunar, bu nedenle senaryo için gerekli değildir, Microsoft depolama hesabı için buna izinmenizi önerecektir. Daha fazla bilgi için bkz. Kapsayıcılara ve bloblara anonim genel okuma erişimini engelleme.

Bu makalede, bir kapsayıcı ve blobları için anonim genel okuma erişiminin nasıl yapılandırıldığında açıklanmıştır. İstemci uygulamasından blob verilerine anonim olarak erişme hakkında bilgi için bkz. .NET ile genel kapsayıcılara ve bloblara anonim olarak erişme.

Anonim genel okuma erişimi hakkında

Verilerinize genel erişim her zaman varsayılan olarak yasaktır. Genel erişimi etkileyen iki ayrı ayar vardır:

  1. Depolama hesabı için genel erişime izin verme. Varsayılan olarak, depolama hesabı uygun izinlere sahip bir kullanıcının kapsayıcıya genel erişimi etkinleştirmesi için izin verir. Kullanıcı kapsayıcının genel erişim ayarını açıkça yapılandırmak için ek adım atmazsanız blob verileri genel erişim için kullanılamaz.
  2. Kapsayıcının genel erişim ayarını yapılandırma. Varsayılan olarak, kapsayıcının genel erişim ayarı devre dışıdır; başka bir anlama gelir; kapsayıcıya veya verilerine yapılan her istek için yetkilendirme gerekir. Uygun izinlere sahip bir kullanıcı, yalnızca depolama hesabı için anonim erişime izin veriliyorsa anonim erişimi etkinleştirmek için kapsayıcının genel erişim ayarını değiştirebilir.

Aşağıdaki tabloda, her iki ayarın birlikte kapsayıcı için genel erişimi nasıl etkilediği özetlenmiştir.

Kapsayıcı için genel erişim düzeyi Özel olarak ayarlanır (varsayılan ayar) Kapsayıcı için genel erişim düzeyi Kapsayıcı olarak ayarlanır Kapsayıcı için genel erişim düzeyi Blob olarak ayarlanır
Depolama hesabı için genel erişime izin verilmiyor Depolama hesabı içinde herhangi bir kapsayıcıya genel erişim yok. Depolama hesabı içinde herhangi bir kapsayıcıya genel erişim yok. Depolama hesabı ayarı, kapsayıcı ayarını geçersiz kılar. Depolama hesabı içinde herhangi bir kapsayıcıya genel erişim yok. Depolama hesabı ayarı, kapsayıcı ayarını geçersiz kılar.
Depolama hesabı için genel erişime izin verilir (varsayılan ayar) Bu kapsayıcıya genel erişim yok (varsayılan yapılandırma). Bu kapsayıcıya ve bloblarına genel erişime izin verilir. Bu kapsayıcıda bloblara genel erişim izni verilir, ancak kapsayıcının kendisine izin verilmez.

Depolama hesabı için genel okuma erişimine izin verme veya erişim izni verme

Varsayılan olarak depolama hesabı, uygun izinlere sahip bir kullanıcının kapsayıcıya genel erişimi etkinleştirmesine izin verecek şekilde yapılandırılır. Genel erişime izin verilmiyorsa, uygun izinlere sahip bir kullanıcı kapsayıcının genel erişim ayarını, kapsayıcının verilerine anonim genel erişimi etkinleştirmek için değiştirebilir. Kullanıcı kapsayıcının genel erişim ayarını açıkça yapılandırmak için ek adım atmazsanız blob verileri hiçbir zaman genel erişim için kullanılamaz.

Kapsayıcıya genel erişimin her zaman varsayılan olarak kapalı olduğunu ve anonim isteklere izin ver için açıkça yapılandırılması gerektiğini unutmayın. Depolama hesabı ayarına bakılmaksızın, uygun izinlere sahip bir kullanıcı kapsayıcıda genel erişimi etkinleştirmek için bu ek adımı uygulamadıkça verileriniz hiçbir zaman genel erişim için kullanılamaz.

Depolama hesabı için genel erişimin engeli, bu hesapta yer alan tüm kapsayıcılara ve bloblara anonim erişimi önler. Hesap için genel erişime izin verilmiyorsa, kapsayıcının anonim erişime izin vermesi için genel erişim ayarını yapılandırmak mümkün değildir. Gelişmiş güvenlik için, senaryonun kullanıcıların blob kaynaklarına anonim olarak erişmesi gerekmedikçe Microsoft, depolama hesaplarınız için genel erişime izinmenizi önerer.

Önemli

Bir depolama hesabı için genel erişimin izin dışı kılınması, bu depolama hesabıyla ilgili tüm kapsayıcılar için genel erişim ayarlarını geçersiz kılar. Depolama hesabı için genel erişime izin verilmiyorsa, bu hesaba gelecekte yapılan anonim istekler başarısız olur. Bu ayarı değiştirmeden önce, depolama hesabınıza anonim olarak erişen istemci uygulamaları üzerindeki etkiyi andan emin olun. Daha fazla bilgi için bkz. Kapsayıcılara ve bloblara anonim genel okuma erişimini engelleme.

Bir depolama hesabı için genel erişime izin vermek veya erişimine izin vermek için hesabın AllowBlobPublicAccess özelliğini yapılandırabilirsiniz. Bu özellik, dağıtım modeliyle oluşturulan tüm depolama Azure Resource Manager kullanılabilir. Daha fazla bilgi için bkz. Depolama genel bakış.

AllowBlobPublicAccess özelliği varsayılan olarak bir depolama hesabı için ayarlanmaz ve siz açıkça ayarlanana kadar bir değer vermez. Özellik değeri null veya true olduğunda depolama hesabı genel erişime izin verir.

Depolama hesabında bir depolama hesabına genel erişime izin vermek Azure portal izin vermek için şu adımları izleyin:

  1. Azure portalda depolama hesabınıza gidin.

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

  3. Blob genel erişimini Etkin veya Devre Dışı olarak ayarlayın.

    Hesap için blob genel erişimine izin verme veya izin vermeme ekran görüntüsü

Not

Bir depolama hesabı için genel erişimin izinlerin geri olması, bu depolama hesabında barındırılan statik web sitelerini etkilemez. Bu $web her zaman genel erişime açık durumdadır.

Depolama hesabı için genel erişim ayarını güncelleştirdikten sonra, değişikliğin tamamen yayılması 30 saniye kadar sürebilir.

Blob genel erişimine izin verme veya izin vermeme, Azure Depolama kaynak sağlayıcısının 2019-04-01 veya sonraki bir sürümünü gerektirir. Daha fazla bilgi için bkz. Azure Depolama Kaynak Sağlayıcısı REST API.

Bu bölümdeki örneklerde, genel erişime şu anda izin verili olup olmadığını belirlemek üzere depolama hesabı için AllowBlobPublicAccess özelliğinin nasıl okunarak izin verilmiyor olduğu gösterilmişti. Bir hesabın genel erişim ayarının anonim erişimi önlemek üzere yapılandırıldığından emin olmak için bkz. Anonim genel erişimi düzeltme.

Kapsayıcı için genel erişim düzeyini ayarlama

Anonim kullanıcılara bir kapsayıcıya ve bloblarına okuma erişimi vermek için önce depolama hesabı için genel erişime izin verme, ardından kapsayıcının genel erişim düzeyini ayarlama. Depolama hesabı için genel erişim reddedilirse, kapsayıcı için genel erişimi yapılandıramazsınız.

Depolama hesabı için genel erişime izin verıldığında, kapsayıcıyı aşağıdaki izinlerle yapılandırabilirsiniz:

  • Genel okuma erişimi yok: Kapsayıcıya ve bloblarına yalnızca yetkili bir istekle erişilebilir. Bu seçenek tüm yeni kapsayıcılar için varsayılan seçenektir.
  • Yalnızca bloblar için genel okuma erişimi: Kapsayıcı içindeki bloblar anonim istek tarafından okunabilir, ancak kapsayıcı verileri anonim olarak kullanılamaz. Anonim istemciler kapsayıcı içindeki blobları numara olarak kabulamaz.
  • Kapsayıcı ve blobları için genel okuma erişimi: Kapsayıcı ve blob verileri, kapsayıcı izin ayarları ve kapsayıcı meta verileri dışında anonim istek tarafından okunabilir. İstemciler anonim istekle kapsayıcı içindeki blobları numaralatabilirsiniz, ancak depolama hesabı içindeki kapsayıcıları numaralatamaz.

Tek bir blob için genel erişim düzeyini değiştiremezsiniz. Genel erişim düzeyi yalnızca kapsayıcı düzeyinde ayarlanır. Kapsayıcıyı oluşturma işlemiyle kapsayıcının genel erişim düzeyini veya var olan bir kapsayıcıda bu ayarı güncelleştirebilirsiniz.

Bir veya daha fazla mevcut kapsayıcının genel erişim düzeyini güncelleştirmek Azure portal aşağıdaki adımları izleyin:

  1. Depolama hesabınıza genel bakış için bkz. Azure portal.

  2. Menü dikey penceresindeki Veri depolama'nın altında Blob kapsayıcıları'ı seçin.

  3. Genel erişim düzeyini ayarlamak istediğiniz kapsayıcıları seçin.

  4. Genel erişim ayarlarını görüntülemek için Erişim düzeyini değiştir düğmesini kullanın.

  5. Genel erişim düzeyi açılan listesinden istenen genel erişim düzeyini seçin ve tamam düğmesine tıklayarak değişikliği seçili kapsayıcılara uygulayabilirsiniz.

    Portalda genel erişim düzeyini ayarlamayı gösteren ekran görüntüsü.

Depolama hesabı için genel erişime izin verilmiyorsa, kapsayıcının genel erişim düzeyi ayarlanmaz. Kapsayıcının genel erişim düzeyini ayarlamayı denerseniz, hesap için genel erişime izin verilmey olduğundan ayarın devre dışı bırakılmıştır.

Genel erişime izin verilmeyen kapsayıcı genel erişim düzeyini ayarlamanın engellenmiş olduğunu gösteren ekran görüntüsü

Kapsayıcı kümesi için genel erişim ayarını denetleme

Kapsayıcıları listele ve genel erişim ayarını kontrol ederek, bir veya daha fazla depolama hesabında hangi kapsayıcıların genel erişim için yapılandırıldığından emin olmak mümkündür. Bu yaklaşım, depolama hesabında çok fazla sayıda kapsayıcı yoksa veya ayarı az sayıda depolama hesabında kontrol ediyorsanız pratik bir seçenektir. Ancak, çok fazla sayıda kapsayıcıyı numaraya saklamayı denersanız performans düşük olabilir.

Aşağıdaki örnekte, bir depolama hesabıdaki tüm kapsayıcılar için genel erişim ayarını almak için PowerShell kullanılır. Köşeli ayraç içindeki yer tutucu değerlerini kendi değerleriniz ile değiştirmeyi unutmayın:

$rgName = "<resource-group>"
$accountName = "<storage-account>"

$storageAccount = Get-AzStorageAccount -ResourceGroupName $rgName -Name $accountName
$ctx = $storageAccount.Context

Get-AzStorageContainer -Context $ctx | Select Name, PublicAccess

Özellik desteği

Bu tabloda, bu özelliğin hesapta nasıl desteklen olduğu ve belirli özellikleri etkinleştiren destek üzerindeki etkisi yer alır.

Depolama hesabı türü Blob Depolama (varsayılan destek) Data Lake Depolama 1. Nesil NFS 3.0 1
Standart genel amaçlı v2 Yes Yes Yes
Premium blobları Yes Yes Yes

1 Data Lake Depolama 2. Nesil ve Ağ Dosya Sistemi (NFS) 3.0 protokolünün her ikisi de hiyerarşik ad alanı etkinleştirilmiş bir depolama hesabı gerektirir.

Sonraki adımlar