Tablo ACL'lerini ayarlama

Set Table ACL işlemi, 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

Set Table ACL işlemi 2012-02-12 ve sonraki sürümlerde kullanılabilir.

Not

erişim denetimi listesi (ACL), (ACL) erişim denetimi girdilerinin listesidir. ACL'deki her ACE, bir mütevelli 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 listelerini .

İstek

Set Table ACL isteğini aşağıdaki gibi oluşturabilirsiniz. HTTPS'nin kullanılması önerilir. 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ünmüş depolama hizmetine yönelik istekte bulunurken öykünücü ana bilgisayar adını ve Azure Tablo Depolama bağlantı noktasını 127.0.0.1:10002olarak belirtin. Ardından öykünülmüş 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ştirmeiçin Azurite öykünücüsü kullanma .

URI parametreleri

İstek URI'sinde aşağıdaki ek parametreleri belirtebilirsiniz:

Parametre Açıklama
timeout Opsiyonel. 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 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 Depolama Analizi günlüklerine 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.

İstek gövdesi

Depolanan erişim ilkesi belirtmek için, Set Table 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ı içerir. SignedIdentifier, AccessPolicy öğesinde belirtildiği gibi erişim ilkesinin 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 saatine göre 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.fffffffTZD

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 fffffff yedi basamaklı milisaniye gösterimidir. T saat belirleyicisi, dizenin tarih ve saat bölümlerini ayırır. TZD saat dilimi belirleyicisi 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 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 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 bilgilerHTTP/1.1 protokol belirtimine uygundur.

Yanıt üst bilgisi Açıklama
x-ms-request-id Yapılan isteği benzersiz olarak tanımlar. ayrıca isteğin sorunlarını gidermek için de kullanabilirsiniz. Daha fazla bilgi için bkz. API işlem sorunlarını 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 İsteklerde ve ilgili yanıtlarda sorun gidermek için kullanılabilir. bu üst bilginin değeri, istekte varsa ve değer en fazla 1.024 görünür ASCII karakteriyse, x-ms-client-request-id üst bilgisinin değerine eşittir. İstekte x-ms-client-request-id üst bilgisi yoksa, bu üst bilgi yanıtta 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  
  

İ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 Table ACL işlemini yetkilandırabilirsiniz.

Microsoft Entra Id kullanarak Set Table 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/tableServices/tables/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 tablonun izinlerini ayarladığınızda, var olan izinler değiştirilir. Tablonun izinlerini güncelleştirmek için tabloyla ilişkili tüm erişim ilkelerini getirmek için Tablo ACL'sini Al çağırın. 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 Table 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. Paylaşım veya dosya kaynağınıza erişimi nasıl denetlemek istediğinize bağlı olarak şunları yapabilirsiniz:

  • Bu parametrelerin tümünü depolanan erişim ilkesi içinde belirtin ve paylaşılan erişim imzası 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 ilkesindeki 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 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, hem paylaşılan erişim imzası URL'sinde hem de depolanmış erişim ilkesinde bir alan 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 SASoluşturma .

Bir tablo için istediğiniz zaman en fazla beş ayrı erişim ilkesi ayarlayabilirsiniz. İstek gövdesinde beşten fazla erişim ilkesi geçirilirse, hizmet durum kodu 400 (Hatalı İstek) döndürür.

Not

Bir tabloda depolanan erişim ilkesi oluşturduğunuzda, etkili 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
Paylaşılan erişim imzası oluşturma ve kullanma
Paylaşılan erişim imzası erişim temsilcisi
Tablo ACL

azure depolama
istekleri yetkilendirmeyi
Durumu ve hata kodları