Azure Data Lake Depolama 2. Nesil'de erişim denetim listeleri (ACL'ler)

Azure Data Lake Depolama 2. Nesil, hem Azure rol tabanlı erişim denetimi (Azure RBAC) hem de POSIX gibi erişim denetim listelerini (ACL) destekleyen bir erişim denetimi modeli sunar. Bu makalede Data Lake Depolama 2. Nesil'de erişim denetimi listeleri açıklanmıştır. Azure RBAC'yi ACL'lerle birlikte dahil etmeyi ve sistemin bunları yetkilendirme kararları almak üzere nasıl değerlendirip değerlendirip değerlendirmesini öğrenmek için bkz. Azure Data Lake'te erişim denetimi modeli Depolama 2. Nesil.

ACL'ler hakkında

Bir güvenlik sorumlularını dosyalar ve dizinler için erişim düzeyiyle ilişkilendirilebilirsiniz. Her ilişkilendirme, bir erişim denetim listesinde (ACL) bir girdi olarak yakalanır. Depolama hesabınızla ilgili her dosya ve dizinin bir erişim denetimi listesi vardır. Bir güvenlik sorumlusu bir dosya veya dizin üzerinde işlem gerçekleştirmeye çalışırsa, ACL denetimi güvenlik sorumlusun (kullanıcı, grup, hizmet sorumlusu veya yönetilen kimlik) işlemi gerçekleştirmek için doğru izin düzeyine sahip olup olmadığını belirler.

Not

ACL'ler yalnızca aynı kiracıda yer alan güvenlik sorumluları için geçerlidir ve Paylaşılan Anahtar veya paylaşılan erişim imzası (SAS) belirteci kimlik doğrulaması kullanan kullanıcılar için geçerli değildir. Bunun nedeni, çağıranın hiçbir kimliği ile ilişkili olması ve bu nedenle güvenlik sorumlusu izin tabanlı yetkilendirmenin gerçekleştirilenene bir şey olmasıdır.

ACL'leri ayarlama

Dosya ve dizin düzeyi izinlerini ayarlamak için aşağıdaki makalelerden herhangi birini okuyun:

Ortam Makale
Azure Depolama Gezgini Azure Data Lake Azure Depolama Gezgini 2. Nesil'de ACL'Depolama kullanma
Azure portal Azure Data Lake Azure portal 2. Nesil'de ACL'Depolama kullanın
.NET Azure Data Lake Depolama 2. Nesil'de ACL'leri yönetmek için .NET kullanma
Java Azure Data Lake Depolama 2. Nesil'de ACL'leri yönetmek için Java kullanma
Python Azure Data Lake Depolama 2. Nesil'de ACL'leri yönetmek için Python kullanma
JavaScript (Node.js) Azure Data Lake Node.js 2. Nesil'de ACL'leri yönetmek için Depolama sdk'sı kullanma
PowerShell Azure Data Lake Depolama 2. Nesil'de ACL'leri yönetmek için PowerShell kullanma
Azure CLI Azure Data Lake Depolama 2. Nesil'de ACL'leri yönetmek için Azure CLI kullanma
REST API Yol - Güncelleştirme

Önemli

Güvenlik sorumlusu bir hizmet sorumlusu ise, ilgili uygulama kaydının nesne kimliğini değil, hizmet sorumlusu nesne kimliğini kullanmak önemlidir. Hizmet sorumlusu nesne kimliğini almak için Azure CLI'sini açın ve şu komutu kullanın: az ad sp show --id <Your App ID> --query objectId . yer tutucusunu uygulama <Your App ID> kaydınıza ek olarak Uygulama Kimliği ile değiştir

ACL türleri

İki tür erişim denetim listesi vardır: erişim ACL'leri ve varsayılan ACL'ler.

Erişim ACL'leri bir nesneye erişimi kontrol eder. Hem dosya hem de dizinlerin erişim ACL'leri vardır.

