Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A következőkre vonatkozik:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
SQL-adatbázis a Microsoft Fabricben
Létrehoz egy aszimmetrikus kulcsot az adatbázisban.
Ez a funkció nem kompatibilis az adatbázis-exportálással a Data Tier Application Framework (DACFx) használatával. Exportálás előtt el kell dobnia az összes aszimmetrikus kulcsot.
Transact-SQL szintaxis konvenciók
Note
Ezt a szintaxist az Azure Synapse Analytics kiszolgáló nélküli SQL-készlete nem támogatja.
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
Az adatbázis aszimmetrikus kulcsának neve. Az aszimmetrikus kulcsneveknek meg kell felelniük az azonosítókra vonatkozó szabályoknak, és egyedinek kell lenniük az adatbázisban.
AUTHORIZATION
database_principal_name
Megadja az aszimmetrikus kulcs tulajdonosát. A tulajdonos nem lehet szerepkör vagy csoport. Ha ez a beállítás nincs megadva, a tulajdonos lesz az aktuális felhasználó.
A asym_key_source
Az aszimmetrikus kulcspár betöltésének forrását adja meg.
FILE = "path_to_strong-name_file"
Egy erős névvel rendelkező fájl elérési útját adja meg, amelyből betölti a kulcspárt. Legfeljebb 260 karaktert MAX_PATH a Windows API-ból.
Note
Ez a beállítás nem érhető el egy tartalmazott adatbázisban.
VÉGREHAJTHATÓ FÁJL = "path_to_executable_file"
Megadja annak a szerelvényfájlnak az elérési útját, amelyből betölti a nyilvános kulcsot. Legfeljebb 260 karaktert MAX_PATH a Windows API-ból.
Note
Ez a beállítás nem érhető el egy tartalmazott adatbázisban.
ASSEMBLY
assembly_name
Megadja annak az aláírt szerelvénynek a nevét, amely már be lett töltve abba az adatbázisba, amelyből betölti a nyilvános kulcsot.
SZOLGÁLTATÓ provider_name
Megadja az Extensible Key Management (EKM) szolgáltató nevét. A szolgáltatót először a CREATE PROVIDER utasítással kell definiálni. A külső kulcskezelésről további információt az Extensible Key Management (EKM) című témakörben talál.
ALGORITMUS = <algoritmus>
Öt algoritmus adható meg; RSA_4096, RSA_3072, RSA_2048, RSA_1024 és RSA_512.
RSA_1024 és RSA_512 elavultak. A RSA_1024 vagy RSA_512 használatához (nem ajánlott) az adatbázist 120-es vagy annál alacsonyabb adatbázis-kompatibilitási szintre kell állítania.
Az SQL Server 2022-től (16.x) kezdődően a RSA-HSM_2048 és a RSA-HSM_3072 támogatottak.
PROVIDER_KEY_NAME = "key_name_in_provider"
Megadja a külső szolgáltató kulcsnevét.
CREATION_DISPOSITION = CREATE_NEW
Új kulcsot hoz létre az Bővíthető kulcskezelő eszközön. PROVIDER_KEY_NAME kell használni az eszköz kulcsnevének megadásához. Ha már létezik kulcs az eszközön, az utasítás hibával meghiúsul.
CREATION_DISPOSITION = OPEN_EXISTING
Az SQL Server aszimmetrikus kulcsát egy meglévő bővíthető kulcskezelési kulcshoz rendeli. PROVIDER_KEY_NAME kell használni az eszköz kulcsnevének megadásához. Ha CREATION_DISPOSITION = OPEN_EXISTING nincs megadva, az alapértelmezett érték CREATE_NEW.
TITKOSÍTÁS JELSZÓ ALAPJÁN = "jelszó"
Megadja azt a jelszót, amellyel titkosítani szeretné a titkos kulcsot. Ha ez a záradék nincs megadva, a titkos kulcs az adatbázis főkulcsával lesz titkosítva.
a jelszó legfeljebb 128 karakter hosszúságú lehet.
a jelszónak meg kell felelnie az SQL Server-példányt futtató számítógép Windows jelszóházirend-követelményeinek.
Remarks
Az aszimmetrikus kulcs egy biztonságos entitás az adatbázis szintjén. Az entitás alapértelmezett formájában egy nyilvános és egy titkos kulcsot is tartalmaz. Ha FROM klauzula nélkül hajtják végre, CREATE ASYMMETRIC KEY új kulcspárt generál. A FROM záradékzal CREATE ASYMMETRIC KEY történő végrehajtáskor kulcspárt importál egy fájlból, vagy egy nyilvános kulcsot importál egy assembly vagy DLL fájlból.
Alapértelmezés szerint a titkos kulcsot az adatbázis főkulcsa védi. Ha nem jött létre adatbázis-főkulcs, jelszó szükséges a titkos kulcs védelméhez.
A titkos kulcs 512, 1024 vagy 2048 bites lehet.
A TDE-hez használt aszimmetrikus kulcsok 3072 bites titkos kulcsméretre korlátozódnak.
Permissions
Az adatbázishoz CREATE ASYMMETRIC KEY engedély szükséges. Ha a AUTHORIZATION záradék meg van megadva, az IMPERSONATE engedélyt követel az adatbázis alapítóján, vagy ALTER engedélyt az alkalmazás szerepére. Csak Windows-bejelentkezések, SQL Server-bejelentkezések és alkalmazásszerepkörök rendelkezhetnek aszimmetrikus kulcsokkal. A csoportok és szerepkörök nem birtokolhatók aszimmetrikus kulcsokkal.
Examples
A. Aszimmetrikus kulcs létrehozása
Az alábbi példa létrehoz egy aszimmetrikus kulcsot az PacificSales09 algoritmus használatával, RSA_2048 és jelszóval védi a titkos kulcsot.
CREATE ASYMMETRIC KEY PacificSales09
WITH ALGORITHM = RSA_2048
ENCRYPTION BY PASSWORD = '<password>';
GO
B. Aszimmetrikus kulcs létrehozása fájlból, engedélyezés a felhasználó számára
Az alábbi példa egy fájlban tárolt kulcspárból hozza létre az aszimmetrikus kulcsot PacificSales19 , és hozzárendeli az aszimmetrikus kulcs tulajdonjogát a felhasználóhoz Christina. A titkos kulcsot az adatbázis főkulcsa védi, amelyet az aszimmetrikus kulcs létrehozása előtt kell létrehozni.
CREATE ASYMMETRIC KEY PacificSales19
AUTHORIZATION Christina
FROM FILE = 'c:\PacSales\Managers\ChristinaCerts.tmp';
GO
C. Aszimmetrikus kulcs létrehozása EKM-szolgáltatóból
Az alábbi példa egy bővíthető kulcskezelő szolgáltatóban EKM_askey1tárolt kulcspárból hozza létre az aszimmetrikus kulcsotEKM_Provider1, és egy kulcsot az adott szolgáltatónkey10_user1.
CREATE ASYMMETRIC KEY EKM_askey1
FROM PROVIDER EKM_Provider1
WITH
ALGORITHM = RSA_2048,
CREATION_DISPOSITION = CREATE_NEW
, PROVIDER_KEY_NAME = 'key10_user1' ;
GO