Aracılığıyla paylaş


Dijital İmzalarla Paketlerin Kaynağını Belirleme

Şunlar için geçerlidir:SQL Server Azure Data Factory'de SSIS Integration Runtime

Integration Services paketi, kaynağını tanımlamak için dijital bir sertifikayla imzalanabilir. Bir paket dijital sertifikayla imzalandıktan sonra, paketi yüklemeden önce Integration Services'ın dijital imzayı denetlemesini sağlayabilirsiniz. Integration Services'ın imzayı denetlemesini sağlamak için SQL Server Veri Araçları'nda (SSDT) veya dtexec yardımcı programındaki (dtexec.exe) bir seçenek ayarlarsınız veya isteğe bağlı bir kayıt defteri değeri ayarlarsınız.

Dijital sertifikayla paket imzalama

Bir paketi dijital sertifikayla imzalayabilmeniz için önce sertifikayı almanız veya oluşturmanız gerekir. Sertifikayı aldıktan sonra, paketi imzalamak için bu sertifikayı kullanabilirsiniz. Sertifika alma ve bu sertifikayla bir paket imzalama hakkında daha fazla bilgi için bkz. Dijital Sertifika Kullanarak Paket İmzala.

Paket imzasını denetleme seçeneği ayarlama

Hem SQL Server Veri Araçları (SSDT) hem de dtexec yardımcı programı, imzalı paketin dijital imzasını denetlemek için Integration Services'i yapılandıran bir seçeneğe sahiptir. SQL Server Veri Araçları'nı (SSDT) mı yoksa dtexec yardımcı programını mı kullanacağınız, tüm paketleri mi yoksa yalnızca belirli paketleri mi denetlemek istediğinize bağlıdır:

  • Paketleri tasarım zamanında yüklemeden önce tüm paketlerin dijital imzasını denetlemek için SQL Server Veri Araçları'nda (SSDT) Paket yüklenirken dijital imzayı denetle seçeneğini ayarlayın. Bu seçenek, SQL Server Veri Araçları'ndaki (SSDT) tüm paketler için genel bir ayardır.

  • Tek bir paketin dijital imzasını denetlemek için, paketi çalıştırmak için dtexec yardımcı programını kullanırken /VerifyS[igned] seçeneğini belirtin. Daha fazla bilgi için bkz. dtexec Yardımcı Programı.

Paket imzasını denetlemek için kayıt defteri değeri ayarlama

Integration Services ayrıca, kuruluşun imzalı ve imzasız paketleri yükleme ilkesini yönetmek için kullanabileceğiniz BlockedSignatureStatesisteğe bağlı bir kayıt defteri değerini de destekler. Kayıt defteri değeri, paketler imzalanmamışsa veya geçersiz veya güvenilmeyen imzalara sahipse paketlerin yüklenmesini engelleyebilir. Bu kayıt defteri değerini ayarlama hakkında daha fazla bilgi için bkz. Kayıt Defteri Değeri Ayarlayarak İmzalama İlkesi Uygulama.

Not

İsteğe bağlı BlockedSignatureStates kayıt defteri değeri, SQL Server Veri Araçları'nda (SSDT) veya dtexec komut satırında ayarlanan dijital imza seçeneğinden daha kısıtlayıcı bir ayar belirtebilir. Bu durumda, daha kısıtlayıcı kayıt defteri ayarı diğer ayarları geçersiz kılar.

Kayıt Defteri Değeri Ayarlayarak İmzalama İlkesi Uygulama

bir kuruluşun imzalı veya imzasız paketleri yüklemeye yönelik ilkesini yönetmek için isteğe bağlı bir kayıt defteri değeri kullanabilirsiniz. Bu kayıt defteri değerini kullanırsanız, Integration Services paketlerinin çalıştırılacağı ve ilkeyi zorunlu kılmak istediğiniz her bilgisayarda bu kayıt defteri değerini oluşturmanız gerekir. Kayıt defteri değeri ayarlandıktan sonra, Integration Services paketleri yüklemeden önce imzaları denetler veya doğrular.

Bu makaledeki yordamda, isteğe bağlı BlockedSignatureStates DWORD değeriniN HKLM\SOFTWARE\Microsoft\Microsoft SQL Server\150\SSIS\Setup\DTSPath kayıt defteri anahtarına nasıl ekleneceği açıklanmaktadır.

Not

150'nin altındaki kayıt defteri konumu SQL Server 2019'a, 140'ın altında SQL Server 2017'yi, 130'un altında SQL Server 2016'yı, 120'nin altında SQL Server 2014'e ve 110'un altında SQL Server 2012'yi temsil eder.

