Share via


Paylaşım ACL'lerini ayarlama

İşlem, Set Share ACL paylaşılan erişim imzalarıyla kullanılacak bir depolanmış erişim ilkesi ayarlar. Erişim ilkelerini ayarlama hakkında daha fazla bilgi için bkz. Paylaşılan erişim imzalarını kullanarak Azure Depolama kaynaklarına sınırlı erişim verme.

Protokol kullanılabilirliği

Etkin dosya paylaşımı protokolü Kullanılabilir
SMB Evet
NFS No

İstek

İsteği aşağıdaki gibi oluşturabilirsiniz Set Share 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.file.core.windows.net/myshare?restype=share&comp=acl HTTP/1.1

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. Azure Dosyalar 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 Tüm yetkili istekler için gereklidir. Bu istek için kullanılacak işlemin sürümünü belirtir. Bu işlem yalnızca 2015-02-21 ve sonraki sürümlerde kullanılabilir.

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. Daha fazla bilgi için bkz. İzleme Azure Blob Depolama.
x-ms-lease-id:<ID> Hedef dosya paylaşımı etkin bir kiraya sahipse gereklidir. Sürüm 2020-02-10 ve üzeri için kullanılabilir. İstek kira kimliğini içermiyorsa veya geçerli değilse işlem 412 durum koduyla başarısız olur (Önkoşul Başarısız oldu).

Bu üst bilgi belirtilirse ve hedef dosya paylaşımı şu anda etkin bir kiraya sahip değilse, işlem 412 durum koduyla başarısız olur (Önkoşul Başarısız oldu).

İstek gövdesi

Depolanan erişim ilkesi belirtmek için Set Share 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.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. 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.file.core.windows.net/myshare?restype=share&comp=acl HTTP/1.1  
  
Request Headers:  
x-ms-version: 2015-02-21  
x-ms-date: <date>  
Authorization: SharedKey myaccount:V47F2tYLS29MmHPhiR8FyiCny9zO5De3kVSF0RYQHmo=  
  
Request Body:  
<?xml version="1.0" encoding="utf-8"?>  
<SignedIdentifiers>  
  <SignedIdentifier>   
    <Id>MTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTI=</Id>  
    <AccessPolicy>  
      <Start>2015-07-01T08:49:37.0000000Z</Start>  
      <Expiry>2015-07-02T08:49:37.0000000Z</Expiry>  
      <Permission>rwd</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 200 (Tamam) durum kodunu döndürür.

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ının en son değiştirildiği tarihi 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ğerlerinin gösterimi.
Last-Modified Paylaşımı veya özelliklerini veya meta verilerini değiştiren tüm işlemler, dosyanın izinlerini ayarlamak da dahil olmak üzere son değiştirme zamanını güncelleştirir. Dosyalardaki işlemler paylaşımın son değiştirme zamanını etkilemez.
x-ms-request-id Yapılan isteği benzersiz olarak tanımlar ve istekle ilgili sorunları 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 Azure Dosyalar sürümünü gösterir.
Date veya x-ms-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 200 OK  
  
Response Headers:  
Transfer-Encoding: chunked  
Date: <date>  
ETag: "0x8CB171613397EAB"  
Last-Modified: <date>  
x-ms-version: 2015-02-21  
Server: Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0  

Yetkilendirme

Bu işlemi yalnızca hesap sahibi çağırabilir.

Açıklamalar

Aşağıdaki koşullardan biri doğru olmadığı sürece yalnızca hesap sahibi belirli bir paylaşımdaki kaynaklara erişebilir:

  • Sahip, paylaşım üzerindeki izinleri ayarlayarak paylaşım kaynaklarının genel erişim için kullanılabilir olduğunu belirtti.
  • Sahip, paylaşımdaki bir kaynak için paylaşılan erişim imzası verdi.

Kapsayıcının izinlerini ayarladığınızda, var olan izinler değiştirilir. Kapsayıcının izinlerini güncelleştirmek için Get Share ACL'yi ç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 Share ACL yapın.

Paylaşım düzeyi 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, saklı erişim ilkesini kullanarak imzayı iptal edebilir ancak davranışını değiştiremezsiniz.

Erişim ilkelerini ayarlama hakkında daha fazla bilgi için bkz. Paylaşılan erişim imzalarını kullanarak Azure Depolama kaynaklarına sınırlı erişim verme.

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. Paylaşılan erişim imzası kullanma.

Bir paylaşım 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.

Paylaşılan erişim imzası, kapsayıcı verilerinin anonim okuma erişimi için kullanılabilir olup olmadığına bakılmaksızın bir paylaşımda veya dosyada 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.

Paylaşım anlık görüntüsü için erişim ilkesi ayarlayamaz veya alamazsınız. Bir erişim ilkesi ayarlamaya çalışırsanız, hizmet 400 (InvalidQueryParameterValue) durum kodunu döndürür.

Not

Bir kapsayıcıda 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.

FileShare kaynaklarındaki işlemler (Azure Dosyalar)