Kuyruk ACL'lerini ayarlama
Set Queue ACL
işlemi, sas (paylaşılan erişim imzası) ile kullanılabilecek kuyruk için depolanan erişim ilkelerini ayarlar. Daha fazla bilgi için bkz. Saklı erişim ilkesi tanımlama.
Not
Set Queue ACL
işlemi 2012-02-12 ve sonraki sürümlerde kullanılabilir.
İstek
Set Queue ACL
isteğini aşağıdaki gibi oluşturabilirsiniz. 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.queue.core.windows.net/myqueue?comp=acl |
HTTP/1.1 |
Öykünmüş depolama hizmeti isteği
Öykünmüş depolama hizmetine yönelik bir istekte bulunuyorsanız öykünücü ana bilgisayar adını ve Kuyruk hizmeti bağlantı noktasını 127.0.0.1:10001
olarak 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:10001/devstoreaccount1/myqueue?comp=acl |
HTTP/1.1 |
Daha fazla bilgi için bkz. Yerel Azure Depolama geliştirmeiçin Azurite öykünücüsü kullanma .
URI parametreleri
İstek URI'sinde aşağıdaki ek parametreleri belirtebilirsiniz:
Parametre | Açıklama |
---|---|
timeout |
Opsiyonel.
timeout parametresi saniye cinsinden ifade edilir. Daha fazla bilgi için bkz. Kuyruk 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 |
Gerekli. Yetkilendirme düzenini, hesap adını ve imzayı belirtir. Daha fazla bilgi için bkz. azure depolamaistekleri yetkilendirme |
Date veya x-ms-date |
Gerekli. İstek için Eşgüdümlü Evrensel Saati (UTC) belirtir. Daha fazla bilgi için bkz. azure depolamaistekleri yetkilendirme |
x-ms-version |
Opsiyonel. 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-client-request-id |
Opsiyonel. 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. azure kuyruk depolamaizleme |
İstek gövdesi
Depolanan erişim ilkesi belirtmek için, Set Queue ACL
işlemi için istek gövdesinde benzersiz bir tanımlayıcı ve erişim ilkesi sağlayın.
SignedIdentifier
öğesi, Id
öğesinde belirtildiği gibi benzersiz tanımlayıcıyı ve AccessPolicy
öğesinde belirtildiği gibi erişim ilkesinin ayrıntılarını içerir. Benzersiz tanımlayıcının uzunluk üst sınırı 64 karakterdir.
Start
ve Expiry
alanları UTC saatine göre 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.ffffffTZD
Bu biçimlerin tarih bölümü için YYYY
dört basamaklı bir yıl gösterimidir, MM
iki basamaklı ay gösterimidir ve DD
iki basamaklı bir gün gösterimidir. Zaman bölümü için, hh
24 saatlik gösterimdeki saat gösterimidir, mm
iki basamaklı dakika gösterimidir, ss
iki basamaklı ikinci gösterimdir ve ffffff
altı basamaklı milisaniye gösterimidir.
T
saat belirleyicisi, dizenin tarih ve saat bölümlerini ayırır ve saat dilimi belirleyicisi TZD
saat dilimini 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.queue.core.windows.net/myqueue?comp=acl HTTP/1.1
Request Headers:
x-ms-version: 2012-02-12
x-ms-date: Sun, 25 Sep 2011 00:42:49 GMT
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>raup</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 204 (İçerik Yok) 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
Örnek yanıt
Response Status:
HTTP/1.1 204 No Content
Response Headers:
Transfer-Encoding: chunked
Date: Sun, 25 Sep 2011 22:42:55 GMT
x-ms-version: 2012-02-12
Server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0
İzin
Azure Depolama'da herhangi bir veri erişim işlemi çağrılırken yetkilendirme gereklidir. Microsoft Entra Id veya Shared Key kullanarak Set Queue ACL
işlemini yetkilandırabilirsiniz.
Microsoft Entra Id kullanarak Set Queue ACL
işlemini yetkilendirmek için, güvenlik sorumlusunun aşağıdaki RBAC eylemini içeren özel bir Azure RBAC rolüne ihtiyacı vardır: Microsoft.Storage/storageAccounts/queueServices/queues/setAcl/action
.
Önemli
Microsoft, Azure Depolama'ya yönelik istekleri yetkilendirmek için Yönetilen kimliklerle Microsoft Entra Id kullanılmasını önerir. Microsoft Entra ID, Paylaşılan Anahtar yetkilendirmesine kıyasla üstün güvenlik ve kullanım kolaylığı sağlar.
Açıklamalar
Bir kuyruk için izinleri ayarladığınızda, var olan izinler değiştirilir. Kuyruğun izinlerini güncelleştirmek için Kuyruk ACL'sini Al çağırarak kuyrukla 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 Set Queue ACL
çağırın.
Depolanan 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. Kuyruk kaynağınıza erişimi nasıl denetlemek istediğinize bağlı olarak, bu parametrelerin tümünü depolanan erişim ilkesi içinde belirtebilir ve paylaşılan erişim imzası 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, depolanan erişim ilkesini kullanarak imzayı iptal edebilir, ancak davranışını değiştiremezsiniz. Erişim ilkeleri oluşturma hakkında daha fazla bilgi için bkz.Saklı erişim ilkesi tanımlama
Paylaşılan erişim imzası ve depolanan 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, her zaman tek bir kuyruk için beş ayrı erişim ilkesi ayarlanabilir. İstek gövdesinde beşten fazla erişim ilkesi geçirilirse, hizmet durum kodu 400 (Hatalı İstek) döndürür.
Kuyrukta depolanan erişim ilkesi oluşturduğunuzda, etkin olması 30 saniye kadar sürebilir. Bu aralık boyunca, depolanan erişim ilkesiyle ilişkili paylaşılan erişim imzası, erişim ilkesi etkin olana kadar 403 (Yasak) durum koduyla başarısız olur.
Ayrıca bkz.
Depolanan erişim ilkesi tanımlama
Kuyruk ACL'lerini alma
azure depolama istekleri yetkilendirmeyi
Durumu ve hata kodları