Aracılığıyla paylaş


Çok Kiracılı ve Azure Depolama

Azure Depolama, neredeyse her çözümde kullanılan temel bir hizmettir. Çok kiracılı çözümler genellikle blob, dosya, kuyruk ve tablo depolama için Azure Depolama'yı kullanır. Bu sayfada, Azure Depolama'nın çok kiracılı çözümler için yararlı olan bazı özelliklerini açıklayacak ve ardından Azure Depolama'yı nasıl kullanacağınızı planlarken size yardımcı olabilecek kılavuzun bağlantılarını sağlayacağız.

Azure Depolama'nın çok kiracılılığı destekleyen özellikleri

Azure Depolama, çok kiracılılığı destekleyen birçok özellik içerir.

Paylaşılan erişim imzaları

bir istemci uygulamasından Azure Depolama ile çalışırken, istemci isteklerinin içerik teslim ağı veya API gibi denetlediğiniz başka bir bileşen üzerinden mi gönderilmesi gerektiğini veya istemcinin doğrudan depolama hesabınıza bağlanması gerekip gerekmediğini göz önünde bulundurmanız önemlidir. Ağınızın kenarında verileri önbelleğe alma da dahil olmak üzere başka bir bileşen üzerinden istek göndermek için iyi nedenler olabilir. Ancak bazı durumlarda istemci uç noktalarının verileri indirmek veya karşıya yüklemek için doğrudan Azure Depolama'ya bağlanması avantajlıdır. Bu bağlantı, özellikle büyük bloblarla veya çok sayıda dosyayla çalışırken çözümünüzün performansını geliştirmenize yardımcı olur. Ayrıca arka uç uygulamalarınızdaki ve sunucularınızın yükünü azaltır ve ağ atlamalarının sayısını azaltır. Paylaşılan erişim imzası (SAS), istemci uygulamalarınıza Azure Depolama'daki nesnelere güvenli bir şekilde erişim sağlamanıza olanak tanır.

Paylaşılan erişim imzaları, bir istemcinin gerçekleştirebileceği işlemlerin kapsamını ve işlem gerçekleştirebileceği nesneleri kısıtlamak için kullanılabilir. Örneğin, tüm kiracılarınız için paylaşılan bir depolama hesabınız varsa ve A kiracısının tüm verilerini adlı tenantabir blob kapsayıcısında depolarsanız, yalnızca A kiracısının kullanıcılarının bu kapsayıcıya erişmesine izin veren bir SAS oluşturabilirsiniz. Daha fazla bilgi için bkz . Depolama hesabında kiracılarınızın verilerini yalıtmak için kullanabileceğiniz yaklaşımları keşfetmek için yalıtım modelleri .

Vale Anahtarı düzeni, uygulama katmanınızdan kısıtlanmış ve kapsamlı paylaşılan erişim imzaları vermenin bir yolu olarak kullanışlıdır. Örneğin, kullanıcıların video yüklemesine izin veren çok kiracılı bir uygulamanız olduğunu varsayalım. API'niz veya uygulama katmanınız kendi kimlik doğrulama sisteminizi kullanarak istemcinin kimliğini doğrulayabilir. Daha sonra istemciye, belirttiğiniz kapsayıcı ve blob yoluna bir video dosyası yüklemesini sağlayan bir SAS sağlayabilirsiniz. İstemci daha sonra dosyayı doğrudan depolama hesabına yükleyerek fazladan bant genişliği ve API'nize yükleme yapmaktan kaçınıyor. Blob kapsayıcısından veri okumaya veya kapsayıcının farklı bir bölümüne depolama hesabındaki başka bir kapsayıcıya veri yazmaya çalışırlarsa Azure Depolama isteği engeller. İmzanın süresi yapılandırılabilir bir süre sonra dolar.

Depolanan erişim ilkeleri , birden çok paylaşılan erişim imzası oluştururken kullanılabilecek tek bir ilke tanımlamanızı sağlayan SAS işlevselliğini genişletir.

Kimlik tabanlı erişim denetimi