Varsayılan ACL'ler, bu dizin altında oluşturulan tüm alt öğeler için erişim ACL'lerini belirleyen bir dizinle ilişkili ACL'lerin şablonlarıdır. Dosyaların varsayılan ACL'leri yok.

Hem erişim ACL'leri hem de varsayılan ACL'ler aynı yapıya sahiptir.

Not

Üst öğede varsayılan ACL'nin değiştirilmesi, zaten mevcut olan alt öğelerin erişim ACL'sini veya varsayılan ACL'sini etkilemez.

İzin düzeyleri

Kapsayıcıdaki dizinler ve dosyalar üzerinde izinler Okuma, Yazma ve Yürütme izinleridir ve aşağıdaki tabloda gösterildiği gibi dosya ve dizinlerde kullanılabilir:

Dosya Dizin
Okuma (R) Bir dosyanın içeriğini okuyabilir Dizinin içeriğinin liste için Okuma ve Yürütme gerekir
Yazma (W) Bir dosyaya yazabilir veya ekleyebilir Bir dizinde alt öğe oluşturmak için Yazma ve Yürütme gerektirir
Yürütme (X) Data Lake Depolama 2. Nesil bağlamında hiçbir şey ifade Depolama değildir Bir dizinin alt öğelerini çapraz geçiş yapmak için gereklidir

Not

İzinleri yalnızca ACL'leri kullanarak (Azure RBAC'yi değil) kullanıyorsanız, bir güvenlik sorumlusuna bir dosyaya okuma veya yazma erişimi vermek için, güvenlik sorumlusuna kapsayıcının kök klasörüne ve dosyayla ilgili klasör hiyerarşisinde yer alan her klasöre Yürütme izinleri verebilirsiniz.

İzinlerin kısaltmaları

RWX, Okuma + Yazma + Yürütme için kullanılır. Okuma=4, Yazma=2 ve Yürütme=1 olup toplamları izinleri temsil eden daha da kısaltılmış bir sayısal biçim mevcuttur. Bazı örnekler aşağıda verilmiştir.

Sayısal biçim Kısa biçim Anlamı
7 RWX Okuma + Yazma + Yürütme
5 R-X Okuma + Yürütme
4 R-- Okuma
0 --- İzin yok

İzin devralma

Data Lake Depolama 2. Nesil tarafından kullanılan POSIX stili modelde, öğenin izinleri öğenin kendisinde depolanır. Diğer bir deyişle, izinler alt öğe oluşturulduktan sonra ayarlanırsa bir öğenin izinleri üst öğelerden devralınamaz. İzinler yalnızca alt öğeler oluşturulmadan önce üst öğelerde varsayılan izinler ayarlanmışsa devralınır.

Aşağıdaki tabloda, bir güvenlik sorumlusuna İşlem sütununda listelenen işlemleri gerçekleştirmek için gereken ACL girişleri gösterilir.

Bu tabloda kurgusal bir dizin hiyerarşisinin her düzeyini temsil eden bir sütun bulunur. Kapsayıcının kök dizini ( ) için bir sütun, Oregon adlı bir alt dizin, Portland adlı Bir Portland dizininin alt dizini ve Portland dizinindeData.txtadlı bir metin dosyası / vardır. ****

Önemli

Bu tabloda, herhangi bir Azure rol ataması olmadan yalnızca ACL'ler kullanmakta olduğu varsayıldı. Azure RBAC'yi ACL'lerle birleştiren benzer bir tablo görmek için bkz. İzinler tablosu: Azure RBAC ve ACL'yi birleştirme.

İşlem / Oregon/ Portland/ Data.txt
Okuma Data.txt --X --X --X R--
Ekleme Data.txt --X --X --X RW-
Silme Data.txt --X --X -WX ---
Yeni Data.txt --X --X -WX ---
Listele / R-X --- --- ---
List /Oregon/ --X R-X --- ---
List /Portland/Portland/ --X --X R-X ---

Not

Önceki iki koşullar doğru olduğu sürece dosyayı silmek için dosya üzerinde yazma izinleri gerekli değildir.

