Aracılığıyla paylaş


Nasıl Yapılır: TDE EKM kullanarak etkinleştirme

Saydam şifrelemeyi (TDE), tüm bir veritabanının depolama şifreler.TDE veritabanını şifreleme anahtarının adı verilen bir simetrik anahtar kullanarak verileri şifreler.Bu konu, bir Genişletilebilir anahtar yönetimi (EKM) modülünde depolanan bir asimetrik anahtar kullanarak veritabanını şifreleme anahtarının koruma açıklar.

Veritabanını şifreleme anahtarı da asıl veritabanı veritabanı ana anahtar tarafından korunan bir sertifika kullanılarak korunabilir.Veritabanı ana anahtar'nı kullanarak veritabanı şifreleme anahtarının koruma hakkında daha fazla bilgi için bkz: Saydam (TDE) veri şifrelemesi'ni anlama.

TDE bir EKM kullanarak etkinleştirmek için temel adımlar şunlardır:

  1. EKM sağlayıcı'nı yükleyin.Bu adım yordamları EKM gereksinimlerine bağlı olarak değişir sağlayıcı, EKM sertifika yükleme içerebilir ancak sağlayıcı yerel sertifika deposundan ve EKM DLL dosyalarını kopyalama SQL Server Bilgisayar.

  2. configure SQL Server EKM sağlayıcı kullanmak için .

  3. EKM modülünün temel kimlik doğrulaması kullanıyorsa, bir kimlik oluşturmak ve bir kullanıcının kimlik bilgileri ekleyin.

  4. EKM sağlayıcı tarafından korunan bir asimetrik anahtar oluşturun.

  5. EKM modülünün temel kimlik doğrulaması kullanıyorsa, tarafından kullanılacak bir asimetrik anahtar tarafından korunan bir kimlik bilgisi oluşturma Database Engine.

  6. Bir simetrik veritabanı şifreleme anahtar oluştur.

  7. Veritabanını şifreleme anahtarını kullanarak TDE etkinleştirin.

Bu konu, adımları tamamlamak için , bağlanmak SQL Server bir sorgu Düzenleyicisi penceresi kullanma SQL Server Management Studio.

Şifreleme sağlayıcı'nı yapılandırmak için

  1. Üzerinde uygun bir konuma EKM sağlayıcı tarafından sağlanan dosyaları SQL Server Bilgisayar. Bu örnekte, kullanıyoruz c:\ekm klasör.

  2. EKM sağlayıcınızın gerektirdiği gibi bilgisayar sertifikaları yükleyin.

    Not

    SQL Server EKM sağlayıcı sağlamaz.Yükleme, yapılandırma ve kullanıcıların yetkilendirmek için farklı yordamlar, her EKM sağlayıcı olabilir.Bu adımı tamamlamak için EKM sağlayıcı belgelerine başvurun.

SQL Server'ı EKM sağlayıcısı ve SQL Server'da sağlayıcı oluşturma yapılandırmak için

  1. Bir EKM sağlayıcı etkinleştirme gelişmiş bir seçenektir.Önce yürütmek Gelişmiş seçenekleri göstermek için aþaðýdaki.

    sp_configure 'show advanced options', 1 ;
    GO
    RECONFIGURE ;
    GO
    
  2. yürütmek EKM sağlayıcıları'nı etkinleştirmek için aşağıdaki deyim:

    sp_configure 'EKM provider enabled', 1 ;
    GO
    RECONFIGURE ;
    GO
    
  3. EKM_Prov EKM sağlayıcıya göre arama için seçtiğiniz bir şifreleme sağlayıcı oluşturmak için aşağıdaki deyimini yürütün:

    CREATE CRYPTOGRAPHIC PROVIDER EKM_Prov 
    FROM FILE = 'C:\EKM_Files\KeyProvFile.dll' ;
    GO
    

    Not

    EKM DLL dijital olarak imzalanmalıdır.

Veritabanını şifreleme için kullanılan bir kimlik oluşturun.

Bir veritabanı şifreleme anahtar oluşturmak ve bir veritabanı şifrelerseniz, (örneğin, bir Sistem Yöneticisi) yüksek ayrıcalıklı bir kullanıcı olmanız gerekir.Bu kullanıcı EKM modülü tarafından doğrulanamaz olması gerekir.Aşağıdaki yordam, EKM kimliğini kullanır ve yüksek ayrıcalıklı bir kullanıcı için kimlik ekler için geçerli bir kimlik oluşturur.Aşağıdaki yordamlar, EKM modül 'Identity1' adlı bir kullanıcı kimlik doğrulaması yapabilen varsayalım.Aþaðýda gösterildiði yıldız işareti yerine, BIR parola sağlanmalıdır.Bu adımları EKM sağlayıcı, temel kimlik doğrulaması kullanır, ancak diğer kimlik doğrulaması EKM modülü kullanıyorsa, bu bölümdeki adımlar atlanabilir gereklidir.

Bir kimlik oluşturmak ve yüksek ayrıcalıklı bir kullanıcı oturum açma eklemek için

  1. yürütmek Sistem yöneticileri tarafından kullanılan kimlik bilgileri oluşturmak için aşağıdaki deyim:

    CREATE CREDENTIAL sa_ekm_tde_cred 
    WITH IDENTITY = 'Identity1', 
    SECRET = '*************' 
    FOR CRYPTOGRAPHIC PROVIDER EKM_Prov ;
    GO
    
  2. Sistem yönetici kimlik bilgileri gibi kendi etki alanı oturum açma biçiminde yüksek ayrıcalıklı bir kullanıcı eklemek için aşağıdaki deyim yürütmek [DOMAIN\login]:

    ALTER LOGIN [DOMAIN\login]
    ADD CREDENTIAL sa_ekm_tde_cred ;
    GO
    