Azure Depolama, Microsoft Entra Id kullanarak kimlik tabanlı erişim denetimi de sağlar. Bu özellik ayrıca, blob yollarına veya belirli bir kiracı kimliğiyle etiketlenmiş bloblara daha ayrıntılı erişim sağlayan öznitelik tabanlı erişim denetimi kullanmanızı sağlar.

Yaşam Döngüsü yönetimi

Blob depolamayı çok kiracılı bir çözümde kullandığınızda kiracılarınız veri saklama için farklı ilkeler gerektirebilir. Büyük hacimli verileri depoladığınızda, maliyet iyileştirme amacıyla belirli bir kiracının verilerini otomatik olarak seyrek erişimli veya arşiv depolama katmanlarına taşınacak şekilde yapılandırmak isteyebilirsiniz.

Tüm kiracılar veya kiracıların bir alt kümesi için blob yaşam döngüsünü ayarlamak için yaşam döngüsü yönetimi ilkelerini kullanmayı göz önünde bulundurun. Yaşam döngüsü yönetimi ilkesi blob kapsayıcılarına veya kapsayıcı içindeki blobların bir alt kümesine uygulanabilir. Ancak, bir yaşam döngüsü yönetim ilkesinde belirtebileceğiniz kural sayısıyla ilgili sınırlar vardır. Bu özelliği çok kiracılı bir ortamda kullanmayı planladığınızdan ve test ettiğinizden emin olun ve sınırları aşarsanız birden çok depolama hesabı dağıtmayı göz önünde bulundurun.

Sabit depolama

Depolama kapsayıcılarında zaman tabanlı saklama ilkeleriyle sabit blob depolama yapılandırdığınızda, Azure Depolama verilerin belirli bir süreden önce silinmesini veya değiştirilmesini engeller. Önleme, depolama hesabı katmanında uygulanır ve tüm kullanıcılar için geçerlidir. Kuruluşunuzun yöneticileri bile sabit verileri silemez.

Sabit depolama, verileri veya kayıtları korumak için yasal veya uyumluluk gereksinimleri olan kiracılarla çalıştığınızda yararlı olabilir. Ancak, bu özelliğin kiracı yaşam döngünüz bağlamında nasıl kullanıldığını göz önünde bulundurmanız gerekir. Örneğin, kiracılar eklenmemişse ve verilerinin silinmesini isterse, isteklerini yerine getiremeyebilirsiniz. Kiracılarınızın verileri için sabit depolama alanı kullanıyorsanız, hizmet koşullarınızda bu sorunu nasıl ele alabileceğinizi göz önünde bulundurun.

Sunucu tarafı kopyalama

Çok kiracılı bir sistemde bazen verileri bir depolama hesabından diğerine taşımanız gerekebilir. Örneğin, bir kiracıyı dağıtım damgaları arasında taşırsanız veya parçalı bir depolama hesabı kümesini yeniden dengelerseniz, belirli bir kiracının verilerini kopyalamanız veya taşımanız gerekir. Büyük hacimli verilerle çalışırken, verileri geçirme süresini azaltmak için sunucu tarafı kopyalama API'lerinin kullanılması önerilir.

AzCopy aracı, kopyalama işlemini yönetmek için kendi bilgisayarınızdan veya bir sanal makineden çalıştırabileceğiniz bir uygulamadır. AzCopy, sunucu tarafı kopyalama özelliğiyle uyumludur ve kendi çözümlerinizden çalıştırabileceğiniz betiklenebilir bir komut satırı arabirimi sağlar. AzCopy, büyük hacimli verileri karşıya yüklemek ve indirmek için de yararlıdır.

Doğrudan kodunuzdan sunucu tarafı kopyalama API'lerini kullanmanız gerekiyorsa, daha küçük bloblarla çalışırken URL'den Blok Koy API'sini, URL'den SayfaYı Yerleştir API'sini, URL'den Blok Ekle API'sini ve URL'den Blob Kopyalama API'sini kullanmayı göz önünde bulundurun.

Nesne çoğaltma

