Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Şunlar için geçerlidir:Linux üzerinde SQL Server
Bu makalede, kapsanan bir kullanılabilirlik grubunda (AG) Linux üzerinde çalışan SQL Server için bir makine anahtarının nasıl hazırlandığına ilişkin bir örnek sağlanır.
Kapsanan AG, şu desteği sağlayan bir kullanılabilirlik grubudur:
Örnek düzeyine ek olarak AG düzeyinde meta veri nesnelerini (kullanıcılar, oturum açma bilgileri, izinler, SQL Server Aracısı işleri vb.) yönetme.
AG içindeki özelleştirilmiş bağımsız sistem veritabanları.
Bu makaledeki örnekler Linux kapsayıcılarında SQL Server'ı hedefler, ancak Linux üzerinde SQL Server için aynı adımları kullanabilir, fiziksel makinelerde, sanal makinelerde ve Kubernetes tabanlı bir dağıtımda çalıştırabilirsiniz.
Dikkat
Bu yönergeler yalnızca kapsanan kullanılabilirlik grupları için kullanılmalıdır. Kapsanan AG'yi tüm çoğaltmalarda ortak bir makine anahtarıyla yapılandırdığınızda, önce mevcut bir şifreleme hiyerarşisi olmadığından emin olun (örneğin, saydam veri şifrelemesi, sütun düzeyinde şifreleme veya anahtar yönetimi gerektiren güvenlikle ilgili başka bir özellik). Makine anahtarının değiştirilmesi şifrelemeyi bozabilir ve veri kaybına neden olabilir. Yapılandırmadan sonra, güvenlik nedeniyle şifreleme hiyerarşisini oluşturmaktan veya değiştirmekten kaçının.
Makine anahtarına genel bakış
Linux üzerinde SQL Server'da, makine anahtarı iletişim ve verilerin güvenliğini sağlamada önemli bir rol oynar. Aşağıdaki tabloda birincil işlevleri açıklanmaktadır.
| İşlev | Açıklama |
|---|---|
| Şifreleme ve şifre çözme | Makine anahtarı, AG'deki düğümler arasında değiştirilen verileri şifrelemek ve şifresini çözmek için kullanılır. |
| Kimlik Doğrulaması | Ag'deki birincil ve ikincil çoğaltmalar arasındaki iletişimin kimliğini doğrulamaya yardımcı olur |
| Güvenlik | Yetkisiz erişimi önlemek için makine anahtarı ve ilişkili sertifikaların korunması gerekir |
Linux üzerinde SQL Server 2022 (16.x) ile çalışırken ve AG'ler içerdiğinde, makine anahtarlarını SQL Server çoğaltmaları arasında eşitlemeniz gerekir. Bu işlem, kapsanan master veritabanındaki hizmet ana anahtarının (SMK) şifre çözme ve şifreleme işlemleri için kullanılmasını sağlar.
Tek başına barındırıcı üzerinde özel makine anahtarını çalıştırmak için SQL Server kapsayıcısını hazırlayın.
Aşağıdaki yönergelerde, base64 formatında yeni bir makine anahtarı oluşturma örneği gösterilmektedir.
Aşağıdaki betiği kullanarak OpenSSL aracılığıyla
machine-key.binadlı bir dosyaya bir makine anahtarı dosyası oluşturun.openssl rand -out machine-key.bin 44 printf '\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' | dd of=machine-key.bin bs=1 seek=0 count=12 conv=notrunc cat machine-key.bin | base64Önceki komut dosyası şu adımları gerçekleştirir:
- adlı
machine-key.bin, rastgele veriler içeren 44 baytlık bir ikili dosya oluşturun. - Sabit bir başlıkla ilk 12 bayt'ın üzerine yaz. Bu gelecekte değişebilir.
-
machine-key.binöğesinibase64formatında kodlayın ve konsola yazdırın.
- adlı
Dosyayı SQL Server kapsayıcısının makine anahtarına takarak kapsayıcıyı çalıştırın.
docker run -e "ACCEPT_EULA=Y" -e "MSSQL_SA_PASSWORD=yourpassword" -p 14331:1433 --name sqlcontainer --hostname sqlcontainer -v ~/machine-key.bin:/var/opt/mssql/secrets/machine-key -d mcr.microsoft.com/mssql/server:2022-latestAna makinedeki
machine-key.bin'nin, önceki adımda dağıtılan SQL Server container'ı tarafından kullanılanmachine-key.binile aynı olduğunu doğrulayın.cat machine-key.bin | base64Örnek çıktı şu şekildedir:
AQAAAAAAAAAAAAAA//////////////////////////////////////////8=Kapsayıcının içinde anahtarı doğrulayın. İlk olarak, kapsayıcıdaki etkileşimli bir terminale bağlanın.
docker exec -it sqlcontainer "bash"Ardından anahtarı doğrulayın.
cat machine-key | base64Örnek çıktı şu şekildedir:
AQAAAAAAAAAAAAAA//////////////////////////////////////////8=
İçerilen AG'nizde çoğaltma olarak kullanmayı planladığınız tüm SQL Server kapsayıcı dağıtımlarında aynı adımları kullanabilirsiniz. Aynı makine anahtarını kullanmanız ve SQL Server kapsayıcı dağıtımlarının her biri için farklı makine anahtarları oluşturmamalısınız.