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
Felügyelt Azure SQL-példány
Kiszolgálószintű hitelesítő adatokat hoz létre. A hitelesítő adatok olyan rekordok, amelyek az SQL Serveren kívüli erőforráshoz való csatlakozáshoz szükséges hitelesítési adatokat tartalmazzák. A legtöbb hitelesítő adat windowsos felhasználót és jelszót tartalmaz. Előfordulhat például, hogy az adatbázis biztonsági mentésének bizonyos helyre történő mentése esetén az SQL Servernek speciális hitelesítő adatokat kell megadnia a hely eléréséhez. További információ: hitelesítő adatok (adatbázismotor).
Jegyzet
A hitelesítő adatok adatbázisszintű használatához CREATE DATABASE SCOPED CREDENTIAL (Transact-SQL).
Hozzon létre egy kiszolgálószintű hitelesítő adatokat CREATE CREDENTIAL, ha ugyanazt a hitelesítő adatot több adatbázishoz kell használnia a kiszolgálón.
- Hozzon létre egy adatbázis-hatókörű hitelesítő adatot
CREATE DATABASE SCOPED CREDENTIALaz adatbázis hordozhatóbbá tétele érdekében. Amikor egy adatbázist új kiszolgálóra helyez át, az adatbázis hatókörébe tartozó hitelesítő adatok vele együtt lesznek áthelyezve. - Adatbázis-hatókörű hitelesítő adatok használata az SQL Database-ben.
- Adatbázis-hatókörű hitelesítő adatok használata PolyBase és Felügyelt Azure SQL-példány adatvirtualizálási funkcióival.
Transact-SQL szintaxis konvenciói
Szintaxis
CREATE CREDENTIAL credential_name
WITH IDENTITY = 'identity_name'
[ , SECRET = 'secret' ]
[ FOR CRYPTOGRAPHIC PROVIDER cryptographic_provider_name ]
Érvek
credential_name
Megadja a létrehozott hitelesítő adatok nevét. credential_name nem kezdődhet a szám (#) jellel. A rendszer hitelesítő adatai a ##-tal kezdődnek.
Fontos
Közös hozzáférésű jogosultságkód (SAS) használatakor ennek a névnek meg kell egyeznie a tároló elérési útjával, https-vel kell kezdődnie, és nem tartalmazhat perjelet. Lásd D példa.
Ha külső adatplatformok , például Azure Blob Storage vagy S3-kompatibilis platformok használatával történő biztonsági mentésre/visszaállításra használják, az alábbi táblázat általános elérési utakat biztosít:
| Külső adatforrás | Hely elérési útja | Példa |
|---|---|---|
| Azure Blob Storage (V2) | https://<mystorageaccountname>.blob.core.windows.net/<mystorageaccountcontainername> |
D példa |
| Azure Key Vault | <keyvaultname>.vault.azure.net |
H példa |
| Azure Key Vault felügyelt hardveres biztonsági modul (HSM) | <akv-name>.managedhsm.azure.net |
H példa |
| S3-kompatibilis objektumtároló | - S3-kompatibilis tároló: s3://<server_name>:<port>/- AWS S3: s3://<bucket_name>.S3.<region>.amazonaws.com[:port]/<folder>vagy s3://s3.<region>.amazonaws.com[:port]/<bucket_name>/<folder> |
F példa |
IDENTITÁS = 'identity_name'
Megadja a kiszolgálón kívüli csatlakozáskor használni kívánt fiók nevét. Amikor a hitelesítő adatokat az Azure Key Vault eléréséhez használják, a IDENTITY a kulcstartó neve. Lásd az alábbi C példát. Ha a hitelesítő adatok közös hozzáférésű jogosultságkódot (SAS) használnak, a IDENTITÁSKÖZÖS HOZZÁFÉRÉSŰ JOGOSULTSÁGKÓD. Lásd az alábbi D példát.
Fontos
Az Azure SQL Database csak az Azure Key Vaultot és a közös hozzáférésű jogosultságkód-identitásokat támogatja. A Windows felhasználói azonosítók nem támogatottak.
TITKOS ='titkos'
Megadja a kimenő hitelesítéshez szükséges titkos kulcsot.
Amikor a hitelesítő adatokat az Azure Key Vault eléréséhez használják, a TITKOS argumentumot a szolgáltatásnév <ügyfélazonosítójának> (kötőjelek nélkül) és <titkos>kell formáznia, és szóköz nélkül kell egymás között átadni. Lásd az alábbi C példát. Ha a hitelesítő adatok közös hozzáférésű jogosultságkódot használnak, a TITKOS a közös hozzáférésű jogosultságkód jogkivonata. Lásd az alábbi D példát. A tárolt hozzáférési szabályzatok és az Azure-tárolók közös hozzáférésű jogosultságkódjának létrehozásáról az 1. lecke: Tárolt hozzáférési szabályzat és közös hozzáférésű jogosultságkód létrehozása egy Azure-tárolón.
TITKOSÍTÁSI SZOLGÁLTATÓ CRYPTOGRAPHIC_PROVIDER_NAME
Egy vállalati kulcskezelő szolgáltató (EKM)nevét adja meg. További információ a kulcskezelésről: Bővíthető kulcskezelés (EKM).
Megjegyzések
Ha az IDENTITY Windows-felhasználó, a titkos kód lehet a jelszó. A titkos kód a szolgáltatás főkulcsával (SMK) van titkosítva. Ha az SMK újra létrejön, a titkos kód újra lesz titkosítva az új SMK használatával.
A hitelesítő adatok létrehozása után leképezheti egy SQL Server-bejelentkezésre CREATE LOGIN vagy ALTER LOGINhasználatával. Az SQL Server-bejelentkezések csak egy hitelesítő adatra képezhetők le, de egyetlen hitelesítő adat több SQL Server-bejelentkezéshez is leképezhető. További információ: hitelesítő adatok (adatbázismotor). A kiszolgálószintű hitelesítő adatok csak bejelentkezésre képezhetők le, adatbázis-felhasználóra nem.
A hitelesítő adatokra vonatkozó információk a sys.credentials katalógusnézetben láthatók.
Ha nincs bejelentkezési hitelesítő adat a szolgáltatóhoz, a rendszer az SQL Server szolgáltatásfiókhoz leképezett hitelesítő adatokat használja.
Egy bejelentkezéshez több hitelesítő információt is csatolhatnak, amennyiben azokat különböző szolgáltatókkal használják. Bejelentkezésenként csak egy leképezett hitelesítő adat lehet szolgáltatónként. Ugyanez a hitelesítő adat leképezhető más bejelentkezésekre is.
Engedélyek
HITELESÍTŐ ADATOK MÓDOSÍTÁSA engedély szükséges.
Példák
Egy. Hitelesítő adatok létrehozása Windows-identitáshoz
Az alábbi példa létrehozza a AlterEgonevű hitelesítő adatot. A hitelesítő adatok tartalmazzák a Windows-felhasználó Mary5 és egy jelszót.
CREATE CREDENTIAL AlterEgo WITH IDENTITY = 'Mary5',
SECRET = '<EnterStrongPasswordHere>';
GO
B. Hitelesítő adatok létrehozása AZ EKM-hez
Az alábbi példa egy korábban létrehozott User1OnEKM nevű fiókot használ egy EKM-modulon az EKM felügyeleti eszközein keresztül, alapszintű fióktípussal és jelszóval. A kiszolgálón található sysadmin fiók létrehoz egy hitelesítő adatot, amely az EKM-fiókhoz való csatlakozáshoz használatos, és hozzárendeli az User1 SQL Server-fiókhoz:
CREATE CREDENTIAL CredentialForEKM
WITH IDENTITY='User1OnEKM', SECRET='<EnterStrongPasswordHere>'
FOR CRYPTOGRAPHIC PROVIDER MyEKMProvider;
GO
/* Modify the login to assign the cryptographic provider credential */
ALTER LOGIN User1
ADD CREDENTIAL CredentialForEKM;
C. Hitelesítő adatok létrehozása AZ EKM-hez az Azure Key Vault használatával
Az alábbi példa létrehoz egy SQL Server-hitelesítő adatokat az adatbázismotor számára, amelyet az Azure Key Vault elérésekor a Microsoft Azure Key Vault SQL Server-összekötőjével. Az SQL Server-összekötő használatának teljes példáját az Bővíthető kulcskezelés az Azure Key Vault (SQL Server) használatávalcímű témakörben talál.
Fontos
A CREATE CREDENTIALIDENTITY argumentumához a kulcstartó neve szükséges. A CREATE CREDENTIALSECRET argumentumához a <ügyfélazonosító> (kötőjelek nélkül) és <titkos> kell egymás között szóköz nélkül átadni. A felügyelt identitások EKM-ben támogatottak, a hitelesítő adatok pedig felügyelt identitásokkal használhatók. Példa: H példa.
Az alábbi példában a
USE master;
CREATE CREDENTIAL Azure_EKM_TDE_cred
WITH IDENTITY = 'ContosoKeyVault',
SECRET = '11111111222233334444555555555555SECRET_DBEngine'
FOR CRYPTOGRAPHIC PROVIDER AzureKeyVault_EKM_Prov ;
Az alábbi példa ugyanazt a hitelesítő adatot hozza létre az ügyfélazonosító és Titkos sztringek változóinak használatával, amelyeket a rendszer összefűz a TITKOS argumentum létrehozásához. A REPLACE függvénnyel eltávolíthatja a kötőjeleket az ügyfélazonosítóból.
DECLARE @AuthClientId uniqueidentifier = '11111111-AAAA-BBBB-2222-CCCCCCCCCCCC';
DECLARE @AuthClientSecret varchar(200) = 'SECRET_DBEngine';
DECLARE @pwd varchar(max) = REPLACE(CONVERT(varchar(36), @AuthClientId) , '-', '') + @AuthClientSecret;
EXEC ('CREATE CREDENTIAL Azure_EKM_TDE_cred
WITH IDENTITY = ''ContosoKeyVault'', SECRET = ''' + @PWD + '''
FOR CRYPTOGRAPHIC PROVIDER AzureKeyVault_EKM_Prov ;');
D. Hitelesítő adatok létrehozása SAS-jogkivonat használatával
Az: SQL Server 2014 (12.x) jelenlegi és felügyelt Azure SQL-példányon keresztül vonatkozik.
Az alábbi példa SAS-jogkivonat használatával hoz létre közös hozzáférésű jogosultságkód hitelesítő adatokat. A tárolt hozzáférési szabályzat és a közös hozzáférésű jogosultságkód Azure-tárolón való létrehozásáról, majd a hitelesítő adatok közös hozzáférésű jogosultságkóddal történő létrehozásáról szóló oktatóanyagért tekintse meg oktatóanyagot: A Microsoft Azure Blob Storage használata SQL Server-adatbázisokkal.
Fontos
A HITELESÍTŐ ADATOK NEVE argumentumhoz a névnek meg kell egyeznie a tároló elérési útjával, https-vel kell kezdődnie, és nem kell záró perjelet tartalmaznia. A IDENTITY argumentumhoz meg kell adni a KÖZÖS HOZZÁFÉRÉSŰ JOGOSULTSÁGKÓDnevet. A SECRET argumentumhoz közös hozzáférésű jogosultságkód-jogkivonat szükséges.
A SHARED ACCESS SIGNATURE titknak nem kellene lennie a vezető ?.
USE master
CREATE CREDENTIAL [https://<mystorageaccountname>.blob.core.windows.net/<mystorageaccountcontainername>] -- this name must match the container path, start with https and must not contain a trailing forward slash.
WITH IDENTITY='SHARED ACCESS SIGNATURE' -- this is a mandatory string and do not change it.
, SECRET = 'sharedaccesssignature' -- this is the shared access signature token
GO
E. Hitelesítő adatok létrehozása felügyelt identitáshoz
Az alábbi példa létrehozza az Azure SQL vagy az Azure Synapse szolgáltatás felügyelt identitását képviselő hitelesítő adatokat. Ebben az esetben a jelszó és a titkos kód nem alkalmazható.
CREATE CREDENTIAL ServiceIdentity WITH IDENTITY = 'Managed Identity';
GO
Az Azure-beli virtuális gépeken futó SQL Server felügyelt identitásával rendelkező hitelesítő adatok létrehozására példa: G példa és H példa. Linux esetén a kiszolgálószintű felügyelt identitás nem támogatott.
F. Hitelesítő adatok létrehozása S3-kompatibilis tárolóba történő biztonsági mentéshez/visszaállításhoz
Alkalmazható: SQL Server 2025 (17.x) és későbbi verziók Azure Arc-on, SQL Server 2022 (16.x) és későbbi verziókban (on-premises és SQL Server Azure VM-en Azure Arc nélkül), valamint Azure SQL Managed Instance
Az open S3-kompatibilis szabvány tárolóútvonalakat és részleteket biztosít, amelyek a tárolóplatformtól függően eltérhetnek. További információ: SQL Server biztonsági mentése URL-címre S3-kompatibilis objektumtároló.
A legtöbb S3-kompatibilis tároló esetében ez a példa létrehoz egy kiszolgálószintű hitelesítő adatokat, és végrehajt egy BACKUP TO URL.
USE [master];
CREATE CREDENTIAL [s3://<endpoint>:<port>/<bucket>]
WITH
IDENTITY = 'S3 Access Key',
SECRET = '<AccessKeyID>:<SecretKeyID>';
GO
BACKUP DATABASE [SQLTestDB]
TO URL = 's3://<endpoint>:<port>/<bucket>/SQLTestDB.bak'
WITH FORMAT /* overwrite any existing backup sets */
, STATS = 10
, COMPRESSION;
Az AWS S3 azonban két különböző URL-szabványt támogat.
-
S3://<BUCKET_NAME>.S3.<REGION>.AMAZONAWS.COM/<FOLDER>(alapértelmezett) S3://S3.<REGION>.AMAZONAWS.COM/<BUCKET_NAME>/<FOLDER>
Az AWS S3 hitelesítő adatainak létrehozásának több módszere is van:
Adja meg a gyűjtő nevét és elérési útját és régióját a hitelesítő adatok nevében.
-- S3 bucket name: datavirtualizationsample -- S3 bucket region: us-west-2 -- S3 bucket folder: backup CREATE CREDENTIAL [s3://datavirtualizationsample.s3.us-west-2.amazonaws.com/backup] WITH IDENTITY = 'S3 Access Key' , SECRET = 'accesskey:secretkey'; GO BACKUP DATABASE [AdventureWorks2022] TO URL = 's3://datavirtualizationsample.s3.us-west-2.amazonaws.com/backup/AdventureWorks2022.bak' WITH COMPRESSION, FORMAT, MAXTRANSFERSIZE = 20971520; GOVagy
CREATE CREDENTIAL [s3://s3.us-west-2.amazonaws.com/datavirtualizationsample/backup] WITH IDENTITY = 'S3 Access Key' , SECRET = 'accesskey:secretkey'; GO BACKUP DATABASE [AdventureWorks2022] TO URL = 's3://s3.us-west-2.amazonaws.com/datavirtualizationsample/backup/AdventureWorks2022.bak' WITH COMPRESSION, FORMAT, MAXTRANSFERSIZE = 20971520; GOVagy adja meg a gyűjtő nevét és elérési útját a hitelesítő adatok nevében, de paraméterezze a régiót az egyes
BACKUP/RESTOREparancsokban. Használja az S3-specifikus régiós sztringet aBACKUP_OPTIONSésRESTORE_OPTIONS, például'{"s3": {"region":"us-west-2"}}'.-- S3 bucket name: datavirtualizationsample -- S3 bucket region: us-west-2 -- S3 bucket folder: backup CREATE CREDENTIAL [s3://datavirtualizationsample.s3.amazonaws.com/backup] WITH IDENTITY = 'S3 Access Key' , SECRET = 'accesskey:secretkey'; GO BACKUP DATABASE [AdventureWorks2022] TO URL = 's3://datavirtualizationsample.s3.amazonaws.com/backup/AdventureWorks2022.bak' WITH BACKUP_OPTIONS = '{"s3": {"region":"us-west-2"}}' -- REGION AS PARAMETER) , COMPRESSION, FORMAT, MAXTRANSFERSIZE = 20971520; GO RESTORE DATABASE AdventureWorks2022_1 FROM URL = 's3://datavirtualizationsample.s3.amazonaws.com/backup/AdventureWorks2022.bak' WITH MOVE 'AdventureWorks2022' TO 'C:\Program Files\Microsoft SQL Server\MSSQL16.MSSQLSERVER\MSSQL\DATA\AdventureWorks2022_1.mdf' , MOVE 'AdventureWorks2022_log' TO 'C:\Program Files\Microsoft SQL Server\MSSQL16.MSSQLSERVER\MSSQL\DATA\AdventureWorks2022_1.ldf' , STATS = 10, RECOVERY , REPLACE, RESTORE_OPTIONS = '{"s3": {"region":"us-west-2"}}'; -- REGION AS PARAMETER) GO
Jegyzet
A felügyelt Azure SQL-példány csak RESTORE az S3-tárfiókokból származó műveleteket támogatja.
BACKUP művelet jelenleg nem támogatott.
G. Felügyelt identitás hitelesítő adatainak létrehozása és használata az Azure Blob Storage eléréséhez
Alkalmazható: SQL Server 2025 (17.x) és későbbi verziók Azure Arc-on, SQL Server 2022 (16.x) és későbbi verziókban (on-premises és SQL Server Azure VM-en Azure Arc nélkül), valamint Azure SQL Managed Instance
Az SQL Server hitelesítő adataival rendelkező felügyelt identitásokkal biztonsági másolatot készíthet az SQL Server-adatbázisokról az Azure Blob Storage-ból, és visszaállíthatja azokat. További információ az Azure-beli virtuális gépen futó SQL Serverről: Biztonsági mentés és URL-cím visszaállítása felügyelt identitásokkal.
Ha egy felügyelt identitással rendelkező hitelesítő adatot szeretne létrehozni a BACKUP és RESTORE műveletekhez, használja az alábbi példát:
CREATE CREDENTIAL [https://<mystorageaccountname>.blob.core.windows.net/<container-name>]
WITH IDENTITY = 'Managed Identity';
nyomkövetési jelző 4675-ös a felügyelt identitással létrehozott hitelesítő adatok ellenőrzésére használható. Ha a CREATE CREDENTIAL utasítás a 4675-ös nyomkövetési jelző engedélyezése nélkül lett végrehajtva, a rendszer nem ad ki hibaüzenetet, ha az elsődleges felügyelt identitás nincs beállítva a kiszolgálóhoz. A hiba elhárításához a hitelesítő adatokat törölni kell, majd újra létre kell hozni, amint engedélyezve van a nyomkövetési jelző.
H. Felügyelt identitás hitelesítő adatainak létrehozása bővíthető kulcskezeléshez az Azure Key Vaulttal
Az SQL Server 2022 CU17-től kezdve felügyelt identitásokat is használhat az SQL Serveren az Azure-beli virtuális gépeken az Extensible Key Management (EKM) és az Azure Key Vault (AKV) használatával. További információ: Felügyelt identitás támogatása az Azure Key Vaultbővíthető kulcskezeléséhez.
Ha az EKM-hez az AKV-val használandó felügyelt identitás hitelesítő adatait szeretné létrehozni, használja az alábbi példát:
CREATE CREDENTIAL [<akv-name>.vault.azure.net]
WITH IDENTITY = 'Managed Identity'
FOR CRYPTOGRAPHIC PROVIDER AzureKeyVault_EKM_Prov
Például:
CREATE CREDENTIAL [contoso.vault.azure.net] -- for Azure Key Vault
WITH IDENTITY = 'Managed Identity'
FOR CRYPTOGRAPHIC PROVIDER AzureKeyVault_EKM_Prov
CREATE CREDENTIAL [contoso.managedhsm.azure.net] -- for Azure Key Vault Managed HSM
WITH IDENTITY = 'Managed Identity'
FOR CRYPTOGRAPHIC PROVIDER AzureKeyVault_EKM_Prov
nyomkövetési jelző 4675-ös a felügyelt identitással létrehozott hitelesítő adatok ellenőrzésére használható. Ha a CREATE CREDENTIAL utasítás a 4675-ös nyomkövetési jelző engedélyezése nélkül lett végrehajtva, a rendszer nem ad ki hibaüzenetet, ha az elsődleges felügyelt identitás nincs beállítva a kiszolgálóhoz. A hiba elhárításához a hitelesítő adatokat törölni kell, majd újra létre kell hozni, amint engedélyezve van a nyomkövetési jelző.
Kapcsolódó tartalom
- hitelesítő adatok (adatbázismotor)
- KÉPESÍTÉS MÓDOSÍTÁSA (Transact-SQL)
- DROP CREDENTIAL (Transact-SQL)
- HOZZON LÉTRE ADATBÁZIS HATÓKÖRŰ HITELTAGOT (Transact-SQL)
- HITELÉVÉ NYITÁS (Transact-SQL)
- MÓDOSÍTÁSI BEJELENTKEZÉS (Transact-SQL)
- sys.credentials (Transact-SQL)
- 2. lecke: SQL Server-hitelesítő adatok létrehozása közös hozzáférésű jogosultságkóddal
- közös hozzáférésű jogosultságkódok