Bir asimetrik anahtar oluşturma

Veritabanını şifreleme anahtarına erişimi korumak için bir asimetrik anahtar oluşturun.Bu anahtar kullanılır SQL Server veritabanını şifreleme anahtarının erişmek için .

Bir veritabanı şifreleme anahtar oluşturmak için

  • EKM sağlayıcı içinde depolanan bir asimetrik anahtar oluşturmak için aşağıdaki deyim yürütmek.Bu örnekte, SQL Server anahtar adı ekm_login_key göre tanımlayacaktır. EKM aygıtı içinde anahtar adı SQL_Server_Key gerekir.

    Not

    Buradan EKM sağlayıcınız tarafından gereken parametreleri ve seçenekleri değişebilir deyim.Daha fazla bilgi için bkz: EKM sağlayıcınız.

    USE master ;
    GO
    CREATE ASYMMETRIC KEY ekm_login_key 
    FROM PROVIDER [EKM_Prov]
    WITH ALGORITHM = RSA_512,
    PROVIDER_KEY_NAME = 'SQL_Server_Key' ;
    GO
    

    Not

    Asimetrik anahtar EKM modülünde depolanan kaybolursa, veritabanı tarafından açılmak üzere gideremez ve çözemez SQL Server. Geri asimetrik anahtar EKM sağlayıcı sağlar, kadar bir yeniden oluşturmak ve onu güvenli bir yerde saklayın.

Veritabanı Altyapısı tarafından kullanılacak bir kimlik oluşturun.

Başlatma sırasında Database Engine veritabanını açmanız gerekir. Aşağıdaki yordam tarafından EKM kimlik doğrulaması için bir kimlik bilgisi ile oluşturur ve bir oturum için bir asimetrik anahtar dayalı olan, ekler.Kullanıcılar, oturumu kullanan oturum yükleyemezsiniz ancak Database Engine EKM aygıtla kendi kimliğini doğrulamak görebilirsiniz. Aşağıdaki yordamlar, EKM modül 'Identity2' adlı bir kullanıcı kimlik doğrulaması yapabilen varsayalım.Aşağıdaki yıldız işareti yerine, BIR parola sağlanmalıdır.Bu adımları EKM sağlayıcı, temel kimlik doğrulaması kullanır, ancak diğer kimlik doğrulaması EKM modülü kullanıyorsa, bu bölümdeki adımlar atlanabilir gereklidir.

Kimlik bilgileri oluşturmak ve bu oturuma eklemek için

  1. Tarafından kullanılan kimlik bilgileri oluşturmak için aşağıdaki deyim yürütmek Database Engine:

    CREATE CREDENTIAL ekm_tde_cred 
    WITH IDENTITY = 'Identity2' 
    , SECRET = '*************' 
    FOR CRYPTOGRAPHIC PROVIDER EKM_Prov ;
    
  2. TDE tarafından kullanılan bir oturumu eklemek için aşağıdaki deyim yürütmek ve oturum açma için yeni kimlik Ekle:

    CREATE LOGIN EKM_Login 
    FROM ASYMMETRIC KEY ekm_login_key ;
    GO
    
    ALTER LOGIN EKM_Login 
    ADD CREDENTIAL ekm_tde_cred ;
    GO
    

Veritabanı şifreleme anahtar oluştur

Veritabanını şifreleme anahtarının bir simetrik anahtar ' dir.Veritabanını şifreleme anahtar, ana veritabanında oluşturun.

Bir veritabanı şifreleme anahtar oluşturmak için

  1. Şifrelenecek veritabanına değiştirin:

    USE AdventureWorks ;
    GO
    
  2. yürütmek TDE için kullanılan şifreleme anahtarının veritabanı oluşturmak için aşağıdaki kodu:

    CREATE DATABASE ENCRYPTION KEY
    WITH ALGORITHM  = AES_128
    ENCRYPTION BY SERVER ASYMMETRIC KEY ekm_login_key ;
    GO
    
  3. Saydam şifrelemeyi etkinleştirmek için veritabanı değiştirmek için şu kodu çalıştırın:

    ALTER DATABASE AdventureWorks 
    SET ENCRYPTION ON ;
    GO
    

    Veritabanı, şimdi şifrelenmiş biçimde depolanır.

Security

Bu konu, aşağıdaki izinleri kullanır:

  • Bir yapılandırma seçeneğini değiştirmek ve RECONFIGURE deyim, ALTER AYARLARı sunucu düzeyinde iznine sahip olmanız gerekir.ALTER AYARLARı iznine, sysadmin ve sunucu rollerini sabit serveradmin'tarafından örtülü olarak tutulur.

  • ALTER ANY CREDENTIAL iznine gerek duyar.

  • ALTER ANY LOGIN iznine gerek duyar.

  • CREATE ASIMETRIK ANAHTAR iznine gerek duyar.

  • Veritabanını şifrelemek veritabanı üzerinde DENETIM izni gerektirir.