Kullanıcılar ve kimlikler

Her dosya ve dizin bu kimlikler için ayrı izinlere sahip olur:

  • Sahip olan kullanıcı
  • Sahip olan grup
  • Adlandırılmış kullanıcılar
  • Adlandırılmış gruplar
  • Adlandırılmış hizmet sorumluları
  • Adlandırılmış Yönetilen kimlikler
  • Diğer tüm kullanıcılar

Kullanıcıların ve grupların kimlikleri, Azure Active Directory (Azure AD) kimlikleridir. bu nedenle, aksi belirtilmediği takdirde, Data Lake Storage 2. bağlamında bir kullanıcı Azure AD kullanıcısına, hizmet sorumlusuna, yönetilen kimliğe veya güvenlik grubuna başvurabilir.

Sahip olan kullanıcı

Öğeyi oluşturan kullanıcı otomatik olarak öğenin sahibi olan kullanıcıdır. Sahip olan kullanıcı şunları yapabilir:

  • Sahip olunan bir dosyanın izinlerini değiştirme.
  • Sahip olan kullanıcı aynı zamanda hedef grubun bir üyesi oldukça, sahip olunan bir dosyanın sahibi olan grubunu değiştirme.

Not

Sahip olan Kullanıcı, bir dosyanın veya dizinin sahibi olan kullanıcısını değiştiremiyor. Yalnızca süper kullanıcılar bir dosyanın veya dizinin sahibi olan kullanıcısını değiştirebilir.

Sahip olan grup

POSIX ACL 'lerinde, her Kullanıcı bir birincil grupla ilişkilendirilir. Örneğin, "Gamze" kullanıcısı "Finans" grubuna ait gelebilir. Gamze birden çok gruba ait olabilir, ancak bir grup her zaman birincil grubu olarak atanır. POSIX’te Gamze bir dosya oluşturduğunda o dosyanın sahibi olan grup birincil grubu olarak ayarlanır (bu örnekte "finans" grubudur). Aksi takdirde sahip olan grup, diğer kullanıcılar/gruplar için atanan izinlere benzer şekilde davranır.

Yeni bir dosya veya dizin için sahip olan grup atanıyor

  • Durum 1: Kök dizin / . bu dizin Data Lake Storage 2. bir kapsayıcı oluşturulduğunda oluşturulur. Bu durumda sahip olan Grup, OAuth kullanılarak yapıldıysa kapsayıcıyı oluşturan kullanıcıya ayarlanır. Kapsayıcı paylaşılan anahtar, hesap SAS veya hizmet SAS kullanılarak oluşturulduysa, sahip ve sahip olan grup olarak ayarlanır $superuser .
  • Durum 2 (diğer her durum): Yeni bir öğe oluşturulduğunda sahip olan grup üst dizinden kopyalanır.

Sahip olan grubu değiştirme

Sahip olan grup aşağıdakiler tarafından değiştirilebilir:

  • Herhangi bir süper kullanıcı.
  • Sahip olan kullanıcı aynı zamanda hedef grubun üyesi ise sahip olan kullanıcı.

Not

Sahip olan Grup, bir dosyanın veya dizinin ACL 'Lerini değiştiremiyor. Sahip olan Grup, yukarıdaki durum 1 olan kök dizin durumunda hesabı oluşturan kullanıcıya ayarlandığı sürece, sahip olan grup aracılığıyla izin sağlamak için tek bir kullanıcı hesabı geçerli değildir. Uygunsa bu izni geçerli bir kullanıcı hesabına atayabilirsiniz.

İzinler nasıl değerlendirilir

Kimlikler aşağıdaki sırayla değerlendirilir:

  1. Süper Kullanıcı
  2. Sahip olan kullanıcı
  3. Adlandırılmış Kullanıcı, hizmet sorumlusu veya yönetilen kimlik
  4. Sahip olan grup veya adlandırılmış Grup
  5. Diğer tüm kullanıcılar

