Object Storage Service (OSS) paketleri ve nesneler gibi kaynakları varsayılan olarak özeldir; bu kaynaklara erişimi erişim denetim listeleri (ACL), yetkilendirme ilkeleri ve güvenlik koruma özellikleri aracılığıyla yönetirsiniz. Bu konuda, OSS'in bir erişim isteğini nasıl değerlendirdiği ve uygun izin kontrol mekanizmasının nasıl seçileceği açıklanmaktadır.
Hızlı seçim
Senaryonuz doğrultusunda aşağıdaki izin kontrol mekanizmalarından birini seçin:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
OSS izinleri nasıl değerlendirir
OSS, her isteği kendisine uygulanan izin kontrol mekanizmalarına göre değerlendirir: ACL'ler, paket ilkeleri, Resource Access Management (RAM) ilkeleri, Resource Directory kontrol ilkeleri ve erişim noktası ilkeleri (AP ilkeleri). Her bir mekanizmanın ayrıntısı İzin kontrol yöntemleri bölümünde açıklanmıştır.
OSS, her istek türü için farklı bir yetkilendirme süreci uygular:
İmzalı istekler — OSS imzayı doğruladıktan sonra varsa Resource Directory kontrol ilkesini, RAM ilkesini, paket ilkesini ve ACL'i değerlendirir.
Anonim istekler — OSS, varsa Resource Directory kontrol ilkesinin, paket ilkesinin ve ACL'in herkese açık erişime izin verip vermediğini denetler.
Her değerlendirme aşağıdaki sonuçlardan birini döndürür:
Allow — Bir ilke erişimi açıkça sağlar.
Explicit Deny — Bir ilke erişimi açıkça reddeder. Explicit Deny en yüksek önceliğe sahiptir.
Implicit Deny — Erişimi sağlayan herhangi bir ilke bulunmadığından istek reddedilir.
Birden fazla mekanizma yapılandırdığınızda aşağıdaki kurallar geçerlidir:
Çoklu ilke türleri — Paket ilkesi, RAM ilkesi ve kontrol ilkesini birlikte kullanabilirsiniz. OSS, geçerli tüm ilkeleri değerlendirir ve isteği yalnızca tüm geçerli ilkeler izin verdiğinde kabul eder. Kontrol ilkesi tek başına erişim sağlamaz; bunun yerine izin sınırını belirler.
Nesne ACL önceliği — Nesne ACL, paket ACL'den daha yüksek önceliğe sahiptir. Bir nesne ACL'si belirtmezseniz nesne, paket ACL'sini devralır.
Erişim noktası istekleri — Kullanıcı bir pakete erişim noktası üzerinden eriştiğinde, RAM ilkesi ile paket ilkesinin birleştirilmiş değerlendirme sonucu Allow olmalı ve AP ilkesi de Allow olmalıdır.
Herkese Açık Erişimi Engelle — Herkese Açık Erişimi Engelle etkin olduğunda, ACL veya paket ilkesi üzerinden yapılandırılan herkese açık yetkilendirmeler artık geçerli olmaz.
Yetkilendirme sürecinin tam ayrıntıları için OSS yetkilendirmesinin ayrıntıları konusuna bakın.
İzin kontrol yöntemleri
ACL
ACL, önceden tanımlanmış izin düzeyleri aracılığıyla bir OSS kaynağının herkese açık mı yoksa özel mi olduğunu denetler.
Paket ACL bir paketin varsayılan erişim izinlerini denetler; nesne ACL ise tek bir nesnenin izinlerini denetler ve daha yüksek önceliğe sahiptir. Bir nesne ACL'si belirtmezseniz nesne, paket ACL'sini devralır. Desteklenen izin düzeyleri aşağıdaki tabloda açıklanmıştır.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ACL yalnızca önceden tanımlanmış izin düzeylerini destekler; yetkili asalları veya koşulları belirtmek mümkün değildir. Daha ayrıntılı kontrol için paket ilkesi veya RAM ilkesi kullanın.
Paket ilkesi
Paket İlkesi bir pakette yapılandırılan bir yetkilendirme ilkesidir. Söz konusu paketteki kaynaklara kimlerin erişebileceğini tanımlar. Paket ilkesi, RAM kullanıcılarını, diğer Alibaba Cloud hesaplarını ve anonim kullanıcıları yetkilendirebilir; IP adresi, VPC ve zaman kısıtlamaları gibi koşullar uygulayabilir.
Tek bir paket ilkesiyle birden çok kullanıcıyı aynı pakete erişmeye yetkilendirebilirsiniz. Her kullanıcı için ayrı bir ilke yapılandırmanıza gerek yoktur.
Öğreticiler: VPC ve paket ilkeleriyle çift yönlü erişim kontrolü | Paket ilkesine dayalı olarak departmanlar arasında veri paylaşımı
RAM ilkesi
RAM ilkesi bir kullanıcı kimliğine eklenen bir yetkilendirme ilkesidir. Bu kullanıcının hangi OSS kaynaklarına erişebileceğini tanımlar ve bir kullanıcının veya uygulamanın birden çok paketteki izinlerini merkezi olarak yönetmek için uygundur.
OSS, doğrudan kullanabileceğiniz AliyunOSSFullAccess ve AliyunOSSReadOnlyAccess gibi sistem ilkeleri sunar; ayrıca özel ilkeleri de destekler. RAM rolleri, hesaplar arası erişimi ve STS geçici yetkilendirmeyi etkinleştirir.
Öğreticiler: Hesaplar arası OSS erişimi için RAM rolü kullanma | RAM ilkeleriyle OSS erişimini kontrol etme
Kontrol ilkesi
Kontrol ilkesi, Resource Directory'deki klasörler veya üyeler gibi kaynak hiyerarşisine dayalı bir erişim kontrol ilkesidir ve öncelikli olarak izin sınırlarını tanımlamak için kullanılır. Çoklu hesap yönetimi senaryolarında özel bir kontrol ilkesi, üye hesapların paket güvenlik ilkelerine yönelik kısıtlamaları merkezi olarak uygulayabilir; örneğin, Herkese Açık Erişimi Engelle özelliğinin etkin olmasını zorunlu kılabilir. Ayrıntılar için Kontrol İlkesi konusuna bakın.
Erişim Noktası
Erişim Noktası bir paket için bağımsız bir erişim uç noktası sağlar. Birden çok uygulama veya ekip aynı pakete farklı izinlerle erişmesi gerektiğinde, her taraf için ayrı bir erişim noktası oluşturun ve o tarafın izinlerini yönetmek üzere bir erişim noktası ilkesi (AP ilkesi) kullanın. Bu yaklaşım, tek bir paket ilkesinde karmaşık kuralları sürdürme ihtiyacını ortadan kaldırır.
Her erişim noktasının bağımsız bir uç noktası, AP ilkesi ve ağ kısıtlaması yapılandırması vardır. Bir erişim noktası üzerinden gelen istek, RAM ilkesi ve paket ilkesine ek olarak AP ilkesine göre de değerlendirilir. Değerlendirme kuralları için OSS izinleri nasıl değerlendirir bölümüne bakın.
Geçici erişim
OSS kaynaklarına geçici erişim sağlamak için iki yöntem kullanılabilir:
STS geçici yetkilendirme — RAM rolü, hesaplar arası erişimi ve STS geçici yetkilendirmeyi etkinleştirir.
İmzalı URL — HTTP istek üstbilgisindeki Referer alanı taklit edilebildiğinden, imzalı URL hotlink korumasından daha yüksek güvenlik sağlar.
İzin kontrol yöntemlerini karşılaştırma
Aşağıdaki tablo, OSS tarafından sağlanan izin kontrol yöntemlerini karşılaştırmaktadır:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Yöntemler arasında seçim yaparken aşağıdaki rehberliği dikkate alın:
Aynı kaynağa birden çok kullanıcıyı yetkilendirme — Paket ilkesi daha verimlidir. Tek bir ilke, izin verilen kullanıcı listesini belirtir.
Tek bir kullanıcının tüm kaynak izinlerini yönetme — RAM ilkesi daha sezgiseldir.
Anonim erişim verme — İlke türleri arasında yalnızca paket ilkesi anonim erişimi destekler. ACL de
public-readvepublic-read-writedüzeylerinde anonim erişime izin verir.Birden çok hesapta izinleri kısıtlama — Kontrol ilkesi, izin sınırlarını merkezi olarak kısıtlar. Erişim vermekten ziyade üye hesapların neler yapmasına izin verilebileceğini sınırlandırır.
Birden çok uygulama veya ekip için erişimi ayırma — AP ilkesi, her tarafın izinlerini bağımsız tutar ve tek bir paket ilkesinde karmaşık kurallar oluşmasını önler.
Güvenlik koruma
Herkese Açık Erişimi Engelle
Herkese Açık Erişimi Engelle özelliğini etkinleştirdiğinizde, ACL veya paket ilkesi üzerinden yapılandırılan herkese açık yetkilendirmeler artık geçerli olmaz. Mevcut herkese açık erişim izinleri dikkate alınmaz ve yeni herkese açık erişim izinleri oluşturulamaz. Bu sayede yanlış yapılandırmadan kaynaklanan veri ifşası önlenir.
Herkese Açık Erişimi Engelle özelliğini hesap düzeyinde (tüm paketlere uygulanır) ve paket, erişim noktası ile nesne FC erişim noktası düzeylerinde yapılandırabilirsiniz. Öncelik bu sırayla azalır; dolayısıyla hesap düzeyindeki ayar en yüksek önceliğe sahiptir.
Hassas veriler depoluyorsanız ve anonim erişime ihtiyacınız yoksa, Herkese Açık Erişimi Engelle özelliğini hesap düzeyinde etkinleştirin.
Herkese Açık Erişimi Engelle ve herkese açık erişim birbirini dışlar. Hesap, paket veya erişim noktası için Herkese Açık Erişimi Engelle etkinse public-read ACL veya herkese açık bir paket ilkesi geçerli olmaz. Kaynakları herkese açık yayımlamadan önce Herkese Açık Erişimi Engelle ayarlarını kontrol edin.
Hotlink koruması
Hotlink koruması HTTP isteklerinin kaynağını (Referer ve User-Agent üstbilgileri gibi) doğrular ve yetkisiz web sitelerinin OSS kaynaklarını referans göstermesini engeller. Hotlink korumasını beyaz listeler, kara listeler veya düzenli ifadeler kullanarak yapılandırabilirsiniz. Beyaz liste yalnızca belirtilen alan adlarına izin verirken, kara liste belirtilen alan adlarını engeller. Görüntüler ve videolar gibi kaynakların yetkisiz kullanımını önlemek için hotlink korumasını kullanın.
Referer alanı taklit edilebilir. Daha yüksek güvenlik için geçici bir erişim yöntemi olan imzalı URL kullanın.
Çapraz kaynak paylaşımı (CORS)
Varsayılan olarak tarayıcı, bir web sayfasındaki JavaScript'in farklı bir alan adındaki kaynaklara erişmesini engeller. CORS kurallarını yapılandırdığınızda OSS, yanıtta çapraz köken üstbilgilerini döndürerek tarayıcının isteğe izin vermesini sağlar. CORS, ön uçtan doğrudan dosya yükleme ve kaynak alma gibi senaryolarda uygulanır.
CORS yalnızca tarayıcıların aynı köken kısıtlamasını çözer. Erişim izinlerini vermez veya reddetmez; bu nedenle CORS'u bir izin kontrol mekanizmasının yerine değil, ona ek olarak yapılandırın.
Başvurular
OSS'teki izinler ve erişim kontrolü hakkında daha fazla bilgi için aşağıdaki konulara bakın: