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.
Veritabanında bir asimetrik anahtar oluşturur.
Bu özellik, Veri Katmanı Application Framework (DACFx) kullanılarak veritabanı dışarı aktarma işlemiyle uyumsuzdur. Dışarı aktarmadan önce tüm asimetrik anahtarları bırakmanız gerekir.
Transact-SQL söz dizimi kuralları
Note
Bu söz dizimi, Azure Synapse Analytics'teki sunucusuz SQL havuzu tarafından desteklenmez.
Syntax
CREATE ASYMMETRIC KEY asym_key_name
[ AUTHORIZATION database_principal_name ]
[ FROM <asym_key_source> ]
[ WITH <key_option> ]
[ ENCRYPTION BY <encrypting_mechanism> ]
[ ; ]
<asym_key_source>::=
FILE = 'path_to_strong-name_file'
| EXECUTABLE FILE = 'path_to_executable_file'
| ASSEMBLY assembly_name
| PROVIDER provider_name
<key_option> ::=
ALGORITHM = <algorithm>
|
PROVIDER_KEY_NAME = 'key_name_in_provider'
|
CREATION_DISPOSITION = { CREATE_NEW | OPEN_EXISTING }
<algorithm> ::=
{ RSA_4096 | RSA_3072 | RSA_2048 | RSA_1024 | RSA_512 }
<encrypting_mechanism> ::=
PASSWORD = 'password'
Arguments
asym_key_name
Veritabanındaki asimetrik anahtarın adıdır. Asimetrik anahtar adları , tanımlayıcıların kurallarına uymalıdır ve veritabanında benzersiz olmalıdır.
YETKILENDIRME database_principal_name
Asimetrik anahtarın sahibini belirtir. Sahip bir rol veya grup olamaz. Bu seçenek atlanırsa, sahip geçerli kullanıcı olur.
asym_key_source
Asimetrik anahtar çiftinin yüklendiği kaynağı belirtir.
DOSYA = 'path_to_strong-name_file'
Anahtar çiftinin yüklendiği tanımlayıcı ad dosyasının yolunu belirtir. Windows API'sinden MAX_PATH göre 260 karakterle sınırlıdır.
Note
Bu seçenek, kapsanan bir veritabanında kullanılamaz.
YÜRÜTÜLEBILIR DOSYA = 'path_to_executable_file'
Ortak anahtarın yüklendiği derleme dosyasının yolunu belirtir. Windows API'sinden MAX_PATH göre 260 karakterle sınırlıdır.
Note
Bu seçenek, kapsanan bir veritabanında kullanılamaz.
MONTAJ assembly_name
Ortak anahtarın yüklendiği veritabanına zaten yüklenmiş olan imzalı derlemenin adını belirtir.
SAĞLAYICI provider_name
Genişletilebilir Anahtar Yönetimi (EKM) sağlayıcısının adını belirtir. Sağlayıcının önce CREATE PROVIDER deyimi kullanılarak tanımlanması gerekir. Dış anahtar yönetimi hakkında daha fazla bilgi için bkz . Genişletilebilir Anahtar Yönetimi (EKM).
ALGORITMA = <algoritma>
Beş algoritma sağlanabilir; RSA_4096, RSA_3072, RSA_2048, RSA_1024 ve RSA_512.
RSA_1024 ve RSA_512 kullanım dışıdır. RSA_1024 veya RSA_512 kullanmak için (önerilmez) veritabanını 120 veya daha düşük bir veritabanı uyumluluk düzeyine ayarlamanız gerekir.
SQL Server 2022'den (16.x) başlayarak RSA-HSM_2048 ve RSA-HSM_3072 desteklenir.
PROVIDER_KEY_NAME = 'key_name_in_provider'
Dış sağlayıcının anahtar adını belirtir.
CREATION_DISPOSITION = CREATE_NEW
Genişletilebilir Anahtar Yönetimi cihazında yeni bir anahtar oluşturur. PROVIDER_KEY_NAME cihazdaki anahtar adını belirtmek için kullanılmalıdır. Cihazda bir anahtar zaten varsa deyimi hatayla başarısız olur.
CREATION_DISPOSITION = OPEN_EXISTING
SQL Server asimetrik anahtarını mevcut bir Genişletilebilir Anahtar Yönetimi anahtarıyla eşler. PROVIDER_KEY_NAME cihazdaki anahtar adını belirtmek için kullanılmalıdır. CREATION_DISPOSITION = OPEN_EXISTING sağlanmazsa varsayılan değer CREATE_NEW.
PAROLAYLA ŞIFRELEME = 'parola'
Özel anahtarın şifrelendiği parolayı belirtir. Bu yan tümcesi yoksa, özel anahtar veritabanı ana anahtarıyla şifrelenir.
parola en fazla 128 karakterdir.
parola , SQL Server örneğini çalıştıran bilgisayarın Windows parola ilkesi gereksinimlerini karşılamalıdır.
Remarks
Asimetrik anahtar, veritabanı düzeyinde güvenliği sağlanabilir bir varlıktır. Varsayılan biçiminde, bu varlık hem ortak anahtar hem de özel anahtar içerir. FROM yan tümcesi olmadan yürütürken CREATE ASYMMETRIC KEY yeni bir anahtar çifti oluşturur. FROM yan tümcesiyle yürütürken CREATE ASYMMETRIC KEY bir dosyadan anahtar çiftini içeri aktarır ya da bir derleme veya DLL dosyasından ortak anahtarı içeri aktarır.
Varsayılan olarak, özel anahtar veritabanı ana anahtarı tarafından korunur. Veritabanı ana anahtarı oluşturulmadıysa, özel anahtarı korumak için bir parola gerekir.
Özel anahtar 512, 1024 veya 2048 bit uzunluğunda olabilir.
TDE için kullanılan asimetrik anahtarlar 3072 bitlik özel anahtar boyutuyla sınırlıdır.
Permissions
Veritabanında CREATE ASYMMETRIC KEY izni gerektirir. AUTHORIZATION yan tümcesi belirtilirse, veritabanı sorumlusunda KIMLIĞE BÜRÜN izni veya uygulama rolünde ALTER izni gerekir. Yalnızca Windows oturum açma bilgileri, SQL Server oturum açma bilgileri ve uygulama rolleri asimetrik anahtarlara sahip olabilir. Gruplar ve roller asimetrik anahtarlara sahip olamaz.
Examples
A. Asimetrik anahtar oluşturma
Aşağıdaki örnek algoritmayı kullanarak PacificSales09 adlı RSA_2048 bir asimetrik anahtar oluşturur ve özel anahtarı parolayla korur.
CREATE ASYMMETRIC KEY PacificSales09
WITH ALGORITHM = RSA_2048
ENCRYPTION BY PASSWORD = '<enterStrongPasswordHere>';
GO
B. Bir dosyadan asimetrik anahtar oluşturma, kullanıcıya yetkilendirme verme
Aşağıdaki örnek, bir dosyada depolanan anahtar çiftinden asimetrik anahtarı PacificSales19 oluşturur ve asimetrik anahtarın sahipliğini kullanıcıya Christinaatar. Özel anahtar, asimetrik anahtar oluşturulmadan önce oluşturulması gereken veritabanı ana anahtarıyla korunur.
CREATE ASYMMETRIC KEY PacificSales19
AUTHORIZATION Christina
FROM FILE = 'c:\PacSales\Managers\ChristinaCerts.tmp';
GO
C. EKM sağlayıcısından asimetrik anahtar oluşturma
Aşağıdaki örnek, adlı EKM_askey1Genişletilebilir Anahtar Yönetimi sağlayıcısında depolanan bir anahtar çiftinden asimetrik anahtarı EKM_Provider1 ve bu sağlayıcıda adlı key10_user1bir anahtarı oluşturur.
CREATE ASYMMETRIC KEY EKM_askey1
FROM PROVIDER EKM_Provider1
WITH
ALGORITHM = RSA_2048,
CREATION_DISPOSITION = CREATE_NEW
, PROVIDER_KEY_NAME = 'key10_user1' ;
GO
Ayrıca Bkz.
ALTER ASIMETRIK ANAHTAR (Transact-SQL)
DROP ASIMETRIK ANAHTAR (Transact-SQL)
ASYMKEYPROPERTY (Transact-SQL)
ASYMKEY_ID (Transact-SQL)
Şifreleme Algoritması Seçme
Şifreleme Hiyerarşisi
Azure Key Vault Kullanarak Genişletilebilir Anahtar Yönetimi (SQL Server)