Nesne çoğaltma özelliği, verileri otomatik olarak bir kaynak ve hedef depolama hesabı arasında çoğaltır. Nesne çoğaltma zaman uyumsuzdur. Çok kiracılı bir çözümde bu özellik, dağıtım damgaları arasında veya Geode deseninin uygulanmasında verileri sürekli çoğaltmanız gerektiğinde yararlı olabilir.

Şifreleme

Azure Depolama, verileriniz için şifreleme anahtarları sağlamanıza olanak tanır. Çok kiracılı bir çözümde, verileri aynı depolama hesabında depolanmış olsa bile, bu özelliği farklı kiracılar için farklı şifreleme anahtarları tanımlamanızı sağlayan şifreleme kapsamlarıyla birleştirmeyi göz önünde bulundurun. Bu özellikleri birlikte kullanarak kiracılara kendi verileri üzerinde denetim de sağlayabilirsiniz. Hesabını devre dışı bırakmaları gerekiyorsa şifreleme anahtarının silinmesi, verilerinin artık erişilebilir olmamasını sağlar.

İzleme

Çok kiracılı bir çözümle çalışırken, her kiracı için tüketimi ölçmeniz ve her kiracı için kullanılan depolama alanı miktarı (kapasite) veya her kiracının verileri için gerçekleştirilen işlem sayısı gibi izlemeniz gereken belirli ölçümleri tanımlamanız gerekip gerekmediğini göz önünde bulundurun. Ayrıca, her kiracının kullanım maliyetini izlemek ve birden çok abonelikte geri ödeme özelliğini etkinleştirmek için maliyet ayırmayı kullanabilirsiniz.

Azure Depolama yerleşik izleme özellikleri sağlar. Azure Depolama hesabında kullanacağınız hizmetleri göz önünde bulundurmanız önemlidir. Örneğin bloblarla çalışırken depolama hesabının toplam kapasitesini görüntüleyebilirsiniz ancak tek bir kapsayıcıyı görüntüleyemezsiniz. Buna karşılık, dosya paylaşımlarıyla çalışırken, her klasör için değil, her paylaşım için kapasiteyi görmek mümkündür.

Ayrıca Azure Depolama'ya yapılan tüm istekleri günlüğe kaydedebilir ve ardından bu günlükleri toplayabilir ve analiz edebilirsiniz. Bu yaklaşım, her kiracı için verileri toplama ve gruplandırma konusunda daha fazla esneklik sağlar. Ancak, Azure Depolama'ya yüksek hacimli istekler oluşturan çözümlerde, bu yaklaşımdan elde ettiğiniz avantajın bu günlükleri yakalama ve işlemeye ilişkin maliyeti haklı çıkarıp sağlamadığını göz önünde bulundurmanız önemlidir.

Azure Depolama envanteri , blob kapsayıcısının toplam boyutunu ölçmek için başka bir yaklaşım sağlar.

Yalıtım modelleri

Azure Depolama'yı kullanarak çok kiracılı bir sistemle çalışırken, kullanmak istediğiniz yalıtım düzeyi hakkında bir karar vermeniz gerekir. Azure Depolama çeşitli yalıtım modellerini destekler.

Kiracı başına depolama hesapları

En güçlü yalıtım düzeyi, kiracı için ayrılmış bir depolama hesabı dağıtmaktır. Bu, tüm depolama anahtarlarının yalıtılmasını ve bağımsız olarak döndürülmesini sağlar. Bu yaklaşım, her depolama hesabı için geçerli olan sınırları ve kotaları önlemek için çözümünüzü ölçeklendirmenizi sağlar, ancak aynı zamanda tek bir Azure aboneliğine dağıtabileceğiniz maksimum depolama hesabı sayısını da göz önünde bulundurmanız gerekir.

Not

Azure Depolama'da bir yalıtım modeli seçerken göz önünde bulundurmanız gereken birçok kota ve sınır vardır. Bunlar Azure hizmet sınırlarını, ölçeklenebilirlik hedeflerini ve Azure Depolama kaynak sağlayıcısı için ölçeklenebilirlik hedeflerini içerir.

Ayrıca, Azure Depolama'nın her bileşeni kiracı yalıtımı için ek seçenekler sağlar.