BlockedSignatureStates içindeki veri değeri, bir paketin güvenilmeyen bir imzası varsa, geçersiz imzaya sahipse veya imzasızsa engellenip engellenmeyeceğini belirler.

Paketleri imzalamak için kullanılan imzaların durumu için, BlockedSignatureStates kayıt defteri değeri aşağıdaki tanımları kullanır:

  • geçerli imza başarıyla okunabilen bir imzadır.

  • Geçersiz bir imza, şifresi çözülen sağlama toplamı (özel anahtarla şifrelenmiş paket kodunun tek yönlü karması), Integration Services paketlerini yükleme işleminin bir parçası olarak hesaplanan şifresi çözülmüş sağlama toplamıyla eşleşmeyen bir imzadır.

  • güvenilen imza, Güvenilen Kök Sertifika Yetkilisi tarafından imzalanan dijital sertifika kullanılarak oluşturulan imzadır. Bu ayar, imzalayanın kullanıcının Güvenilen Yayımcılar listesinde bulunmasını gerektirmez.

  • güvenilmeyen imza, Güvenilen Kök Sertifika Yetkilisi tarafından verildiği doğrulanamayan veya geçerli olmayan bir imzadır.

Aşağıdaki tabloda DWORD verilerinin geçerli değerleri ve ilişkili ilkeleri listelemektedir.

Değer Açıklama
0 Yönetim kısıtlaması yok.
1 Geçersiz imzaları engelle.

Bu ayar imzalanmamış paketleri engellemez.
2 Geçersiz ve güvenilmeyen imzaları engelleyin.

Bu ayar imzalanmamış paketleri engellemez, ancak kendi kendine oluşturulan imzaları engeller.
3 Geçersiz ve güvenilmeyen imzaları ve imzalanmamış paketleri engelleme

Bu ayar kendi kendine oluşturulan imzaları da engeller.

Not

BlockedSignatureStates için önerilen ayar 3'dür. Bu ayar, imzalanmamış paketlere veya geçerli olmayan veya güvenilmeyen imzalara karşı en yüksek korumayı sağlar. Ancak, önerilen ayar her durumda uygun olmayabilir. Dijital varlıkları imzalama hakkında daha fazla bilgi için MSDN Kitaplığı'ndaki "Kod İmzalamaGiriş" konusuna bakın.

Paketler için bir imzalama ilkesini uygulamak

  1. Başlangıç menüsünde Çalıştır'ıtıklayın.

  2. Çalıştır iletişim kutusuna Regedityazın ve Tamamöğesine tıklayın.

  3. HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\100\SSISkayıt defteri anahtarını bulun.

  4. MSDTSsağ tıklayın, Yeniüzerine gelin ve DWORD Değeriöğesine tıklayın.

  5. Yeni değerin adını BlockedSignatureStatesolarak güncelleştirin.

  6. BlockedSignatureStates öğesine sağ tıklayın ve Değiştiröğesine tıklayın.

  7. DWORD Değerini Düzenle iletişim kutusuna 0, 1, 2 veya 3 değerini yazın.

  8. Tamam'atıklayın.

  9. Dosya menüsünde Çıkıştıklayın.

Dijital Sertifika Kullanarak Paket İmzalayın

Bu konu başlığı altında, Integration Services paketinin dijital sertifikayla nasıl imzalandığı açıklanmaktadır. Geçerli olmayan bir paketin yüklenmesini ve çalıştırılmasını önlemek için dijital imzayı diğer ayarlarla birlikte kullanabilirsiniz.

