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. Egy adatbázis hitelesítő érték nem egy szerver bejelentkezéshez vagy adatbázis-felhasználóhoz van leképezve. Az adatbázis a hitelesítést használja a külső erőforráshoz való hozzáféréshez, amikor olyan műveletet hajt végre, amelyhez hozzáférést igényel.

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 fiók nevét, amelyet a szerveren kívüli csatlakozáskor kell használni.

  • 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áld a domain nevet az IDENTITY érvelésben. Csak a fióknévnek kell lennie.

  • SQL Server instance-ban, ha adatbázis-scope-ra korlátozott képesítést hozol létre, egy Storage Access Key-vel használjuk SECRET, amit a - IDENTITY t figyelmen kívül hagynak.

  • WITH IDENTITY nem szükséges, ha az Azure Blob tárolóban lévő konténer névtelen hozzáférésre engedélyezett. 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ó: KÜLSŐ ADATFORRÁS LÉTREHOZÁSA.

  • 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 pooljai az alábbi megjegyzéseket tartalmazzák:

    • Az adatok betöltéséhez az Azure Synapse Analytics-be bármely érvényes értéket használhatsz .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. Felhasználói identitáson keresztüli hozzáférés, amelyet a Microsoft Entra átengedett hitelesítéssel való bejelentkezés lehetővé teszi, adatbázis-alapú hitelesítő levelekkel is lehetséges, akárcsak az anonim hozzáférés a nyilvánosan elérhető tárolóhoz. 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 1 Azure Synapse-ban lásd: User bejelentkezés Microsoft Entra pass-through authentication
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

1 Az SQL adatbázisban a Microsoft Fabricben, ha nem jelölsz meg adatbázis-alapú hitelesítő adatokat, a hitelesítési módszer alapértelmezetten 'USER IDENTITY'-re változik, és a Microsoft Entra ID felhasználói fiókot 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 DMK-nak kell lennie, mielőtt bármilyen adatbázis-scope-alapú hitelesítést létrehozhatnál. Titkosítsd a DMK-t egy erős jelszóval. Az Azure SQL Database egy DMK-t hoz létre egy erős, véletlenszerűen kiválasztott jelszóval az adatbázis átfogó hitelesítés létrehozásának vagy szerveraudit elkészítésének részeként.

A felhasználók nem hozhatják létre a DMK-t logikai master adatbázisban. A DMK jelszó a Microsoft számára ismeretlen, és a létrehozás után sem fedezhető fel. Létrehozz egy DMK-t, mielőtt adatbázis-keretű hitelesítő jogot hoznánk. További információ: CREATE MASTER KEY.

Ha IDENTITY Windows felhasználó van, a titok lehet a jelszó. A titok titkosítva van a szolgáltatási főkulcscal (SMK). Ha újragenerálod az SMK-t, a titok újra titkosítva van az új SMK-val.

Amikor megosztott hozzáférési aláírást (SAS) adsz PolyBase külső táblával való használathoz, válaszd ki a Container és Object opciót engedélyezett erőforrás-típusokként. Ha nem adod meg ezeket a jogosultságokat, akkor 16535 vagy 16561 hiba jelentkezhet, amikor megpróbálsz hozzáférni a külső táblához.

Az adatbázis által meghatódó hitelesítő adatok további információi a sys.database_scoped_credentials katalógus nézetben találhatók.

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

Permissions

Az adatbázishoz CONTROL engedély szükséges.

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.

Hozz létre egy DMK-t, ha még nincs ilyen. Ne használjon üres jelszót. Használjon erős jelszót.

CREATE MASTER KEY ENCRYPTION BY PASSWORD = '<password>';

Hozz létre egy adatbázis-hatókörű jogosultságot:

CREATE DATABASE SCOPED CREDENTIAL AppCred
WITH IDENTITY = 'Mary5',
     SECRET = '<password>';

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

A következő példa egy adatbázis-scope-alapú hitelesítést hoz létre, amellyel külső adatforrást hozhatsz létre. Ez a hitelesítés képes tömeges műveletekre, például a BULK INSERT és OPENROWSET BULK-ra.

Hozz létre egy DMK-t, ha még nincs ilyen. Ne használjon üres jelszót. Használjon erős jelszót.

CREATE MASTER KEY ENCRYPTION BY PASSWORD = '<password>';

Adatbázis-hatókörű hitelesítő adatok létrehozása. Cserélje le <key> a megfelelő értékre.

CREATE DATABASE SCOPED CREDENTIAL MyCredentials
WITH IDENTITY = 'SHARED ACCESS SIGNATURE',
     SECRET = '<key>';

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 Microsoft Entra alkalmazást használ szolgáltatás-szolgáltatás hitelesítéshez.

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.

Hozz létre egy DMK-t, ha még nincs ilyen. Ne használjon üres jelszót. Használjon erős jelszót.

CREATE MASTER KEY ENCRYPTION BY PASSWORD = '<password>';

Adatbázis-hatókörű hitelesítő adatok létrehozása. Cserélje le <key> a megfelelő értékre.

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

Érvényes: SQL Server 2025 (17.x) és újabb verziók

Az SQL Server 2025 (17.x) támogatja a Microsoft Entra által felügyelt identitásokat. Az Azure Arc által engedélyezett SQL Server által engedélyezett menedzselt identitás alkalmazásáról információért lásd: Az Azure Arc által engedélyezett Managed identity for SQL Server.

EXECUTE sp_configure 'allow server scoped db credentials', 1;
RECONFIGURE;
GO

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

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

Apply to:Azure SQL Database, SQL database in Microsoft Fabric

Azure SQL Database-ben és SQL adatbázisban a Microsoft Fabric-ben saját Microsoft Entra ID fiókoddal autentikálhatsz egy külső adatforrást.

Az SQL adatbázisban a Microsoft Fabricben, ha nem jelölsz meg adatbázis-alapú hitelesítést, a hitelesítési módszer alapértelmezettként USER IDENTITY az Entra ID felhasználói fiókot használja kontextusként.

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