Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Platí pro:✅SQL databázi v Microsoft Fabric
Tento článek vysvětluje ověřování pro databáze SQL.
Stejně jako jiné typy položek Microsoft Fabric využívají databáze SQL ověřování Microsoft Entra.
Aby bylo možné se úspěšně ověřit u databáze SQL, uživatel Microsoft Entra, instanční objekt služby (service principal), nebo jejich skupina musí mít oprávnění ke čtení pro databázi ve Fabric. Informace o tom, jak udělit identitě Microsoft Entra přístup k pracovnímu prostoru Fabricu nebo konkrétní databázi, najdete v tématu Řízení přístupu technologie Fabric.
Pokud chcete najít připojovací řetězec k databázi SQL ve Fabric, přečtěte si téma Připojení k databázi SQL v Microsoft Fabric.
Poznámka:
Pokud chcete povolit služebním principalům připojení k Fabric a k databázím SQL, musíte také povolit nastavení tenanta Služební principálové mohou používat Fabric API. Informace o povolení nastavení tenanta najdete v tématu Nastavení tenanta Fabric.
Připojení k databázi SQL pomocí ověřování Microsoft Entra
K databázi se můžete připojit pomocí ověřování Microsoft Entra pomocí:
- Nástroje SQL, které podporují ověřování Microsoft Entra, včetně SQL Server Management Studio a rozšíření MSSQL pro Visual Studio Code.
- Aplikace, které používají klientské ovladače SQL podporující ověřování Microsoft Entra, včetně SqlClient, JDBC, ODBC a OLE DB.
Aplikace a nástroje musí upgradovat ovladače na verze, které podporují ověřování Microsoft Entra, a do řetězce připojení SQL přidat klíčové slovo režimu ověřování, například ActiveDirectoryInteractive, ActiveDirectoryServicePrincipal nebo ActiveDirectoryPassword.
Vytvořte uživatele databáze pro Microsoft Entra identity
Pokud plánujete konfigurovat řízení přístupu SQL pomocí Transact-SQL, Nejdřív musíte vytvořit uživatele database odpovídající vašim identitám Microsoft Entra – uživatelům, instančním objektům nebo jejich skupinám – pomocí CREATE USER (Transact-SQL).
Vytváření uživatelů databáze se nevyžaduje, pokud používáte řízení přístupu Fabric (role pracovního prostoru nebo oprávnění položky). Při správě rolí na úrovni databáze SQL z portálu Fabric nemusíte vytvářet uživatele – portál v případě potřeby uživatele automaticky vytvoří.
Vytvoření uživatelů databáze při připojení jako uživatele Microsoft Entra
Pokud jste připojeni k databázi jako uživatel Microsoft Entra, měli byste použít CREATE USER pomocí klauzule FROM EXTERNAL PROVIDER k vytvoření uživatelů pro Microsoft Entra principály.
FROM EXTERNAL PROVIDER ověří zadaný hlavní název pomocí Microsoft Entra, načte identifikátor objektu (ID objektu uživatele nebo skupiny, ID aplikace nebo ID klienta) a uloží identifikátor jako identifikátor zabezpečení uživatele (SID) v metadatech SQL. Při použití klauzule musíte být členem role FROM EXTERNAL PROVIDER v Microsoft Entra. Následující ukázkové skripty T-SQL používají FROM EXTERNAL PROVIDER k vytvoření uživatele založeného na uživateli Microsoft Entra, instančním objektu v Microsoft Entra nebo skupině v Microsoft Entra.
-- Create a user for a Microsoft Entra user
CREATE USER [alice@contoso.com] FROM EXTERNAL PROVIDER;
-- Create a user for a service principal in Microsoft Entra
CREATE USER [HRApp] FROM EXTERNAL PROVIDER;
-- Create a user for a group in Microsoft Entra
CREATE USER [HR] FROM EXTERNAL PROVIDER;
Vytvořte uživatele databáze připojeni jako principál služby Microsoft Entra
Pokud je aplikace připojená k databázi pomocí principálu služby, musí aplikace vydat CREATE USER s klauzulemi SID a TYPE k vytvoření uživatelů pro objekty zabezpečení Microsoft Entra. Zadaný hlavní název se v Microsoft Entra neověřuje. Za zadání platného názvu a platného identifikátoru SID a typu objektu uživatele zodpovídá aplikace (vývojář aplikace).
Pokud je zadaný objekt zabezpečení uživatelem nebo skupinou v Microsoft Entra, identifikátor SID musí být ID objektu daného uživatele nebo skupiny v Microsoft Entra. Pokud je zadaným objektem servisní instanční objekt v Microsoft Entra, pak musí identifikátor SID být ID aplikace (ID klienta) tohoto servisního instančního objektu v Microsoft Entra. ID objektů a ID aplikací (ID klientů) získané z Microsoft Entra musí být převedeny na binary(16).
Hodnota argumentu TYPE musí být:
-
E– pokud zadaným Microsoft Entra instančním objektem je uživatel nebo instanční objekt. -
X– pokud zadaný Microsoft Entra hlavní objekt je skupina.
Následující ukázkový skript T-SQL vytvoří uživatele databáze pro uživatele Microsoft Entra s názvem bob@contoso.com a nastaví identifikátor SID nového uživatele na ID objektu Microsoft Entra uživatele. Jedinečný identifikátor ID objektu uživatele je převeden a pak zřetězen na CREATE USER příkaz. Nahraďte <unique identifier sid> ID objektu uživatele v Microsoft Entra.
DECLARE @principal_name SYSNAME = 'bob@contoso.com';
DECLARE @objectId UNIQUEIDENTIFIER = '<unique identifier sid>'; -- user's object ID in Microsoft Entra
-- Convert the guid to the right type
DECLARE @castObjectId NVARCHAR(MAX) = CONVERT(VARCHAR(MAX), CONVERT (VARBINARY(16), @objectId), 1);
-- Construct command: CREATE USER [@principal_name] WITH SID = @castObjectId, TYPE = E;
DECLARE @cmd NVARCHAR(MAX) = N'CREATE USER [' + @principal_name + '] WITH SID = ' + @castObjectId + ', TYPE = E;'
EXEC (@cmd);
Následující příklad vytvoří uživatele databáze pro instanční objekt Microsoft Entra s názvem HRApp a nastaví identifikátor SID nového uživatele na ID klienta instančního objektu v Microsoft Entra.
DECLARE @principal_name SYSNAME = 'HRApp';
DECLARE @clientId UNIQUEIDENTIFIER = '<unique identifier sid>'; -- principal's client ID in Microsoft Entra
-- Convert the guid to the right type
DECLARE @castClientId NVARCHAR(MAX) = CONVERT(VARCHAR(MAX), CONVERT (VARBINARY(16), @clientId), 1);
-- Construct command: CREATE USER [@principal_name] WITH SID = @castClientId, TYPE = E;
DECLARE @cmd NVARCHAR(MAX) = N'CREATE USER [' + @principal_name + '] WITH SID = ' + @castClientId + ', TYPE = E;'
EXEC (@cmd);
Následující příklad vytvoří uživatele databáze pro skupinu Microsoft Entra s názvem HR a nastaví identifikátor SID nového uživatele na ID objektu skupiny.
DECLARE @group_name SYSNAME = 'HR';
DECLARE @objectId UNIQUEIDENTIFIER = '<unique identifier sid>'; -- principal's object ID in Microsoft Entra
-- Convert the guid to the right type
DECLARE @castObjectId NVARCHAR(MAX) = CONVERT(VARCHAR(MAX), CONVERT (VARBINARY(16), @objectId), 1);
-- Construct command: CREATE USER [@groupName] WITH SID = @castObjectId, TYPE = X;
DECLARE @cmd NVARCHAR(MAX) = N'CREATE USER [' + @group_name + '] WITH SID = ' + @castObjectId + ', TYPE = X;'
EXEC (@cmd);
Omezení
- Microsoft Entra ID je jediný poskytovatel identity, který Fabric podporuje pro databáze SQL. Konkrétně se nepodporuje ověřování SQL.
- Uživatelské přihlášení (principály serveru) nejsou podporována.
- Jediná podporovaná zásada připojení pro databázi SQL v Microsoft Fabric je v současné době Default. Další informace naleznete v tématu zásady připojení.