Kullanım halindeki uygulamalarınızı ve verilerinizi korumak amacıyla bir ECS örneği içinde Enclave ile güvenilir bir yalıtım alanı oluşturun.
Arka Plan
Veriler at rest (durumda), in transit (iletimde) ve in use (kullanımda) olmak üzere üç kategoriye ayrılır.
Şifreleme, at rest ve in transit durumundaki verileri korur.
In use durumundaki verilerin korunması için gizli bilgi işlem (confidential computing) gereklidir.
Enclave, bir ECS örneği içinde güvenilir bir yalıtım alanı oluşturur ve kodlarınızın ile verilerinizin kötü amaçlı yazılımlara karşı gizliliğini ve bütünlüğünü sağlamak amacıyla bu alanda meşru yazılımlar çalıştırır. Finans, internet ve sağlık gibi güçlü veri koruması gerektiren sektörler için uygundur.
Enclave Nasıl Çalışır?
Bir ECS örneği (birincil VM) içindeki hesaplama kaynakları (vCPU'lar ve bellek), güvenilir yürütme ortamı olarak bir Enclave VM (EVM) oluşturmak üzere bölünür. EVM şu yöntemlerle güvence altına alınır:
Sanallaştırma tabanlı yalıtım: EVM, birincil VM'den ve diğer ECS örneklerinden yalıtılmıştır.
Minimum saldırı yüzeyi: EVM, kalıcı depolama, etkileşimli bağlantılar veya harici ağ erişimi olmayan bağımsız ve güvenilir bir işletim sistemi çalıştırır. Birincil VM ile yalnızca vsock tabanlı yerel güvenli bir kanal üzerinden iletişim kurar.
Aşağıdaki şekil Enclave'in çalışma mantığını göstermektedir.
Enclave çok katmanlı güvenlik sağlar. TPM veya TCM çiplerine sahip üçüncü nesil SHENLONG mimarisi, güvenliği artırmak için EVM'yi vTPM veya vTCM cihazlarıyla donatır. SDK'lar, Enclave ortamlarını oluşturmanıza ve yönetmenize olanak tanır. Doğrulama sürecinde, gizli uygulamalar çalışma zamanında platform verileri, uygulama bilgileri ve imzaları içeren doğrulama materyalleri üretir ve bunları Key Management Service (KMS) ile çalışabilen uzaktan doğrulama sunucusu aracılığıyla doğrular. Birincil VM, EVM'ye kaynak tahsis ettikten sonra alttaki katman bu kaynakları yalıtarak birincil VM'nin EVM vCPU veya bellek kaynaklarına erişmesini engeller.
Aşağıdaki şekil Enclave mimarisini göstermektedir.
Sınırlamalar
Yalnızca hfg9i, hfc9i, hfr9i, g8i, c8i ve r8i örnek ailelerinde dört veya daha fazla vCPU'ya sahip örnek türleri Enclave'i destekler.
Her ECS örneği yalnızca bir enclave'i destekler.
Enclave kullanmadan önce birincil VM için en az bir fiziksel işlemci çekirdeği ve bir miktar bellek ayırmanız gerekir. Kalan kaynaklar enclave'e tahsis edilebilir. Hyper-threading etkinse aynı çekirdekten iki hyperthread ayrıldığından örneğin en az dört vCPU'su olmalıdır.
Diğer sınırlamalar için bkz. Sınırlamalar.
Enclave Etkin Örnek Oluşturma
Enclave etkin bir örnek oluşturmak, normal bir örnek oluşturmaya benzer. Bu bölümde yalnızca Enclave'e özel parametreler ele alınmıştır. Diğer parametreler için bkz. Özel Başlatma ile Örnek Oluşturma.
ECS konsolu - Örnek sayfasına gidin.
Sayfanın sol üst köşesinde bir bölge ve kaynak grubu seçin.
-
Create Instance öğesine tıklayın ve aşağıdaki parametreleri yapılandırın.
Parameter
Description
Instance Type
hfg9i, hfc9i, hfr9i, g8i, c8i veya r8i örnek ailesinden ≥ 4 vCPU'ya sahip bir örnek türü seçin.
Image
Enclave seçeneğini belirleyin, ardından Alibaba Cloud Linux 2.1903 LTS 64-bit (UEFI) görüntüsünü seçin.
NotEnclave seçildiğinde güvenilir bir işletim sistemi otomatik olarak yüklenir.
Instance RAM Role
Alibaba Cloud tarafından sağlanan hizmet bağlantılı rol olan AliyunECSInstanceForYundunSysTrustRole seçeneğini belirleyin.
Enclave CLI Yükleme
Workbench kullanarak Enclave etkin örneğe SSH üzerinden bağlanma.
-
Enclave CLI RPM paketini yükleyin.
-
Enclave CLI RPM paketini indirin.
wget https://enclave-cn-beijing.oss-cn-beijing.aliyuncs.com/download/linux/enclave-cli/x86_64/2.1903/enclave-cli-1.0.8-1.x86_64.rpm -
Enclave CLI'yı yükleyin.
sudo rpm -ivh enclave-cli-1.0.8-1.x86_64.rpm -
Kurulumu doğrulayın.
enclave-cli --versionBir sürüm numarası döndürülüyorsa kurulum başarılı olmuştur.
[test@iz2zebt88ixxx ~]$ enclave-cli --version Enclave CLI 1.0.8
-
-
Geçerli kullanıcıyı
devedockergruplarına ekleyin.-
Geçerli kullanıcıyı
degrubuna ekleyin:sudo usermod -aG de <username>Not<username>ifadesini gerçek kullanıcı adıyla değiştirin; örneğintest. -
Geçerli kullanıcıyı
dockergrubuna ekleyin.sudo usermod -aG docker <username>Not<username>ifadesini gerçek kullanıcı adıyla değiştirin; örneğintest. Değişikliklerin uygulanması için örneğe yeniden bağlanın.
-
-
Enclave için vCPU'ları ve belleği önceden tahsis edin.
-
allocator.yamldosyasını açın.sudo vim /etc/ali-enclaves/allocator.yaml Ekleme moduna geçmek için
ituşuna basın.-
Aşağıdaki parametreleri ayarlayın:
memory_mib: Enclave'e ayrılan bellek. Birim: MiB.
cpu_count: Enclave'e ayrılan vCPU sayısı.
Aşağıdaki örnekte enclave'e 1.024 MiB bellek ve 2 vCPU tahsis edilmiştir.
# Enclave configuration file. # # How much memory to allocate for enclaves (in MiB). memory_mib: 1024 # # How many CPUs to reserve for enclaves. cpu_count: 2 Dosyayı kaydetmek ve kapatmak için
Esctuşuna basın,:wqyazın ve ardındanEntertuşuna basın.
-
-
Kaynak tahsis hizmetini başlatın ve önyüklemede etkinleştirin.
sudo systemctl start ali-enclaves-allocator.service && \ sudo systemctl enable ali-enclaves-allocator.serviceHizmet, enclave için özel bir vCPU havuzu oluşturur. Bu havuz yalnızca enclave'e özeldir ve ana sunucu örneği tarafından kullanılamaz.
NotAyrılan kaynakları değiştirmek için
allocator.yamldosyasını düzenleyin ve hizmeti yeniden başlatın:sudo systemctl restart ali-enclaves-allocator.service -
Hizmet durumunu kontrol edin.
systemctl status ali-enclaves-allocator.serviceAşağıdaki çıktı, hizmetin çalıştığını gösterir.
[test@iZ2zebt88 ~]$ systemctl status ali-enclaves-allocator.service ● ali-enclaves-allocator.service - Nitro Enclaves Resource Allocator Loaded: loaded (/usr/lib/systemd/system/ali-enclaves-allocator.service; enabled; vendor preset: disabled) Active: active (exited) since Tue 2023-06-20 10:39:57 CST; 46min ago Main PID: 1960 (code=exited, status=0/SUCCESS) -
Docker'ı başlatın ve önyüklemede etkinleştirin.
sudo systemctl start docker && sudo systemctl enable dockerNotEnclave CLI'yı kaldırmak için
sudo yum remove enclave-clikomutunu çalıştırın. Değişikliklerin uygulanması için Örneği yeniden başlatın.
Referanslar
Enclave CLI kullanımı için bkz. Hızlı başlangıç.