Bu kimliklerden birden fazlası güvenlik sorumlusu için geçerliyse, ilk kimlikle ilişkili izin düzeyi verilir. Örneğin, bir güvenlik sorumlusu hem sahip olan kullanıcı hem de adlandırılmış bir kullanıcı ise, sahip olan kullanıcı ile ilişkili izin düzeyi geçerli olur.

Aşağıdaki sözde kod, depolama hesapları için erişim denetimi algoritmasını temsil eder. Bu algoritma, kimliklerin değerlendirildiği sırayı gösterir.

def access_check( user, desired_perms, path ) :
  # access_check returns true if user has the desired permissions on the path, false otherwise
  # user is the identity that wants to perform an operation on path
  # desired_perms is a simple integer with values from 0 to 7 ( R=4, W=2, X=1). User desires these permissions
  # path is the file or directory
  # Note: the "sticky bit" isn't illustrated in this algorithm

  # Handle super users.
  if (is_superuser(user)) :
    return True

  # Handle the owning user. Note that mask isn't used.
  entry = get_acl_entry( path, OWNER )
  if (user == entry.identity)
      return ( (desired_perms & entry.permissions) == desired_perms )

  # Handle the named users. Note that mask IS used.
  entries = get_acl_entries( path, NAMED_USER )
  for entry in entries:
      if (user == entry.identity ) :
          mask = get_mask( path )
          return ( (desired_perms & entry.permissions & mask) == desired_perms)

  # Handle named groups and owning group
  member_count = 0
  perms = 0
  entries = get_acl_entries( path, NAMED_GROUP | OWNING_GROUP )
  mask = get_mask( path )
  for entry in entries:
    if (user_is_member_of_group(user, entry.identity)) :
        if ((desired_perms & entry.permissions & mask) == desired_perms)
            return True

  # Handle other
  perms = get_perms_for_other(path)
  mask = get_mask( path )
  return ( (desired_perms & perms & mask ) == desired_perms)

Maske

Erişim denetimi algoritmasında gösterildiği gibi, maske adlandırılmış kullanıcılar, sahip olan grup ve adlandırılmış gruplar için erişimi sınırlandırır.

yeni bir Data Lake Storage 2. kapsayıcısı için, kök dizinin ("/") erişim ACL 'si için maske, dizinler için 750, dosyalar için 640 olarak varsayılan olarak . Aşağıdaki tabloda bu izin düzeylerinin sembolik gösterimi gösterilmektedir.

Varlık Dizinler Dosyalar
Sahip olan kullanıcı rwx rw-
Sahip olan grup r-x r--
Diğer --- ---

Dosyalar yalnızca mağaza sistemindeki dosyalara ait olduğundan, X bitini almaz.

Maske, arama başına temelinde belirtilebilir. Bu, kümeler gibi farklı tüketim sistemlerinin dosya işlemleri için farklı etkin maskelerle çalışmasına izin verir. Belirli bir istekte bir maske belirtilmişse, varsayılan maskeyi tamamen geçersiz kılar.

Yapışkan bit

Yapışkan bit, POSIX kapsayıcısının daha gelişmiş bir özelliğidir. Data Lake Storage 2. bağlamında, yapışkan bitin gerekli olacağı pek olası bir olasılıktır. Özet ' te, bir dizinde yapışkan bit etkinse, alt öğe yalnızca alt öğenin sahibi olan kullanıcı tarafından silinebilir veya yeniden adlandırılabilir.

Yapışkan bit Azure portal gösterilmez.

Yeni dosya ve dizinlerde varsayılan izinler

Mevcut bir dizin altında yeni bir dosya veya dizin oluşturulduğunda, üst dizindeki varsayılan ACL şunları belirler:

  • Alt dizinin varsayılan ACL 'si ve erişim ACL 'SI.
  • Alt dosyanın erişim ACL 'SI (dosyaları varsayılan ACL 'ye sahip değildir).

umask

Bir dosya veya dizin oluştururken, varsayılan ACL 'Lerin alt öğede nasıl ayarlandığını değiştirmek için umask kullanılır. umask, sahip olan Kullanıcı, sahip olan grup ve diğer için bir RWX değeri içeren üst dizinlerdeki 9 bitlik bir değerdir.

umask, 007 olarak ayarlanan sabit bir değer Azure Data Lake Storage 2.. Bu değer şunu yapar:

umask bileşeni Sayısal biçim Kısa biçim Anlamı
umask.owning_user 0 --- Sahip olan kullanıcı için, üst öğenin varsayılan ACL 'sini alt öğenin erişim ACL 'sine kopyalayın
umask.owning_group 0 --- Sahip olan grup için üst öğenin varsayılan ACL 'sini alt öğenin erişim ACL 'sine kopyalayın
uımask. other 7 RWX Diğer bir deyişle, alt öğenin erişim ACL 'sindeki tüm izinleri kaldırın

Azure Data Lake Storage 2. tarafından kullanılan umask değeri, ana dizinde varsayılan bir ACL tanımlanmadığı müddetçe, diğer için varsayılan olarak yeni alt klasörlerde hiçbir şekilde iletilmediği anlamına gelir. Bu durumda, umask etkin bir şekilde yok sayılır ve varsayılan ACL tarafından tanımlanan izinler alt öğeye uygulanır.

Aşağıdaki sözde kod, bir alt öğe için ACL 'Ler oluştururken umask 'in nasıl uygulanacağını gösterir.

def set_default_acls_for_new_child(parent, child):
    child.acls = []
    for entry in parent.acls :
        new_entry = None
        if (entry.type == OWNING_USER) :
            new_entry = entry.clone(perms = entry.perms & (~umask.owning_user))
        elif (entry.type == OWNING_GROUP) :
            new_entry = entry.clone(perms = entry.perms & (~umask.owning_group))
        elif (entry.type == OTHER) :
            new_entry = entry.clone(perms = entry.perms & (~umask.other))
        else :
            new_entry = entry.clone(perms = entry.perms )
        child_acls.add( new_entry )

SSS

ACL desteğini etkinleştirmem gerekiyor mu?

Hayır. Hiyerarşik ad alanı (HNS) özelliği açık olduğu sürece bir depolama hesabı için ACL 'Ler aracılığıyla erişim denetimi etkinleştirilir.

HNS kapalıysa, Azure Azure RBAC yetkilendirme kuralları yine de geçerlidir.

ACL 'Leri uygulamak için en iyi yol nedir?

Her zaman Azure AD güvenlik gruplarını bir ACL girişinde atanan sorumlu olarak kullanın. Bireysel kullanıcıları veya hizmet sorumlularını doğrudan atamaya yönelik fırsatı yeniden ölçeklendirin. Bu yapının kullanılması, ACL 'Leri tüm dizin yapısına yeniden uygulama gereksinimi olmadan Kullanıcı veya hizmet sorumluları eklemenize ve kaldırmanıza olanak tanır. Bunun yerine, uygun Azure AD güvenlik grubundan kullanıcıları ve hizmet sorumlularını yalnızca ekleyebilir veya kaldırabilirsiniz.

Grupları kurmanın birçok farklı yolu vardır. Örneğin, sunucunuz tarafından oluşturulan günlük verilerini tutan, /logData adlı bir dizininiz olduğunu düşünün. Verileri bu klasöre Azure Data Factory (ADF). Hizmet Mühendisliği ekibinin belirli kullanıcıları günlükleri karşıya yükler ve bu klasörün diğer kullanıcılarını yönetir ve çeşitli Databricks kümeleri bu klasördeki günlükleri analiz eder.

