Megosztás a következőn keresztül:


ADATBÁZIS HATÓKÖRÉBE TARTOZÓ HITELESÍTŐ ADATOK LÉTREHOZÁSA (Transact-SQL)

Vonatkozik a következőkre:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalitikai Platform System (PDW)SQL adatbázis a Microsoft Fabric-ben

Adatbázis-hitelesítő adatokat hoz létre. Az adatbázis hitelesítő adatai nincsenek kiszolgálói bejelentkezéshez vagy adatbázis-felhasználóhoz rendelve. A hitelesítő adatokat az adatbázis a külső hely elérésére használja, amikor az adatbázis egy hozzáférést igénylő műveletet hajt végre.

Transact-SQL szintaxis konvenciók

Syntax

CREATE DATABASE SCOPED CREDENTIAL credential_name
WITH IDENTITY = 'identity_name'
    [ , SECRET = 'secret' ]
[ ; ]

Arguments

credential_name

A létrehozandó adatbázis hatókörébe tartozó hitelesítő adatok nevét adja meg. credential_name nem kezdődhet a szám (#) jellel. A rendszer hitelesítő adatai a .## A credential_name maximális hossza 128 karakter.

IDENTITY = "identity_name"

Megadja a kiszolgálón kívüli csatlakozáskor használni kívánt fiók nevét.

  • Ha megosztott kulccsal szeretne importálni egy fájlt az Azure Blob Storage-ból vagy az Azure Data Lake Storage-ból, az identitás nevének kell lennie SHARED ACCESS SIGNATURE. A közös hozzáférésű jogosultságkódokkal kapcsolatos további információkért lásd: Közös hozzáférésű jogosultságkódok (SAS) használata. Csak közös hozzáférésű jogosultságkódhoz használható IDENTITY = SHARED ACCESS SIGNATURE .
  • Ha egy fájlt felügyelt identitással szeretne importálni az Azure Blob Storage-ból, az identitás nevének kell lennie MANAGED IDENTITY.
  • Kerberos (Windows Active Directory vagy MIT KDC) használatakor ne használja a tartománynevet az IDENTITY argumentumban. Csak a fióknévnek kell lennie.
  • Sql Server-példányokban a rendszer figyelmen kívül hagyja, ha adatbázis-hatókörű hitelesítő adatot hoz létre a tárelérési kulcsként SECRETIDENTITY használt tárelérési kulccsal.
  • WITH IDENTITY nem szükséges, ha az Azure Blob Storage tárolója engedélyezve van a névtelen hozzáféréshez. Az Azure Blob Storage lekérdezésére OPENROWSET BULKvonatkozó példa: Importálás egy táblába egy Azure Blob Storage-ban tárolt fájlból.
  • Az SQL Server 2022 (16.x) és újabb verzióiban a REST-API-összekötő a HADOOP-ot helyettesíti. Az Azure Blob Storage és az Azure Data Lake Gen 2 esetében az egyetlen támogatott hitelesítési módszer a közös hozzáférésű jogosultságkód. További információ: CREATE EXTERNAL DATA SOURCE (Transact-SQL).
  • Az SQL Server 2019 -ben (15.x) az egyetlen Olyan PolyBase külső adatforrás, amely támogatja a Kerberos-hitelesítést, a Hadoop. Minden más külső adatforrás (SQL Server, Oracle, Teradata, MongoDB, általános ODBC) csak az alapszintű hitelesítést támogatja.
  • Az Azure Synapse Analytics SQL-készletei a következő megjegyzéseket tartalmazzák:
    • Az Azure Synapse Analyticsbe való adatbetöltéshez bármilyen érvényes érték használható.IDENTITY
    • Az Azure Synapse Analytics kiszolgáló nélküli SQL-készletében az adatbázis hatókörébe tartozó hitelesítő adatok megadhatnak egy munkaterület által felügyelt identitást, szolgáltatásnév vagy közös hozzáférésű jogosultságkód (SAS) jogkivonatot. A Microsoft Entra átmenő hitelesítése által engedélyezett felhasználói identitáson keresztüli hozzáférés adatbázis-hatókörű hitelesítő adatokkal is lehetséges, ahogyan a nyilvánosan elérhető tárterülethez való névtelen hozzáférés is. További információ: Támogatott tárterület-engedélyezési típusok.
    • Dedikált Azure Synapse Analytics SQL-készletben az adatbázis hatókörébe tartozó hitelesítő adatok megadhatók a közös hozzáférésű jogosultságkód (SAS) jogkivonat, az egyéni alkalmazásidentitás, a munkaterület felügyelt identitása vagy a tárelérési kulcs.
Authentication T-SQL Supported Notes
közös hozzáférésű jogosultságkód (SAS) CREATE DATABASE SCOPED CREDENTIAL <credential_name> WITH IDENTITY = 'SHARED ACCESS SIGNATURE', SECRET = 'secret'; SQL Server 2022 és újabb, Felügyelt Azure SQL-példány, Azure Synapse Analytics, Azure SQL Database
Felügyelt identitás CREATE DATABASE SCOPED CREDENTIAL <credential_name> WITH IDENTITY = 'MANAGED IDENTITY'; Azure SQL Database, Felügyelt Azure SQL-példány, SQL Server 2025 és Azure Arc Az Azure Arc engedélyezéséhez lásd: Managed identity for SQL Server enabled by Azure Arc
Microsoft Entra átmenő hitelesítés felhasználói identitáson keresztül CREATE DATABASE SCOPED CREDENTIAL <credential_name> WITH IDENTITY = 'USER IDENTITY'; Azure SQL Database, SQL database in Microsoft Fabric * Az Azure Synapse-ban lásd : Microsoft Entra Connect: Átmenő hitelesítés
S3 Hozzáférési kulcs alapszintű hitelesítése CREATE DATABASE SCOPED CREDENTIAL <credential_name> WITH IDENTITY = 'S3 ACCESS KEY', SECRET = '<accesskey>:<secretkey>'; SQL Server 2022 és későbbi verziók
ODBC-adatforrások vagy Kerberos (MIT KDC) CREATE DATABASE SCOPED CREDENTIAL <credential_name> WITH IDENTITY = '<identity_name>', SECRET = '<secret>'; AZ SQL Server 2019 és újabb verziói

* Az SQL adatbázisban a Microsoft Fabric-ben, ha nincs adatbázis-alapú hitelesítő kivonat, a hitelesítési módszer alapértelmezetten 'USER IDENTITY'-re változik, és az Entra ID felhasználói bejelentkezést használja kontextusként.

TITOK = 'titok'

Megadja a kimenő hitelesítéshez szükséges titkos kulcsot. SECRET szükséges egy fájl importálásához az Azure Blob Storage-ból. Az Azure Blob Storage-ból az Azure Synapse Analyticsbe vagy a párhuzamos adattárházba való betöltéséhez a titkos kódnak az Azure Storage-kulcsnak kell lennie.

Warning

Az SAS-kulcs értéke kérdőjellel (?) kezdődhet. Az SAS-kulcs használatakor távolítsa el a bevezetőt ?.

Remarks

Az adatbázis hatókörébe tartozó 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.

Az adatbázis hatókörébe tartozó hitelesítő adatok bizalmas adatainak védelméhez adatbázis-főkulcsra (DMK) van szükség. A DMK egy szimmetrikus kulcs, amely titkosítja az adatbázis hatókörébe tartozó hitelesítő adatok titkos kulcsát. Az adatbázisnak rendelkeznie kell egy DMK-val az adatbázis hatókörébe tartozó hitelesítő adatok létrehozása előtt. A DMK-t erős jelszóval kell titkosítani. Az Azure SQL Database egy erős, véletlenszerűen kiválasztott jelszóval rendelkező DMK-t hoz létre az adatbázis hatókörébe tartozó hitelesítő adatok létrehozása vagy egy kiszolgálói naplózás létrehozása során. A felhasználók nem hozhatják létre a DMK-t logikai master adatbázisban. A főkulcsjelszó ismeretlen a Microsoft számára, és a létrehozás után nem észlelhető. Ezért ajánlott DMK-t létrehozni az adatbázis hatókörébe tartozó hitelesítő adatok létrehozása előtt. További információ: CREATE MASTER KEY (Transact-SQL).

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.

Ha egy külső PolyBase-táblával való használatra engedélyt ad egy közös hozzáférésű jogosultságkódhoz (SAS), válassza a tárolót és az objektumot is engedélyezett erőforrástípusként. Ha nincs megadva, a külső tábla elérésekor az 16535-ös vagy az 16561-ös hiba jelenhet meg.

Az adatbázis hatókörébe tartozó hitelesítő adatokra vonatkozó információk sys.database_scoped_credentials katalógusnézetben láthatók.

Íme néhány alkalmazás az adatbázis hatókörébe tartozó hitelesítő adatokhoz:

Permissions

CONTROL-engedélyt igényel az adatbázisban.

Examples

A. Adatbázis-hatókörű hitelesítő adatok létrehozása az alkalmazáshoz

Az alábbi példa létrehozza az adatbázis hatókörébe tartozó hitelesítő adatokat.AppCred Az adatbázis hatókörébe tartozó hitelesítő adatok tartalmazzák a Windows-felhasználót Mary5 és a jelszót.

-- Create a db master key if one does not already exist, using your own password.
CREATE MASTER KEY ENCRYPTION BY PASSWORD='<EnterStrongPasswordHere>';

-- Create a database scoped credential.
CREATE DATABASE SCOPED CREDENTIAL AppCred WITH IDENTITY = 'Mary5',
    SECRET = '<EnterStrongPasswordHere>';

B. Adatbázis hatókörű hitelesítő adatainak létrehozása közös hozzáférésű jogosultságkódhoz

Az alábbi példa egy adatbázis-hatókörű hitelesítő adatot hoz létre, amely egy külső adatforrás létrehozásához használható, amely tömeges műveleteket hajthat végre, például TÖMEGES BESZÚRÁS (Transact-SQL) és OPENROWSET (Transact-SQL).

-- Create a db master key if one does not already exist, using your own password.
CREATE MASTER KEY ENCRYPTION BY PASSWORD='<EnterStrongPasswordHere>';

-- Create a database scoped credential.
CREATE DATABASE SCOPED CREDENTIAL MyCredentials
WITH IDENTITY = 'SHARED ACCESS SIGNATURE',
SECRET = 'QLYMgmSXMklt%2FI1U6DcVrQixnlU5Sgbtk1qDRakUBGs%3D';

C. Adatbázis-hatókörű hitelesítő adatok létrehozása az Azure Data Lake Store-hoz való PolyBase-kapcsolathoz

Az alábbi példa egy adatbázis-hatókörű hitelesítő adatot hoz létre, amely egy külső adatforrás létrehozásához használható, amelyet a PolyBase használhat az Azure Synapse Analyticsben.

Az Azure Data Lake Store egy Microsoft Entra-alkalmazást használ a szolgáltatás hitelesítéséhez.

Hozzon létre egy Microsoft Entra-alkalmazást , és dokumentálja a client_id, a OAuth_2.0_Token_EndPoint és a kulcs adatait, mielőtt adatbázis-hatókörű hitelesítő adatokat próbál létrehozni.

-- Create a db master key if one does not already exist, using your own password.
CREATE MASTER KEY ENCRYPTION BY PASSWORD='<EnterStrongPasswordHere>';

-- Create a database scoped credential.
CREATE DATABASE SCOPED CREDENTIAL ADL_User
WITH
    IDENTITY = '<client_id>@<OAuth_2.0_Token_EndPoint>',
    SECRET = '<key>';

D. Adatbázis-hatókörű hitelesítő adatok létrehozása felügyelt identitással

Vonatkozik a következőkre: SQL Server 2025 (17.x)

Az SQL Server 2025 (17.x) támogatja a Microsoft Entra által felügyelt identitásokat. A felügyelt identitás Azure Arc által engedélyezett SQL Serverrel való használatáról további információt a Felügyelt identitás című témakörben talál.

SP_CONFIGURE 'allow server scoped db credentials',1; 
RECONFIGURE;  

CREATE DATABASE SCOPED CREDENTIAL [managed_id] 
WITH IDENTITY = 'Managed Identity'; 

#. Hozzon létre egy adatbázis-scoped hitelesítést Microsoft Entra ID használatával

Vonatkozik a következőkre:Azure SQL Database, SQL database in Microsoft Fabric

Azure SQL Database-ben és SQL adatbázisban a Microsoft Fabric-ben lehetséges a saját Entra ID bejelentkezéseddel hitelesítésre külső adatforrást.

Az SQL adatbázisban a Microsoft Fabricben, ha nincs adatbázis-hatókörű hitelesítő minősítés, a hitelesítési módszer alapértelmezett Entra USER IDENTITY ID felhasználói bejelentkezést használja kontextusként.

CREATE DATABASE SCOPED CREDENTIAL MyCredential
WITH IDENTITY = 'User Identity';