Kapsayıcı ACL'lerini ayarlama
İşlem, Set Container ACL
belirtilen kapsayıcının izinlerini ayarlar. İzinler, bir kapsayıcıdaki bloblara genel olarak erişilip erişilemeyeceğini gösterir.
Sürüm 2009-09-19 itibarıyla kapsayıcı izinleri, kapsayıcı erişimini yönetmek için aşağıdaki seçenekleri sağlar:
Tam genel okuma erişimi: Kapsayıcı ve blob verileri anonim istek aracılığıyla okunabilir. İstemciler anonim istek yoluyla kapsayıcı içindeki blobları numaralandırabilir, ancak depolama hesabındaki kapsayıcıları numaralandıramaz.
Yalnızca bloblar için genel okuma erişimi: Bu kapsayıcıdaki blob verileri anonim istekle okunabilir ancak kapsayıcı verileri kullanılamaz. İstemciler anonim istek aracılığıyla kapsayıcı içindeki blobları numaralandıramaz.
Genel okuma erişimi yok: Kapsayıcı ve blob verileri yalnızca hesap sahibi tarafından okunabilir.
Set Container ACL
ayrıca paylaşılan erişim imzalarıyla kullanmak üzere bir depolanmış erişim ilkesi ayarlar. Daha fazla bilgi için bkz. Saklı erişim ilkesi tanımlama.
Kapsayıcıya tüm genel erişim anonimdir ve paylaşılan erişim imzası üzerinden erişim sağlanır.
İstek
İstek Set Container ACL
aşağıdaki gibi oluşturulabilir. HTTPS kullanmanızı öneririz.
myaccount değerini depolama hesabınızın adıyla değiştirin:
Yöntem | İstek URI'si | HTTP sürümü |
---|---|---|
PUT |
https://myaccount.blob.core.windows.net/mycontainer?restype=container&comp=acl |
HTTP/1.1 |
Öykünülmüş depolama hizmeti isteği
Öykünülmüş depolama hizmetinde istekte bulunulduğunda öykünücü konak adını ve Blob hizmeti bağlantı noktasını olarak 127.0.0.1:10000
belirtin ve ardından öykünülen depolama hesabı adını belirtin:
Yöntem | İstek URI'si | HTTP sürümü |
---|---|---|
PUT |
http://127.0.0.1:10000/devstoreaccount1/mycontainer?restype=container&comp=acl |
HTTP/1.1 |
Daha fazla bilgi için bkz. Yerel Azure Depolama geliştirmesi için Azurite öykünücüsü kullanma.
URI parametreleri
İstek URI'sinde aşağıdaki ek parametreleri belirtebilirsiniz:
Parametre | Açıklama |
---|---|
timeout |
İsteğe bağlı.
timeout parametresi saniye cinsinden ifade edilir. Daha fazla bilgi için bkz. Blob hizmeti işlemleri için zaman aşımlarını ayarlama. |
İstek üst bilgileri
Gerekli ve isteğe bağlı istek üst bilgileri aşağıdaki tabloda açıklanmıştır:
İstek üst bilgisi | Açıklama |
---|---|
Authorization |
Gereklidir. Yetkilendirme düzenini, hesap adını ve imzayı belirtir. Daha fazla bilgi için bkz. Azure Depolama'ya istekleri yetkilendirme. |
Date veya x-ms-date |
Gereklidir. İstek için Eşgüdümlü Evrensel Saat (UTC) biçimini belirtir. Daha fazla bilgi için bkz. Azure Depolama'ya istekleri yetkilendirme. |
x-ms-version |
İsteğe bağlı. Bu istek için kullanılacak işlemin sürümünü belirtir. Daha fazla bilgi için bkz. Azure Depolama hizmetleri için sürüm oluşturma. |
x-ms-blob-public-access |
İsteğe bağlı. Kapsayıcıdaki verilere genel olarak erişilip erişilemeyeceğini ve erişim düzeyini belirtir. Olası değerler şunlardır: - container : Kapsayıcı ve blob verileri için tam genel okuma erişimini belirtir. İstemciler anonim istek yoluyla kapsayıcı içindeki blobları numaralandırabilir, ancak depolama hesabındaki kapsayıcıları numaralandıramaz.- blob: Bloblar için genel okuma erişimini belirtir. Bu kapsayıcıdaki blob verileri anonim istekle okunabilir ancak kapsayıcı verileri kullanılamaz. İstemciler anonim istek aracılığıyla kapsayıcı içindeki blobları numaralandıramaz.Bu üst bilgi isteğe dahil değilse, kapsayıcı verileri hesap sahibine özeldir. Azure Premium Depolama hesabındaki bir kapsayıcı için genel erişim ayarlamaya izin verilmediğini unutmayın. |
x-ms-lease-id: <ID> |
İsteğe bağlı, sürüm 2012-02-12 ve üzeri. Belirtilirse, Set Container ACL yalnızca kapsayıcının kirası etkinse ve bu kimlikle eşleşirse başarılı olur. Etkin kiralama yoksa veya kimlik eşleşmiyorsa 412 (Önkoşul Başarısız) döndürülür. |
x-ms-client-request-id |
İsteğe bağlı. Günlüğe kaydetme yapılandırıldığında günlüklere kaydedilen 1 kibibayt (KiB) karakter sınırıyla istemci tarafından oluşturulan, opak bir değer sağlar. İstemci tarafı etkinlikleriyle sunucunun aldığı istekler arasında bağıntı sağlamak için bu üst bilgiyi kullanmanızı kesinlikle öneririz. Daha fazla bilgi için bkz. İzleme Azure Blob Depolama. |
Bu işlem, yalnızca belirtilen bir koşul karşılandığında işlemi yürütmek için koşullu üst bilgilerin kullanımını da destekler. Daha fazla bilgi için bkz. Blob hizmeti işlemleri için koşullu üst bilgileri belirtme.
İstek gövdesi
Depolanan erişim ilkesi belirtmek için Set Container ACL
, işlemin istek gövdesinde benzersiz bir tanımlayıcı ve erişim ilkesi sağlayın.
SignedIdentifier
öğesinde belirtilen benzersiz tanımlayıcıyı ve öğesinde Id
belirtildiği gibi erişim ilkesinin AccessPolicy
ayrıntılarını içerir. Benzersiz tanımlayıcının uzunluk üst sınırı 64 karakterdir.
Start
ve Expiry
alanları UTC saatleri olarak ifade edilmeli ve geçerli bir ISO 8061 biçimine uymalıdır. Desteklenen ISO 8061 biçimleri şunları içerir:
YYYY-MM-DD
YYYY-MM-DDThh:mmTZD
YYYY-MM-DDThh:mm:ssTZD
YYYY-MM-DDThh:mm:ss.fffffffTZD
Bu biçimlerin tarih bölümü için dört YYYY
basamaklı bir yıl gösterimi, MM
iki basamaklı ay gösterimi ve DD
iki basamaklı bir gün gösterimidir. Zaman bölümü için, hh
24 saatlik gösterimdeki saat gösterimi, mm
iki basamaklı dakika gösterimi, ss
iki basamaklı ikinci gösterim ve fffffff
yedi basamaklı milisaniye gösterimidir. Saat göstergesi T
dizenin tarih ve saat bölümlerini ayırır ve saat dilimi belirleyicisi TZD
bir saat dilimi belirtir.
<?xml version="1.0" encoding="utf-8"?>
<SignedIdentifiers>
<SignedIdentifier>
<Id>unique-64-character-value</Id>
<AccessPolicy>
<Start>start-time</Start>
<Expiry>expiry-time</Expiry>
<Permission>abbreviated-permission-list</Permission>
</AccessPolicy>
</SignedIdentifier>
</SignedIdentifiers>
Örnek istek
Request Syntax:
PUT https://myaccount.blob.core.windows.net/mycontainer?restype=container&comp=acl HTTP/1.1
Request Headers:
x-ms-version: 2011-08-18
x-ms-date: Sun, 25 Sep 2011 00:42:49 GMT
x-ms-blob-public-access: container
Authorization: SharedKey myaccount:V47F2tYLS29MmHPhiR8FyiCny9zO5De3kVSF0RYQHmo=
Request Body:
<?xml version="1.0" encoding="utf-8"?>
<SignedIdentifiers>
<SignedIdentifier>
<Id>MTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTI=</Id>
<AccessPolicy>
<Start>2009-09-28T08:49:37.0000000Z</Start>
<Expiry>2009-09-29T08:49:37.0000000Z</Expiry>
<Permission>rwd</Permission>
</AccessPolicy>
</SignedIdentifier>
</SignedIdentifiers>
Yanıt
Yanıt bir HTTP durum kodu ve bir dizi yanıt üst bilgisi içerir.
Durum kodu
Başarılı bir işlem 200 (Tamam) durum kodunu döndürür.
Durum kodları hakkında daha fazla bilgi için bkz. Durum ve hata kodları.
Yanıt üst bilgileri
Bu işlemin yanıtı aşağıdaki üst bilgileri içerir. Yanıt ek standart HTTP üst bilgileri de içerebilir. Tüm standart üst bilgiler HTTP/1.1 protokol belirtimine uygundur.
Yanıt üst bilgisi | Description |
---|---|
ETag |
Kapsayıcı için ETag. İstek sürümü 2011-08-18 veya üzeriyse, ETag değeri tırnak içine alınır. |
Last-Modified |
Kapsayıcının en son değiştirildiği tarih ve saati döndürür. Tarih biçimi RFC 1123'e göredir. Daha fazla bilgi için bkz. Üst bilgilerde tarih/saat değerlerini temsil edin. Kapsayıcıyı veya kapsayıcının özelliklerini veya meta verilerini değiştiren tüm işlemler, kapsayıcının izinlerini ayarlama da dahil olmak üzere son değiştirme zamanını güncelleştirir. Bloblardaki işlemler kapsayıcının son değiştirme zamanını etkilemez. |
x-ms-request-id |
Yapılan isteği benzersiz olarak tanımlar ve isteğin sorunlarını gidermek için kullanılabilir. Daha fazla bilgi için bkz . API işlemleriyle ilgili sorunları giderme |
x-ms-version |
İsteği yürütmek için kullanılan Blob hizmeti sürümünü gösterir. Bu üst bilgi, 2009-09-19 ve sonraki sürümlerde yapılan istekler için döndürülür. |
Date |
Hizmet tarafından oluşturulan ve yanıtın başlatıldığı saati gösteren UTC tarih/saat değeri. |
x-ms-client-request-id |
İsteklerde ve karşılık gelen yanıtlarda sorun gidermek için kullanılabilir. Bu üst bilginin değeri, istekte varsa ve değer 1.024'ten fazla görünür ASCII karakteri içermiyorsa üst bilginin değerine x-ms-client-request-id eşittir. İstekte x-ms-client-request-id üst bilgi yoksa yanıtta bulunmaz. |
Örnek yanıt
Response Status:
HTTP/1.1 200 OK
Response Headers:
Transfer-Encoding: chunked
Date: Sun, 25 Sep 2011 22:42:55 GMT
ETag: "0x8CB171613397EAB"
Last-Modified: Sun, 25 Sep 2011 22:42:55 GMT
x-ms-version: 2011-08-18
Server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0
Yetkilendirme
İşlem Set Container ACL
yalnızca Paylaşılan Anahtar yetkilendirmesini destekler.
Açıklamalar
Kapsayıcının sahibi kapsayıcı üzerindeki izinleri ayarlayarak kapsayıcı kaynaklarının genel erişim için kullanılabilir olduğunu belirtmediği veya kapsayıcı içindeki bir kaynak için paylaşılan erişim imzası vermediği sürece, yalnızca hesap sahibi belirli bir kapsayıcıdaki kaynaklara erişebilir.
Bir kapsayıcının izinlerini ayarladığınızda, var olan izinler değiştirilir. Kapsayıcının izinlerini güncelleştirmek için Kapsayıcı ACL'sini Al'ı çağırarak kapsayıcıyla ilişkili tüm erişim ilkelerini getirin. Değiştirmek istediğiniz erişim ilkesini değiştirin ve ardından güncelleştirmeyi gerçekleştirmek için tam veri kümesiyle çağrısı Set Container ACL
yapın.
Kapsayıcı verilerinde anonim genel erişimi etkinleştirme
Kapsayıcı verilerinde anonim genel okuma erişimini etkinleştirmek için üst bilgi veya blob
olarak ayarlanmış olarak container
çağrısında Set Container ACL
x-ms-blob-public-access
bulunur. Anonim erişimi devre dışı bırakmak için üst bilgiyi belirtmeden öğesini çağırın Set Container ACL
x-ms-blob-public-access
.
olarak blob
ayarlarsanızx-ms-blob-public-access
, istemciler aşağıdaki işlemleri anonim olarak çağırabilir:
Blok Listesini Al (yalnızca kaydedilmiş blok listesi için)
olarak container
ayarlarsanızx-ms-blob-public-access
, istemciler aşağıdaki işlemleri anonim olarak çağırabilir:
Önceki bölümde listelenen blob erişim işlemleri.
Kapsayıcı düzeyinde erişim ilkeleri oluşturma
Depolanan erişim ilkesi, ilişkili olduğu paylaşılan erişim imzaları için başlangıç saatini, süre sonunu ve izinleri belirtebilir. Kapsayıcınıza veya blob kaynağınıza erişimi nasıl denetlemek istediğinize bağlı olarak, bu parametrelerin tümünü depolanmış erişim ilkesi içinde belirtebilir ve paylaşılan erişim imzasının URL'sinden atlayabilirsiniz. Bunu yaparak, ilişkili imzanın davranışını istediğiniz zaman değiştirebilir veya iptal edebilirsiniz. Alternatif olarak, depolanmış erişim ilkesi içinde bir veya daha fazla erişim ilkesi parametresi ve URL'de diğerlerini belirtebilirsiniz. Son olarak, URL'de tüm parametreleri belirtebilirsiniz. Bu durumda, saklı erişim ilkesini kullanarak imzayı iptal edebilir, ancak davranışını değiştiremezsiniz. Daha fazla bilgi için bkz. Saklı erişim ilkesi tanımlama.
Paylaşılan erişim imzası ve depolanmış erişim ilkesi birlikte, imzayı yetkilendirmek için gereken tüm alanları içermelidir. Gerekli alanlar eksikse istek başarısız olur. Benzer şekilde, bir alan hem paylaşılan erişim imzası URL'sinde hem de depolanmış erişim ilkesinde belirtilirse, istek 400 (Hatalı İstek) durum koduyla başarısız olur.
En fazla, tek bir kapsayıcı için herhangi bir zamanda beş ayrı erişim ilkesi ayarlanabilir. İstek gövdesine beşten fazla erişim ilkesi geçirilirse, hizmet 400 (Hatalı İstek) durum kodunu döndürür.
Paylaşılan erişim imzası, kapsayıcı verilerinin anonim okuma erişimi için kullanılabilir olup olmadığına bakılmaksızın kapsayıcıda veya blobda yayımlanabilir. Paylaşılan erişim imzası, kaynağın nasıl, ne zaman ve kim tarafından erişilebilir hale getirilebileceği üzerinde daha fazla denetim sağlar.
Not
Bir kapsayıcıda depolanmış erişim ilkesi oluşturduğunuzda, ilkenin etkili olması 30 saniyeye kadar sürebilir. Bu aralık boyunca, ilke etkin olana kadar, depolanan erişim ilkesiyle ilişkili paylaşılan erişim imzası 403 (Yasak) durum koduyla başarısız olur.
Faturalama
Fiyatlandırma istekleri, Blob Depolama API'lerini kullanan istemcilerden, doğrudan Blob Depolama REST API'si aracılığıyla veya bir Azure Depolama istemci kitaplığından kaynaklanabilir. Bu istekler işlem başına ücret tahakkuk eder. İşlem türü, hesabın ücretlendirilmeyi etkiler. Örneğin, okuma işlemleri yazma işlemlerinden farklı bir faturalama kategorisine tahakkuk eder. Aşağıdaki tabloda, depolama hesabı türüne göre istekler için Set Container ACL
faturalama kategorisi gösterilmektedir:
İşlem | Depolama hesabı türü | Faturalama kategorisi |
---|---|---|
Kapsayıcı ACL'lerini ayarlama | Premium blok blobu Standart genel amaçlı v2 |
Diğer işlemler |
Kapsayıcı ACL'lerini ayarlama | Standart genel amaçlı v1 | Yazma işlemleri |
Belirtilen faturalama kategorisinin fiyatlandırması hakkında bilgi edinmek için bkz. fiyatlandırma Azure Blob Depolama.
Ayrıca bkz.
Kapsayıcılara ve bloblara erişimi kısıtlama
Paylaşılan erişim imzası ile temsilci erişimi
Paylaşılan erişim imzası oluşturma ve kullanma
Depolanan erişim ilkesi tanımlama
Kapsayıcı ACL'lerini alma
Azure Depolama'ya yönelik istekleri yetkilendirme
Durum ve hata kodları
Blob hizmeti hata kodları