Integration Services paketini imzalayabilmeniz için önce aşağıdaki görevleri gerçekleştirmeniz gerekir:

  • Sertifikayla ilişkilendirmek için bir özel anahtar oluşturun veya alın ve bu özel anahtarı yerel bilgisayarda depolayın.

  • Güvenilen bir sertifika yetkilisinden kod imzalama amacıyla bir sertifika alın. Sertifika almak veya oluşturmak için aşağıdaki yöntemlerden birini kullanabilirsiniz:

    • Sertifika veren genel, ticari bir sertifika yetkilisinden sertifika alın.

    • Bir kuruluşun dahili olarak sertifika vermesine olanak tanıyan bir sertifika sunucusundan sertifika alın. Sertifikayı imzalamak için kullanılan kök sertifikayı Güvenilen Kök Sertifika Yetkilileri deposuna eklemeniz gerekir. Kök sertifikayı eklemek için, Microsoft Yönetim Konsolu (MMC) için Sertifikalar ek bileşenini kullanabilirsiniz. Daha fazla bilgi için MSDN kitaplığındaki "Sertifika Hizmetleri" konusuna bakın.

    • Yalnızca test amacıyla kendi sertifikanızı oluşturun. PowerShell komutu New-SelfSignedCertificate, test amacıyla güvenli karma algoritmasıyla yeni bir otomatik olarak imzalanan sertifika oluşturabilir. Mesela:

        $params = @{
            Type = 'CodeSigningCert'
            Provider = 'Microsoft Enhanced RSA and AES Cryptographic Provider'
            Subject = 'CN=PS code signing Certificate 2'
            TextExtension = @(
                '2.5.29.37={text}1.3.6.1.5.5.7.3.3',
                '2.5.29.17={text}upn=yourupn' )
            KeyExportPolicy = 'NonExportable'
            KeyUsage = 'DigitalSignature'
            KeyAlgorithm = 'RSA'
            KeyLength = 2048
            CertStoreLocation = 'Cert:\CurrentUser\My'
                     HashAlgorithm = 'sha512'
        }
        New-SelfSignedCertificate @params
    

    "Geçersiz algoritma belirtildi" hata 0x80090008 'Paket imzalama başarısız oldu' hata iletisini görürseniz, sertifika karma algoritmanızın güvenli olmadığını gösterir, lütfen sertifikanızı SHA512 gibi daha güvenli bir karma algoritmayla değiştirin ve bir CSP (Şifreleme Hizmeti Sağlayıcısı) kullanın. .NET framework, SQL Server 2022 için 4.7.2 sürümüne yükseltildiğinden ve SHA1 artık güvenli olmadığı düşünülemediğinden varsayılan SignedXML algoritması SHA256 olarak değiştirildiğinden. Ayrıntılar için bu makaleyebakın.

    Sertifikalar hakkında daha fazla bilgi için Sertifikalar eklentisiyle ilgili çevrimiçi Yardım'a bakın. Dijital varlıkları imzalama hakkında daha fazla bilgi için MSDN Kitaplığı'ndaki "Authenticodeile kod imzalama ve denetleme" konusuna bakın.

  • Sertifikanın kod imzalama için etkinleştirildiğinden emin olun. Sertifikanın kod imzalama için etkinleştirilip etkinleştirilmediğini belirlemek için Sertifikalar ek bileşeninde sertifikanın özelliklerini gözden geçirin.

  • Sertifikayı Kişisel depolama alanında depolayın.

Önceki görevleri tamamladıktan sonra, bir paketi imzalamak için aşağıdaki yordamı kullanabilirsiniz.

Paketi imzalamak için

  1. SQL Server Veri Araçları'nda (SSDT), imzalanacak paketi içeren Integration Services projesini açın.

  2. Çözüm Gezgini'nde paketi çift tıklayarak açın.

  3. SSIS Tasarımcısı'nda, SSIS menüsünde dijital imzalamaöğesine tıklayın.

  4. Dijital İmzalama iletişim kutusunda İmzalaöğesine tıklayın.

  5. Sertifika seçin iletişim kutusunda bir sertifika seçin.

  6. (İsteğe bağlı) Sertifika bilgilerini görüntülemek için Sertifika Görüntüle'ye tıklayın.

  7. Tamam'e tıklayarak Sertifika Seç iletişim kutusunu kapatın.

  8. Tamam'a tıklayarak Dijital İmzalama iletişim kutusunu kapatın.

  9. Güncelleştirilmiş paketi kaydetmek için, Dosya menüsündeki Seçili Öğeleri Kaydet öğesine tıklayın.

    Paket imzalanmış olsa da, paketi yüklemeden önce dijital imzayı denetlemek veya doğrulamak için Integration Services'i yapılandırmanız gerekir.

Dijital İmzalama İletişim Kutusu Kullanıcı Arabirimi Referansı

Bir paketi dijital imzayla imzalamak veya imzayı kaldırmak için Dijital İmzalama iletişim kutusunu kullanın. Dijital İmzalama iletişim kutusu, SQL Server Veri Araçları'ndaki (SSDT) SSIS menüsündeki Dijital İmzalama seçeneğinden kullanılabilir.

Daha fazla bilgi için bkz. Dijital Sertifika Kullanarak Paket İmzala.

Seçenekler

İmzala
Sertifika Seç iletişim kutusunu açmak için tıklayın ve kullanılacak sertifikayı seçin.

Kaldır
Dijital imzayı kaldırmak için tıklayın.

Ayrıca bkz.

SSIS (Entegrasyon Hizmetleri) Paketleri
Güvenliğe Genel Bakış (Integration Services)