Sunucu tarafı şifreleme etkinleştirilmiş bir pakete nesne yüklediğinizde, Object Storage Service (OSS) nesneyi depolamadan önce şifreler. GetObject isteği kullanarak nesneyi indirdiğinizde, OSS nesnenin şifresini otomatik olarak çözer ve size döndürür. Yanıttaki x-oss-server-side-encryption üst bilgisi, nesnenin sunucu tarafında şifrelendiğini gösterir.
x-oss-server-side-encryption yanıt üst bilgisi hakkında daha fazla bilgi için bkz. GetObject.
Senaryolar
OSS, sunucu tarafı şifreleme yoluyla durumdaki veriler için koruma sağlar. Bu özellik; derin öğrenme örnek dosyalarının veya çevrimiçi ortak çalışma belgesi verilerinin depolanması gibi, veri depolama için yüksek güvenlik veya uyumluluk gereksinimleri olan uygulamalar için uygundur.
Şifreleme yöntemleri
OSS, farklı senaryolar için iki sunucu tarafı şifreleme yöntemi sunar. Gereksinimlerinize göre bir yöntem seçebilirsiniz.
Şifreleme yöntemi | Açıklama | Senaryolar | Notlar | Faturalama |
Key Management Service (KMS) tarafından yönetilen anahtarları kullanarak verileri şifreleme ve şifresini çözme (SSE-KMS) | KMS tarafından yönetilen varsayılan müşteri ana master anahtarını (CMK) veya belirtilen bir CMK'yı kullanarak verileri şifreleyin ve şifresini çözün. Veriler, KMS sunucusuna ağ üzerinden gönderilmeden şifrelenir ve şifresi çözülür. | Bu yöntem, güvenlik ve uyumluluk amaçlarıyla belirtebileceğiniz kendi yönettiğiniz anahtarları kullanmanız gereken senaryolar içindir. |
|
|
OSS tarafından yönetilen anahtarları kullanarak verileri şifreleme ve şifresini çözme (SSE-OSS) | Her nesneyi şifrelemek için tamamen OSS tarafından yönetilen bir anahtar kullanın. Gelişmiş güvenlik için OSS, veri şifreleme anahtarının kendisini şifrelemek üzere bir master anahtar da kullanır. | Bu yöntem, yalnızca temel şifrelemeye ihtiyacınız olduğu ve anahtarları yönetmeniz gerekmediği senaryolar içindir. | Yok. | Ücretsiz. |
Notlar
SSE-KMS şifrelemesi etkinleştirilmiş bir paketteki nesneleri yüklerken, indirirken veya erişirken, belirtilen CMK ID'sini kullanma izniniz olduğundan ve isteğin anonim olmadığından emin olun. Aksi takdirde, istek başarısız olur ve
This request is forbidden by kmshatası döndürülür.Yansıtma tabanlı geri kaynağa gitme kullanılarak bir pakete yansıtılan nesneler varsayılan olarak şifrelenmez.
Bir paket için şifreleme yöntemini etkinleştirmek veya değiştirmek, paketteki mevcut nesnelerin şifreleme yapılandırmasını etkilemez.
Bir nesne için aynı anda yalnızca bir sunucu tarafı şifreleme yöntemi kullanılabilir.
Bir paket için şifreleme yapılandırırsanız, bir nesneyi yüklerken veya kopyalarken yine de o nesne için farklı bir şifreleme yöntemi belirtebilirsiniz. Nesne için belirtilen şifreleme yöntemi geçerli olur. Daha fazla bilgi için bkz. PutObject.
İzinler
Aşağıdaki listede, farklı senaryolarda sunucu tarafı şifrelemeyi kullanmak için bir Resource Access Management (RAM) kullanıcısının ihtiyaç duyduğu izinler açıklanmaktadır.
Bir RAM kullanıcısına nasıl izin verileceği hakkında daha fazla bilgi için bkz. RAM kullanıcısına özel izinler verme.
-
Bir paket için şifreleme yöntemini yapılandırma
Hedef paket üzerindeki yönetim izinleri.
PutBucketEncryptionveGetBucketEncryptionizinleri.-
Şifreleme yöntemini SSE-KMS olarak ayarlar ve bir CMK ID'si belirtirseniz,
ListKeys,ListAliases,ListAliasesByKeyIdveDescribeKeyizinleri de gereklidir. Bu senaryo için örnek bir RAM ilkesi aşağıda verilmiştir:{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": [ "kms:List*", "kms:DescribeKey" ], "Resource": [ "acs:kms:*:141661496593****:*" // This policy lets you call all KMS keys under the Alibaba Cloud account ID. To allow the use of only a specific CMK, enter the corresponding CMK ID. ] } ] }
-
Şifrelenmiş bir pakete nesne yükleme
Hedef pakete nesne yükleme izinleri.
-
Şifreleme yöntemi KMS olarak ayarlanmışsa ve bir CMK ID'si belirtilmişse,
ListKeys,ListAliases,ListAliasesByKeyId,DescribeKey,GenerateDataKeyveDecryptizinleri de gereklidir. Bu senaryo için örnek bir RAM ilkesi aşağıda verilmiştir:{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": [ "kms:List*", "kms:DescribeKey", "kms:GenerateDataKey", "kms:Decrypt" ], "Resource": [ "acs:kms:*:141661496593****:*"// This policy lets you call all KMS keys under the Alibaba Cloud account ID. To allow the use of only a specific CMK, enter the corresponding CMK ID. ] } ] }
-
Şifrelenmiş bir paketten nesne indirme
Hedef paketteki nesnelere erişim izinleri.
-
Şifreleme yöntemi KMS olarak ayarlanmışsa ve bir CMK ID'si belirtilmişse,
Decryptizni de gereklidir. Bu senaryo için örnek bir RAM ilkesi aşağıda verilmiştir:{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": [ "kms:Decrypt" ], "Resource": [ "acs:kms:*:141661496593****:*"// This policy grants permissions to decrypt data using all KMS keys under the Alibaba Cloud account ID. To grant permissions to decrypt data using a specific KMS key, enter the corresponding CMK ID. ] } ] }
Yordamlar
KMS için anahtar döndürme ek hizmetini satın alırsanız, sunucu tarafı şifreleme KMS anahtarları için anahtar döndürmeyi destekler. Anahtar döndürme etkinleştirildikten sonra, yeni anahtar yalnızca yeni yüklenen nesneleri şifrelemek için kullanılır. Mevcut nesnelerin şifreleme anahtarları değişmez.
OSS'deki KMS şifreleme anahtarını güncellerseniz, yeni anahtar yalnızca yeni yüklenen nesneleri şifrelemek için kullanılır. Anahtar güncellemesinden önce yüklenen nesneler hala eski anahtarla şifrelenir. Bu nedenle, güncellemeden sonra eski anahtarı silmeyin. Aksi takdirde, mevcut nesnelere erişemezsiniz.
OSS konsolunu kullanma
Alibaba Cloud SDK'larını kullanma
ossutil komut satırı aracını kullanma
Şifreleme ve şifre çözme için KMS tarafından yönetilen anahtarları kullanma
Verileri şifrelemek üzere bir veri şifreleme anahtarı oluşturmak için KMS tarafından yönetilen bir müşteri ana master anahtarı (CMK) kullanabilirsiniz. Zarf şifreleme, yetkisiz veri erişimini önlemek için ek bir güvenlik katmanı sağlar. KMS, anahtarlarınızın gizliliğini, bütünlüğünü ve kullanılabilirliğini sağlamak için yoğun yatırımlar yapmanıza gerek kalmadan veri şifreleme, şifre çözme ve elektronik imza doğrulama gibi iş özelliklerine odaklanmanıza olanak tanır.
Aşağıdaki şekil, SSE-KMS şifrelemenin mantığını gösterir.
SSE-KMS kullanırken aşağıdaki anahtar türlerini kullanabilirsiniz:
-
OSS tarafından yönetilen varsayılan KMS anahtarını kullanma
OSS, farklı nesneleri şifrelemek üzere farklı anahtarlar oluşturmak için varsayılan KMS CMK'sını kullanır ve nesneler indirildiğinde bunların şifresini otomatik olarak çözer. Bu özelliği ilk kez kullandığınızda, OSS KMS'de OSS tarafından yönetilen bir CMK oluşturur.
Yapılandırma yöntemleri:
-
Bir paket için şifreleme yöntemini yapılandırma
Paket şifreleme yöntemini KMS , ancak bir CMK ID'si belirtmeyin. Bu pakete yüklenen tüm nesneler varsayılan olarak şifrelenir.
-
Bir hedef nesne için şifreleme yöntemini yapılandırma
Bir nesne yüklerken veya meta verilerini değiştirirken, istekte
x-oss-server-side-encryptionparametresini dahil edin ve değeriniKMSolarak ayarlayın. OSS daha sonra varsayılan KMS CMK'sını ve AES256 şifreleme algoritmasını kullanarak nesneyi şifreler. Daha fazla bilgi için bkz. PutObject.
-
-
Bring-Your-Own-Key (BYOK) kullanma
KMS konsolunda BYOK materyalini kullanarak bir CMK oluşturduktan sonra, OSS farklı nesneleri şifrelemek üzere farklı anahtarlar oluşturmak için belirtilen KMS CMK'sını kullanabilir. CMK ID'si, şifrelenmiş nesnenin meta verilerinde saklanır. Nesnenin şifresi yalnızca şifre çözme izni olan bir kullanıcı onu indirdiğinde otomatik olarak çözülür.
BYOK materyali iki kaynaktan gelebilir:
Alibaba Cloud tarafından sağlanan BYOK materyali: KMS konsolunda bir anahtar oluştururken, anahtar materyali kaynağı olarak KMS öğesini seçin.
Kendi BYOK materyaliniz: KMS konsolunda bir anahtar oluştururken, anahtar materyali kaynağı olarak External öğesini seçin ve harici anahtar materyalini gerektiği şekilde içe aktarın. Harici anahtar materyalini nasıl içe aktaracağınız hakkında daha fazla bilgi için bkz. Anahtar materyali içe aktarma.
Yapılandırma yöntemleri:
-
Bir paket için şifreleme yöntemini yapılandırma
Paket şifreleme yöntemini KMS ve bir CMK ID'si belirtin. Bu pakete yüklenen tüm nesneler varsayılan olarak şifrelenir.
-
Hedef nesne şifreleme yöntemini yapılandırma
Bir nesne yüklerken veya meta verilerini değiştirirken,
x-oss-server-side-encryptionparametresiniKMSvex-oss-server-side-encryption-key-idparametresini belirtilen CMK ID'sine ayarlayın. OSS, belirtilen KMS CMK'sını ve AES256 şifreleme algoritmasını kullanarak nesneyi şifreler. Daha fazla bilgi için bkz. PutObject.
Şifreleme ve şifre çözme için OSS tarafından yönetilen anahtarları kullanma
OSS, veri şifreleme anahtarlarını oluşturur ve yönetir ve bunları yüksek güçlü, çok faktörlü güvenlik önlemleriyle korur. Veriler, endüstri standardı Gelişmiş Şifreleme Standardı (AES) 256 algoritmaları kullanılarak şifrelenir.
Yapılandırma yöntemleri:
-
Bir paket için şifreleme yöntemini yapılandırma
Paket şifreleme yöntemini SSE-OSS olarak yapılandırın ve şifreleme algoritmasını AES256 olarak belirtin. Bu pakete yüklenen tüm nesneler varsayılan olarak şifrelenir.
-
Bir hedef nesne için şifreleme yöntemini yapılandırma
Bir nesne yüklerken veya meta verilerini değiştirirken, istekte
x-oss-server-side-encryptionparametresini dahil edin ve değeriniAES256olarak ayarlayın. OSS daha sonra OSS tarafından yönetilen bir anahtar kullanarak nesneyi şifreler. Daha fazla bilgi için bkz. PutObject.
İlgili API işlemleri
Yukarıdaki işlemler API işlemlerine dayanarak uygulanır. Uygulamanız yüksek düzeyde özel gereksinimlere sahipse, doğrudan REST API istekleri başlatabilirsiniz. Doğrudan REST API istekleri başlatmak için, imzaları hesaplamak üzere kodu manuel olarak yazmanız gerekir. Daha fazla bilgi için bkz. PutBucketEncryption.
SSS
Bir paket için bir şifreleme yöntemi yapılandırdıktan sonra, OSS mevcut nesneleri şifreler mi?
OSS, yalnızca sunucu tarafı şifreleme yapılandırması etkinleştirildikten sonra yüklenen nesneleri şifreler. Mevcut nesneler şifrelenmez. Mevcut nesneleri şifrelemek için, CopyObject işlemini kullanarak bunların üzerine yazabilirsiniz.