Bu etkinlikleri etkinleştirmek için bir LogsWriter Grup ve LogsReader grup oluşturabilirsiniz. Ardından, izinleri aşağıdaki gibi atayabilirsiniz:

  • LogsWriterGrubu /logData dizininin ACL 'sine rwx izinlerle ekleyin.
  • LogsReaderGrubu /logData dizininin ACL 'sine r-x izinlerle ekleyin.
  • ADF için hizmet sorumlusu nesnesini veya Yönetilen Hizmet Kimliği (MSI) öğesini LogsWriters gruba ekleyin.
  • Hizmet Mühendisliği ekibine kullanıcıları LogsWriter gruba ekleyin.
  • Databricks için hizmet sorumlusu nesnesini veya MSI 'ı LogsReader gruba ekleyin.

Hizmet Mühendisliği ekibinizdeki bir kullanıcı şirketten ayrılırsa, onları gruptan kaldırmanız yeterlidir LogsWriter . Bu kullanıcıyı bir gruba eklemediyseniz, bu kullanıcı için adanmış bir ACL girişi eklediyseniz, bu ACL girişini /logData dizininden kaldırmanız gerekir. Girişi, /logData dizininin tüm dizin hiyerarşisindeki tüm alt dizinlerden ve dosyalardan de kaldırmanız gerekir.

Bir grup oluşturmak ve üye eklemek için bkz. Azure Active Directory kullanarak temel Grup oluşturma ve üye ekleme.

Azure RBAC ve ACL izinleri nasıl değerlendirilir?

Sistemin depolama hesabı kaynakları için yetkilendirme kararları vermesini sağlamak üzere Azure RBAC ve ACL 'Leri birlikte nasıl değerlendirdiğini öğrenmek için, bkz. Izinlerin nasıl değerlendirildiği.

Azure rol atamaları ve ACL girdileri sınırları nelerdir?

Aşağıdaki tabloda, Azure RBAC kullanılırken "kaba" izinleri (depolama hesapları veya kapsayıcılar için uygulanan izinler) ve ACL 'Leri kullanarak "hassas" izinleri (dosyalar ve dizinler için uygulanan izinler) yönetmek için göz önünde bulundurmanız gereken limitlerin Özet görünümü verilmektedir. ACL atamaları için güvenlik gruplarını kullanın. Grupları kullanarak abonelik başına rol ataması sayısı üst sınırını ve dosya veya dizin başına en fazla ACL girişi sayısını aşma ihtimaliniz daha düşüktür.

Mechanism Kapsam Sınırlar Desteklenen izin düzeyi
Azure RBAC Depolama hesapları, kapsayıcılar.
Abonelikte veya kaynak grubu düzeyinde Azure rolü atamaları çapraz kaynağı.
abonelik içindeki 2000 Azure rol atamaları Azure rolleri (yerleşik veya özel)
TEMEDI Dizin, dosya dosya başına ve Dizin başına 32 ACL girişi (etkin 28 ACL girişi). Erişim ve varsayılan ACL 'Lerin her biri kendi 32 ACL girdisi sınırına sahiptir. ACL izni

Data Lake Depolama 2. Nesil, Azure RBAC'nin devralmasını destekliyor mu?

Azure rol atamaları devralınabilir. Atamalar abonelik, kaynak grubu ve depolama hesabı kaynaklarından kapsayıcı kaynağına doğru akar.

Data Lake Depolama 2. Nesil ACL'lerin devralınımını destekliyor mu?

Varsayılan ACL'ler, üst dizin altında oluşturulan yeni alt dizinler ve dosyalar için ACL'ler ayarlamak için kullanılabilir. Mevcut alt öğelerin ACL'lerini güncelleştirmek için, istenen dizin hiyerarşisi için ACL'leri tekrarlı olarak eklemeniz, güncelleştirmeniz veya kaldırmanız gerekir. Rehberlik için bu makalenin ACL'leri ayarlama bölümüne bakın.

Bir dizini ve içeriğini tekrar tekrar silmek için hangi izinler gereklidir?

  • Çağıranın 'süper kullanıcı' izinleri vardır,

Veya

  • Üst dizin Yazma + Yürütme izinlerine sahip olmalıdır.
  • Silinecek dizin ve içindeki her dizin Okuma + Yazma + Yürütme izinlerini gerektirir.

Not