Blob depolama yalıtım modelleri

Aşağıdaki tabloda, Azure Depolama blobları için ana kiracı yalıtım modelleri arasındaki farklar özetlemektedir:

Dikkat edilmesi gereken noktalar Paylaşılan blob kapsayıcıları Kiracı başına blob kapsayıcıları Kiracı başına depolama hesapları
Veri yalıtımı Düşük-orta. Her kiracının verilerini veya hiyerarşik ad alanlarını tanımlamak için yolları kullanma Orta. Güvenlik yalıtımını desteklemek için kapsayıcı kapsamlı SAS URL'lerini kullanma Yüksek
Performans yalıtımı Düşük Düşük. Kotaların ve sınırların çoğu depolama hesabının tamamı için geçerlidir Yüksek
Dağıtım karmaşıklığı Düşük Orta Yüksek
operasyonel karmaşıklık Düşük Orta Yüksek
Örnek senaryo Kiracı başına az sayıda blob depolama Kiracı kapsamlı SAS URL'leri verme Her kiracı için ayrı dağıtım damgaları

Paylaşılan blob kapsayıcıları

Blob depolama ile çalışırken paylaşılan bir blob kapsayıcısı kullanmayı seçebilir ve ardından her kiracı için verileri ayırmak için blob yollarını kullanabilirsiniz:

Kiracı kimliği Örnek blob yolu
tenant-a https://contoso.blob.core.windows.net/sharedcontainer/tenant-a/blob1.mp4
tenant-b https://contoso.blob.core.windows.net/sharedcontainer/tenant-b/blob2.mp4

Bu yaklaşımın uygulanması basit olsa da, birçok senaryoda blob yolları kiracılar arasında yeterli yalıtım sağlamaz. Bunun nedeni blob depolamanın dizin veya klasör kavramı sağlamamasıdır. Bu, belirtilen yol içindeki tüm bloblara erişim atayabileceğiniz anlamına gelir. Ancak Azure Depolama, belirtilen ön ekle başlayan blobları listeleme (listeleme) özelliği sağlar. Bu özellik paylaşılan blob kapsayıcılarıyla çalışırken ve dizin düzeyinde erişim denetimi gerektirmediğinizde yararlı olabilir.

Azure Depolama'nın hiyerarşik ad alanı özelliği, dizine özgü erişim denetimi de dahil olmak üzere daha güçlü bir dizin veya klasör kavramına sahip olma olanağı sağlar. Bu, blob kapsayıcılarını paylaştığınız ancak tek bir kiracının verilerine erişim vermek istediğiniz çok kiracılı bazı senaryolarda yararlı olabilir.

Çok kiracılı bazı çözümlerde, kullanıcı arabirimini özelleştirmek için kiracı simgeleri gibi her kiracı için yalnızca tek bir blob veya blob kümesi depolamanız gerekebilir. Bu senaryolarda tek bir paylaşılan blob kapsayıcısı yeterli olabilir. Blob adı olarak kiracı tanımlayıcısını kullanabilir ve ardından blob yolunu numaralandırmak yerine belirli bir blobu okuyabilirsiniz.

Paylaşılan kapsayıcılarla çalışırken, her kiracı için verileri ve Azure Depolama hizmeti kullanımını izlemeniz gerekip gerekmediğini göz önünde bulundurun ve bunu yapmak için bir yaklaşım planlayın. Daha fazla bilgi için bkz . İzleme .

Kiracı başına blob kapsayıcıları

Tek bir depolama hesabı içindeki her kiracı için tek tek blob kapsayıcıları oluşturabilirsiniz. Depolama hesabı içinde oluşturabileceğiniz blob kapsayıcılarının sayısıyla ilgili bir sınır yoktur.

Her kiracı için kapsayıcılar oluşturarak, her kiracının verilerine erişimi yönetmek için SAS de dahil olmak üzere Azure Depolama erişim denetimini kullanabilirsiniz. Ayrıca her kapsayıcının kullandığı kapasiteyi kolayca izleyebilirsiniz.

Dosya depolama yalıtım modelleri

