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:SQL Server
Azure SQL Veritabanı
Azure SQL Yönetilen Örneği
Bu öğretici, Always Encrypted'ı kullanmaya başlamayı öğretir. Size şunu gösterir:
- Veritabanınızda seçili sütunları şifreleme.
- Şifrelenmiş sütunları sorgulama.
Uyarı
Güvenli kuşatmalarla Always Encrypted hakkında bilgi arıyorsanız bunun yerine aşağıdaki öğreticilere bakın:
Önkoşullar
Bu eğitim için şunlara ihtiyacınız var:
- Azure SQL Veritabanı, Azure SQL Yönetilen Örneği veya SQL Server'da boş bir veritabanı. Aşağıdaki yönergelerde veritabanı adının ContosoHR olduğu varsayılır. Veritabanının sahibi olmanız gerekir ( db_owner rolünün bir üyesi). Veritabanı oluşturma hakkında bilgi için bkz . Hızlı Başlangıç: Tek veritabanı oluşturma - Azure SQL Veritabanı veya SQL Server'da veritabanı oluşturma.
- İsteğe bağlı, ancak özellikle veritabanınız Azure'daysa önerilir: Azure Key Vault'ta bir anahtar kasası. Anahtar kasası oluşturma hakkında bilgi için bkz . Hızlı Başlangıç: Azure portalını kullanarak anahtar kasası oluşturma.
- Anahtar kasanız erişim ilkesi izin modelini kullanıyorsa, anahtar kasasında aşağıdaki anahtar izinlerine sahip olduğunuzdan emin olun:
get,list,create,unwrap key,wrap key, ,verify,sign. Bakınız Key Vault erişim ilkesi atama. - Azure rol tabanlı erişim denetimi (RBAC) izin modelini kullanıyorsanız anahtar kasanızın Key Vault Şifreleme Yetkilisi rolünün üyesi olduğunuzdan emin olun. Bkz Azure rol tabanlı erişim denetimiyle Key Vault anahtarlarına, sertifikalarına ve gizli bilgilerine erişim sağlama.
- Anahtar kasanız erişim ilkesi izin modelini kullanıyorsa, anahtar kasasında aşağıdaki anahtar izinlerine sahip olduğunuzdan emin olun:
- SQL Server Management Studio'nun (SSMS) en son sürümü veya SqlServer ve Az PowerShell modüllerinin en son sürümü. Az PowerShell modülü yalnızca Azure Key Vault kullanıyorsanız gereklidir.
1. Adım: Veritabanı şemasını oluşturma ve doldurma
Bu adımda İnsan Kaynakları şemasını ve Çalışanlar tablosunu oluşturacaksınız. Ardından tabloyu bazı verilerle dolduracaksınız.
Veritabanınıza bağlanın. SSMS'den veritabanına bağlanma yönergeleri için bkz . Hızlı Başlangıç: SQL Server Management Studio (SSMS) kullanarak Azure SQL Veritabanı'na veya Azure SQL Yönetilen Örneği'ne bağlanmave sorgulama veya Hızlı Başlangıç: SQL Server Management Studio (SSMS) kullanarak SQL Server örneğini bağlama ve sorgulama.
ContosoHR veritabanı için yeni bir sorgu penceresi açın.
Employees adlı yeni bir tablo oluşturmak için aşağıdaki deyimleri yapıştırıp yürütün.
CREATE SCHEMA [HR]; GO CREATE TABLE [HR].[Employees] ( [EmployeeID] [int] IDENTITY(1,1) NOT NULL , [SSN] [char](11) NOT NULL , [FirstName] [nvarchar](50) NOT NULL , [LastName] [nvarchar](50) NOT NULL , [Salary] [money] NOT NULL ) ON [PRIMARY];Employees tablosuna birkaç çalışan kaydı eklemek için aşağıdaki satırları yapıştırın ve yürütün.
INSERT INTO [HR].[Employees] ( [SSN] , [FirstName] , [LastName] , [Salary] ) VALUES ( '795-73-9838' , N'Catherine' , N'Abel' , $31692 ); INSERT INTO [HR].[Employees] ( [SSN] , [FirstName] , [LastName] , [Salary] ) VALUES ( '990-00-6818' , N'Kim' , N'Abercrombie' , $55415 );
2. Adım: Sütunları şifreleme
Bu adımda, Always Encrypted için bir sütun ana anahtarı ve bir sütun şifreleme anahtarı sağlarsınız. Ardından, Çalışanlar tablosundaki SSN ve Maaş sütunlarını şifreleyeceksiniz.
SSMS, bir sütun ana anahtarı, sütun şifreleme anahtarı ayarlayarak ve seçili sütunları şifreleyerek Always Encrypted'ı kolayca yapılandırmanıza yardımcı olan bir sihirbaz sağlar.
Nesne Gezgini'ndeVeritabanları>ContosoHR>Tabloları'yı genişletin.
Çalışanlar tablosuna sağ tıklayın ve Always Encrypted sihirbazını açmak için Sütunları Şifrele'yi seçin.
Sihirbazın Giriş sayfasında İleri'yi seçin.
Sütun Seçimi sayfasında.
- SSN ve Maaş sütunlarını seçin. SSN sütunu için belirleyici şifrelemeyi ve Maaş sütunu için rastgele şifrelemeyi seçin. Deterministik şifreleme, şifrelenmiş sütunlarda eşitlik karşılaştırmaları içeren nokta arama aramaları gibi sorguları destekler. Rastgele şifreleme, şifrelenmiş sütunlarda herhangi bir hesaplamayı desteklemez.
- CEK-Auto1 (Yeni)'yi her iki sütun için de sütun şifreleme anahtarı olarak bırakın. Bu anahtar henüz yok ve sihirbaz tarafından oluşturulacak.
- sonrakiseçin.
Ana Anahtar Yapılandırması sayfasında, sihirbaz tarafından oluşturulacak yeni bir sütun ana anahtarı yapılandırın. İlk olarak, sütun ana anahtarınızı depolamak istediğiniz yeri seçmeniz gerekir. Sihirbaz iki anahtar deposu türünü destekler:
- Azure Key Vault - Veritabanınız Azure'daysa önerilir
- Windows sertifika deposu
Genel olarak, özellikle veritabanınız Azure'daysa Azure Key Vault önerilir.
Azure Key Vault'ı kullanmak için:
- Azure Key Vault'a tıklayın.
- Oturum aç'ı seçin ve Azure'da oturum açmayı tamamlayın.
- Oturum açtıktan sonra sayfa, erişiminiz olan aboneliklerin ve anahtar kasalarının listesini görüntüler. Kullanmak istediğiniz anahtar kasasını içeren bir Azure aboneliği seçin.
- Anahtar kasanızı seçin.
- sonrakiseçin.
Windows sertifika depolarını kullanmak için:
Windows sertifika deposu'ni seçin.
Varsayılan Geçerli Kullanıcı seçimini değiştirmeyin. Bu, sihirbaza Geçerli Kullanıcı deposunda bir sertifika (yeni sütun ana anahtarınız) oluşturmasını ister.
sonrakiseçin.
In-Place Şifreleme Ayarları sayfasında, veritabanında enklav etkin olmadığı için ek yapılandırma gerekmez. sonrakiseçin.
Çalıştırma Ayarları sayfasında, şifrelemeye devam etmek mi yoksa daha sonra yürütülecek bir PowerShell betiği oluşturmak mı istediğiniz sorulur. Varsayılan ayarları bırakın ve İleri'yi seçin.
Özet sayfasında, sihirbaz yürütülecek eylemler hakkında sizi bilgilendirecektir. Tüm bilgilerin doğru olup olmadığını denetleyin ve Son'u seçin.
Sonuçlar sayfasında sihirbazın işlemlerinin ilerleme durumunu izleyebilirsiniz. Tüm işlemler başarıyla tamamlanana kadar bekleyin ve Kapat'ı seçin.
(İsteğe bağlı) Sihirbazın veritabanınızda yaptığı değişiklikleri keşfedin.
ContosoHR>Güvenliği>Always Encrypted Anahtarları'nı genişleterek sütun ana anahtarının meta veri nesnelerini ve sihirbazın oluşturduğu sütun şifrelemesini keşfedin.
Anahtar meta verileri içeren sistem kataloğu görünümlerine karşı aşağıdaki sorguları da çalıştırabilirsiniz.
SELECT * FROM sys.column_master_keys; SELECT * FROM sys.column_encryption_keys SELECT * FROM sys.column_encryption_key_valuesNesne Gezgini'ndeÇalışanlar tablosuna sağ tıklayın ve Betik Tablosu'nu>> olarak seçin. Bu, Çalışanlar tablosunun CREATE TABLE deyimiyle yeni bir sorgu penceresi açar. SSN ve Maaş sütunlarının tanımlarında görünen ENCRYPTED WITH yan tümcesine dikkat edin.
Şifrelenmiş iki sütun için sütun düzeyinde şifreleme meta verilerini almak için sys.columns dosyasında aşağıdaki sorguyu da çalıştırabilirsiniz.
SELECT [name] , [encryption_type] , [encryption_type_desc] , [encryption_algorithm_name] , [column_encryption_key_id] FROM sys.columns WHERE [encryption_type] IS NOT NULL;
3. Adım: Şifrelenmiş sütunları sorgulama
Bağlantınız için Always Encrypted devre dışı bırakılmış olarak veritabanınıza bağlanın.
- Yeni bir sorgu penceresi açın.
- Sorgu penceresinde herhangi bir yere sağ tıklayın ve Bağlantı> seçin. Bu işlem Veritabanı Altyapısına Bağlan iletişim kutusunu açar.
- Seçenekleri<< belirleyin. Bu, Veritabanı Altyapısına Bağlan iletişim kutusunda ek sekmeler gösterir.
- Always Encrypted sekmesini seçin.
- Always Encrypted'ı Etkinleştir (sütun şifrelemesi) seçeneğinin seçili olmadığından emin olun.
- Bağlan seçeneğini seçin.
Yapıştırın ve aşağıdaki sorguyu çalıştırın. Sorgu ikili şifrelenmiş veriler döndürmelidir.
SELECT [SSN], [Salary] FROM [HR].[Employees]
Bağlantınız için Always Encrypted etkinken veritabanınıza bağlanın.
- Sorgu penceresinde herhangi bir yere sağ tıklayın ve Bağlantı> seçin. Bu işlem Veritabanı Altyapısına Bağlan iletişim kutusunu açar.
- Seçenekleri<< belirleyin. Bu, Veritabanı Altyapısına Bağlan iletişim kutusunda ek sekmeler gösterir.
- Always Encrypted sekmesini seçin.
- Always Encrypted'ı Etkinleştir (sütun şifrelemesi) seçeneğini belirleyin.
- Bağlan seçeneğini seçin.
Aynı sorguyu yeniden çalıştırın. Veritabanı bağlantınız için Always Encrypted etkinleştirildiğinden, SSMS'deki istemci sürücüsü her iki şifrelenmiş sütunda depolanan verilerin şifresini çözmeyi dener. Azure Key Vault kullanıyorsanız Azure'da oturum açmanız istenebilir.
Always Encrypted için Parametreleştirmeyi etkinleştirin. Bu özellik, verileri şifrelenmiş sütunlara göre filtreleyen (veya şifrelenmiş sütunlara veri ekleyen) sorgular çalıştırmanızı sağlar.
- SSMS'nin ana menüsünden Sorgu'yu seçin.
- Sorgu Seçenekleri'ni seçin....
- Yürütme>Gelişmiş Ayarlar'a girin.
- Always Encrypted için Parametreleştirmeyi Etkinleştir seçeneğinin işaretli olduğundan emin olun.
- Tamam'ı seçin.
Verileri şifrelenmiş SSN sütununa göre filtreleyen aşağıdaki sorguyu yapıştırın ve yürütün. Sorgu düz metin değerleri içeren bir satır döndürmelidir.
DECLARE @SSN [char](11) = '795-73-9838' SELECT [SSN], [Salary] FROM [HR].[Employees] WHERE [SSN] = @SSNİsteğe bağlı olarak, erişim ilkesi izin modeliyle yapılandırılmış Azure Key Vault kullanıyorsanız, kullanıcı verileri koruyan sütun ana anahtarına erişmeden şifrelenmiş sütunlardan düz metin verileri almaya çalıştığında neler olduğunu görmek için aşağıdaki adımları izleyin.
- Anahtar
unwrapkasanızın erişim ilkesinde kendiniz için anahtar iznini kaldırın. Daha fazla bilgi için bkz. Key Vault erişim ilkesi atama. - SSMS'deki istemci sürücüsü bir anahtar kasasından alınan sütun şifreleme anahtarlarını 2 saat boyunca önbelleğe aldığı için SSMS'yi kapatın ve yeniden açın. Bu, anahtar önbelleğinin boş olmasını sağlar.
- Bağlantınız için Always Encrypted etkinken veritabanınıza bağlanın.
- Yapıştırın ve aşağıdaki sorguyu çalıştırın. Sorgu, gerekli
unwrapiznin eksik olduğunu belirten hata iletisiyle başarısız olmalıdır.
SELECT [SSN], [Salary] FROM [HR].[Employees]- Anahtar
Sonraki Adımlar
Ayrıca bakınız
- Always Encrypted belgeleri
- Always Encrypted ile güvenli yerleşimler belgeleri
- SQL Server Management Studio kullanarak Always Encrypted anahtarları sağlama
- PowerShell kullanarak Always Encrypted'ı yapılandırma
- Always Encrypted sihirbazı
- SQL Server Management Studio ile Always Encrypted kullanarak sütunları sorgulama