Dizinlerde dosyaları silmek için Yazma izinlerine ihtiyacınız yok. Ayrıca, "/" kök dizini asla silinemez.

Who dizinin sahibi nedir?

Dosya veya dizinin oluşturucusu, sahibi olur. Kök dizinde bu, kapsayıcıyı oluşturan kullanıcının kimliğidir.

Oluşturma sırasında dosyanın veya dizinin sahibi olan grup olarak hangi grup ayarlanır?

Sahip olan grup, yeni dosyanın veya dizinin oluşturularak üst dizinin sahip olan grubundan kopyalanır.

Bir dosyanın sahibiyim ama ihtiyacım olan RWX izinlerine sahip değilim. Ne yapmalıyım?

Sahip olan kullanıcı kendisine gerekli olan her türlü RWX iznini vermek için dosyanın izinlerini değiştirebilir.

Neden bazen ACL'lerde GUID'ler görüyorum?

Giriş bir kullanıcıyı temsil ediyorsa ve bu kullanıcı artık Azure AD'de mevcut yoksa GUID gösterilir. Bu genellikle, kullanıcı şirketten ayrıldığında veya Azure AD’de kullanıcının hesabı silindiğinde gerçekleşir. Ayrıca, hizmet sorumlularının ve güvenlik gruplarının bunları tanımlamak için bir Kullanıcı Asıl Adı (UPN) olmaz ve bu nedenle OID öznitelikleriyle (guid) temsil ederler.

Nasıl yaparım? sorumlu için ACL'leri doğru şekilde ayarlamak mı gerekir?

Hizmet sorumluları için ACL'leri tanımlarken, oluşturduğunuz uygulama kaydı için hizmet sorumlusu nesne kimliğini (OID) kullanmak önemlidir. Kayıtlı uygulamaların belirli bir Azure AD kiracısı içinde ayrı bir hizmet sorumlusuna sahip olduğunu unutmayın. Kayıtlı uygulamalarda, hizmet sorumlusunda görünür olan bir OID Azure portal ancak hizmet sorumlusunda başka bir (farklı) OID vardır.

Uygulama kaydına karşılık gelen hizmet sorumlusu OID'lerini almak için komutunu az ad sp show kullanabilirsiniz. Parametre olarak Uygulama Kimliği'ne tıklayın. Burada, Uygulama Kimliği = 18218b12-1895-43e9-ad80-6e8fc1ea88ce ile bir uygulama kaydına karşılık gelen hizmet sorumlusu için OID'yi alma örneği ve ardından bir örnek ve ardından ve bir örnek yer almaktadır. Azure CLI'da aşağıdaki komutu çalıştırın:

az ad sp show --id 18218b12-1895-43e9-ad80-6e8fc1ea88ce --query objectId

OID görüntülenir.

Hizmet sorumlusu için doğru OID'ye sahipken, OID'yi eklemek ve OID için uygun izinleri atamak için Depolama Gezgini Erişim Yönet sayfasına gidin. Kaydet’i seçtiğinizden emin olun.

Kapsayıcının ACL'sini ayarlamam gerekir mi?

Hayır. Kapsayıcının ACL'si yok. Ancak, kapsayıcının kök dizininin ACL'sini ayarlayın. Her kapsayıcının bir kök dizini vardır ve kapsayıcıyla aynı adı paylaşıyor. Örneğin, kapsayıcı olarak adlandırılmışsa my-container kök dizin olarak my-container/ adlandırılmıştır.

Azure Depolama REST API Kapsayıcı ACL'sini Ayarla adlı bir işlem içerir, ancak bu işlem kapsayıcının ACL'siniveya kapsayıcının kök dizinini ayarlamak için kullanılamaz. Bunun yerine bu işlem, bir kapsayıcıda yer alan bloblara genel olarak erişilip erişilelamayacağını belirtmek için kullanılır.

POSIX erişim denetimi modeli hakkında daha fazla bilgiyi nereden bulabilirim?

Ayrıca bkz.