Aşağıdaki tabloda, Azure Depolama dosyaları için ana kiracı yalıtım modelleri arasındaki farklar özetlemektedir:

Dikkat edilmesi gereken noktalar Paylaşılan dosya paylaşımları Kiracı başına dosya paylaşımları Kiracı başına depolama hesapları
Veri yalıtımı Orta-yüksek. Kiracıya özgü dosyalar ve dizinler için yetkilendirme kuralları uygulama Orta-yüksek Yüksek
Performans yalıtımı Düşük Düşük-orta. Kotaların ve sınırların çoğu depolama hesabının tamamı için geçerlidir, ancak boyut kotalarını paylaşım başına düzeyinde ayarlayın Yüksek
Dağıtım karmaşıklığı Düşük Orta Yüksek
operasyonel karmaşıklık Düşük Orta Yüksek
Örnek senaryo Uygulama, dosyalara tüm erişimi denetler Kiracılar kendi dosyalarına erişmektedir Her kiracı için ayrı dağıtım damgaları

Paylaşılan dosya paylaşımları

Dosya paylaşımlarıyla çalışırken, paylaşılan bir dosya paylaşımı kullanmayı seçebilir ve ardından her kiracı için verileri ayırmak için dosya yollarını kullanabilirsiniz:

Kiracı kimliği Örnek dosya yolu
tenant-a https://contoso.file.core.windows.net/share/tenant-a/blob1.mp4
tenant-b https://contoso.file.core.windows.net/share/tenant-b/blob2.mp4

Sunucu İleti Bloğu (SMB) protokolü kullanarak iletişim kurabilen bir uygulama kullandığınızda ve şirket içinde veya Azure'da Active Directory Etki Alanı Hizmetleri kullandığınızda, dosya paylaşımları hem paylaşım hem de dizin/dosya düzeylerinde yetkilendirmeyi destekler.

Diğer senaryolarda, belirli dosya paylaşımlarına veya dosyalara erişim vermek için SAS kullanmayı göz önünde bulundurun. SAS kullandığınızda, dizinlere erişim izni veremezsiniz.

Paylaşılan dosya paylaşımlarıyla çalışırken, her kiracı için verileri ve Azure Depolama hizmeti kullanımını izlemeniz gerekip gerekmediğini göz önünde bulundurun ve ardından bunu yapmak için bir yaklaşım planlayın (gerektiği gibi). Daha fazla bilgi için bkz . İzleme .

Kiracı başına dosya paylaşımları

Tek bir depolama hesabı içinde her kiracı için ayrı dosya paylaşımları oluşturabilirsiniz. Depolama hesabında oluşturabileceğiniz dosya paylaşımlarının sayısıyla ilgili bir sınır yoktur.

Her kiracı için dosya paylaşımları oluşturarak, her kiracının verilerine erişimi yönetmek için SAS de dahil olmak üzere Azure Depolama erişim denetimini kullanabilirsiniz. Ayrıca her dosya paylaşımının kullandığı kapasiteyi kolayca izleyebilirsiniz.

Tablo depolama yalıtım modelleri

Aşağıdaki tabloda, Azure Depolama tablolarının ana kiracı yalıtım modelleri arasındaki farklar özetlemektedir:

Dikkat edilmesi gereken noktalar Kiracı başına bölüm anahtarlarıyla paylaşılan tablolar Kiracı başına tablo sayısı Kiracı başına depolama hesapları
Veri yalıtımı Düşük. Uygulama yalıtımı zorlar Düşük-orta Yüksek
Performans yalıtımı Düşük Düşük. Kotaların ve sınırların çoğu depolama hesabının tamamı için geçerlidir Yüksek
Dağıtım karmaşıklığı Düşük Orta Yüksek
operasyonel karmaşıklık Düşük Orta Yüksek
Örnek senaryo Paylaşılan uygulama katmanına sahip büyük çok kiracılı çözüm Kiracı kapsamlı SAS URL'leri verme Her kiracı için ayrı dağıtım damgaları

Kiracı başına bölüm anahtarlarıyla paylaşılan tablolar

