Tablo ACL'lerini ayarlama
İşlem, Set Table ACL
paylaşılan erişim imzalarıyla kullanılabilecek tablo için depolanan erişim ilkelerini ayarlar. Daha fazla bilgi için bkz. Saklı erişim ilkesi tanımlama.
Not
İşlem Set Table ACL
2012-02-12 ve sonraki sürümlerde kullanılabilir.
Not
Erişim denetimi listesi (ACL), erişim denetimi girdilerinin (ACL) listesidir. ACL'deki her ACE bir mütevelliyi tanımlar ve bu güvenen için izin verilen, reddedilen veya denetlenen erişim haklarını belirtir. Daha fazla bilgi için bkz . Erişim denetim listeleri.
İstek
İsteği aşağıdaki gibi oluşturabilirsiniz Set Table ACL
. 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.table.core.windows.net/mytable?comp=acl |
HTTP/1.1 |
Öykünmüş depolama hizmeti URI'si
Öykünülen depolama hizmetine karşı istekte bulunurken öykünücü ana bilgisayar adını ve Azure Tablo Depolama bağlantı noktasını olarak 127.0.0.1:10002
belirtin. Ardından öykünülen depolama hesabı adını ekleyin.
Yöntem | İstek URI'si | HTTP sürümü |
---|---|---|
PUT |
http://127.0.0.1:10002/devstoreaccount1/mytable?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ı. Saniye cinsinden ifade edilir. Daha fazla bilgi için bkz. Tablo Depolama işlemleri için zaman aşımlarını ayarlama. |
İstek üst bilgileri
Aşağıdaki tabloda gerekli ve isteğe bağlı istek üst bilgileri açıklanmaktadı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 isteklerini 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 isteklerini 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-client-request-id |
İsteğe bağlı. Günlüğe kaydetme yapılandırıldığında Depolama Analizi günlüklerine kaydedilen 1 kibibayt (KiB) karakter sınırına sahip 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. |
İstek gövdesi
Depolanan erişim ilkesi belirtmek için Set Table 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ı Id
içerir.
SignedIdentifier
ayrıca öğesinde belirtildiği gibi erişim ilkesinin AccessPolicy
ayrıntılarını da 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 şunlardır:
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 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 ffffff
altı basamaklı milisaniye gösterimidir. Zaman göstergesi T
, dizenin tarih ve saat bölümlerini ayırır. 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.table.core.windows.net/mytable?comp=acl HTTP/1.1
Request Headers:
x-ms-version: 2013-08-15
x-ms-date: Mon, 25 Nov 2013 00:42:49 GMT
Authorization: SharedKey myaccount:V47F2tYLS29MmHPhiR8FyiCny9zO5De3kVSF0RYQHmo=
Request Body:
<?xml version="1.0" encoding="utf-8"?>
<SignedIdentifiers>
<SignedIdentifier>
<Id>MTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTI=</Id>
<AccessPolicy>
<Start>2013-11-26T08:49:37.0000000Z</Start>
<Expiry>2013-11-27T08:49:37.0000000Z</Expiry>
<Permission>raud</Permission>
</AccessPolicy>
</SignedIdentifier>
</SignedIdentifiers>
Yanıt
Yanıt bir HTTP durum kodu ve yanıt üst bilgileri kümesi içerir.
Durum kodu
Başarılı bir işlem 204 (İçerik Yok) durum kodunu döndürür.
Durum kodları hakkında 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 |
---|---|
x-ms-request-id |
Yapılan isteği benzersiz olarak tanımlar. İsteğin sorunlarını gidermek için de kullanabilirsiniz. Daha fazla bilgi için bkz. API işlemleriyle ilgili sorunları giderme. |
x-ms-version |
İsteği yürütmek için kullanılan Tablo Depolama 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 |
Hizmetin yanıtı gönderdiği saati gösteren utc tarih/saat değeri. |
x-ms-client-request-id |
İsteklerin ve karşılık gelen yanıtların sorunlarını gidermek için kullanılabilir. Bu üst bilginin değeri, istekte mevcutsa ve değer en fazla 1.024 görünür ASCII karakteriyse üst bilginin değerine x-ms-client-request-id eşittir. İstekte x-ms-client-request-id üst bilgi yoksa, yanıtta bu üst bilgi mevcut olmaz. |
Örnek yanıt
Response Status:
HTTP/1.1 204 No Content
Response Headers:
Transfer-Encoding: chunked
Date: Mon, 25 Nov 2013 22:42:55 GMT
x-ms-version: 2013-08-15
Server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0
Yetkilendirme
Bu işlemi yalnızca hesap sahibi çağırabilir.
Açıklamalar
Tablodaki bir kaynak için paylaşılan erişim imzası vermediği sürece, yalnızca hesap sahibi belirli bir tablodaki kaynaklara erişebilir.
Bir tablonun izinlerini ayarladığınızda, var olan izinler değiştirilir. Tablonun izinlerini güncelleştirmek için Tablo Al ACL'sini çağırarak tabloyla 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 Table ACL
yapı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. Paylaşım veya dosya kaynağınıza erişimi nasıl denetlemek istediğinize bağlı olarak şunları yapabilirsiniz:
- Bu parametrelerin tümünü depolanmış erişim ilkesi içinde belirtin ve paylaşılan erişim imzasının URL'sinden atlar. Bunu yaptığınızda ilişkili imzanın davranışını değiştirebilir veya istediğiniz zaman iptal edebilirsiniz.
- Depolanan erişim ilkesi içindeki bir veya daha fazla erişim ilkesi parametresini belirtin ve URL'de diğer parametreleri belirtin.
- URL'de tüm parametreleri belirtin. 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 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. Paylaşılan erişim imzası oluşturan alanlar hakkında daha fazla bilgi için bkz. Hizmet SAS'ı oluşturma.
Bir tablo için istediğiniz zaman en fazla beş ayrı erişim ilkesi ayarlayabilirsiniz. İstek gövdesine beşten fazla erişim ilkesi geçirilirse, hizmet 400 (Hatalı İstek) durum kodunu döndürür.
Not
Bir tabloda depolanmış erişim ilkesi oluşturduğunuzda, etkili olması 30 saniyeye kadar sürebilir. Bu aralık boyunca, depolanan erişim ilkesiyle ilişkili paylaşılan erişim imzası, erişim ilkesi etkin olana kadar durum kodu 403 (Yasak) ile başarısız olur.
Ayrıca bkz.
Depolanan erişim ilkesi tanımlama
Paylaşılan erişim imzası oluşturma ve kullanma
Paylaşılan erişim imzası ile temsilci erişimi
Tablo ACL'lerini alma
Azure Depolama'ya yönelik istekleri yetkilendirme
Durum ve hata kodları