Tablo depolamayı tek bir paylaşılan tabloyla kullanırken, bölümleme için yerleşik desteği kullanmayı düşünebilirsiniz. Her varlık bir bölüm anahtarı içermelidir. Kiracı tanımlayıcısı genellikle bölüm anahtarı için iyi bir seçimdir.

Paylaşılan erişim imzaları ve ilkeleri bir bölüm anahtarı aralığı belirtmenize olanak tanır ve Azure Depolama, imzayı içeren isteklerin yalnızca belirtilen bölüm anahtarı aralıklarına erişebilmesini sağlar. Bu, güvenilmeyen istemcilerin diğer kiracıları etkilemeden tek bir kiracının bölümüne erişmesine olanak tanıyan Vale Anahtarı düzenini uygulamanıza olanak tanır.

Yüksek ölçekli uygulamalar için her tablo bölümünün ve depolama hesabının en yüksek aktarım hızını göz önünde bulundurun.

Kiracı başına tablo sayısı

Tek bir depolama hesabı içinde her kiracı için ayrı tablolar oluşturabilirsiniz. Depolama hesabı içinde oluşturabileceğiniz tablo sayısıyla ilgili bir sınır yoktur.

Her kiracı için tablolar oluşturarak, her kiracının verilerine erişimi yönetmek için SAS de dahil olmak üzere Azure Depolama erişim denetimini kullanabilirsiniz.

Kuyruk depolama yalıtım modelleri

Aşağıdaki tabloda, Azure Depolama kuyrukları için ana kiracı yalıtım modelleri arasındaki farklar özetlemektedir:

Dikkat edilmesi gereken noktalar Paylaşılan kuyruklar Kiracı başına kuyruk sayısı Kiracı başına depolama hesapları
Veri yalıtımı Düşük Düşük-orta Yüksek
Performans yalıtımı Düşük Düşük. Kotaların ve sınırların çoğu depolama hesabının tamamı için geçerlidir Yüksek
Dağıtım karmaşıklığı Düşük Orta Yüksek
operasyonel karmaşıklık Düşük Orta Yüksek
Örnek senaryo Paylaşılan uygulama katmanına sahip büyük çok kiracılı çözüm Kiracı kapsamlı SAS URL'leri verme Her kiracı için ayrı dağıtım damgaları

Paylaşılan kuyruklar

Bir kuyruğu paylaşmayı seçerseniz, geçerli olan kotaları ve sınırları göz önünde bulundurun. yüksek istek hacmine sahip çözümlerde, saniyede 2.000 iletinin hedef aktarım hızının yeterli olup olmadığını göz önünde bulundurun.

Kuyruklar bölümleme veya alt sıra sağlamaz, bu nedenle tüm kiracıların verileri birbirine karışabilir.

Kiracı başına kuyruk sayısı

Tek bir depolama hesabı içindeki her kiracı için ayrı kuyruklar oluşturabilirsiniz. Depolama hesabı içinde oluşturabileceğiniz kuyruk sayısıyla ilgili bir sınır yoktur.

Her kiracı için kuyruklar oluşturarak, her kiracının verilerine erişimi yönetmek için SAS de dahil olmak üzere Azure Depolama erişim denetimini kullanabilirsiniz.

Her kiracı için dinamik olarak kuyruklar oluşturduğunuzda, uygulama katmanınızın her kiracının kuyruğundaki iletileri nasıl tüketeceğini göz önünde bulundurun. Daha gelişmiş senaryolar için, çok kiracılı bir çözümde yararlı olabilecek konular ve abonelikler, oturumlar ve ileti otomatik iletme gibi özellikleri destekleyen Azure Service Bus'ı kullanmayı göz önünde bulundurun.

Katkıda Bulunanlar

Bu makale Microsoft tarafından yönetilir. Başlangıçta aşağıdaki katkıda bulunanlar tarafından yazılmıştır.

Asıl yazar:

Diğer katkıda bulunanlar:

Genel olmayan LinkedIn profillerini görmek için LinkedIn'de oturum açın.

Sonraki adımlar

Çok kiracılı depolama ve veri yaklaşımlarını gözden geçirin.