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 Database v Microsoft Fabric
Tento článek vysvětluje ověřování pro databáze SQL.
Stejně jako jiné typy položek Microsoft Fabric se databáze SQL spoléhají na ověřování Microsoft Entra.
K úspěšnému ověření v databázi SQL musí mít uživatel Microsoft Entra, instanční objekt nebo jeho skupina oprávnění ke čtení položky pro databázi v prostředcích infrastruktury. Informace o tom, jak udělit identitě Microsoft Entra přístup k pracovnímu prostoru Infrastruktury nebo konkrétní databázi, najdete v tématu Řízení přístupu k prostředkům infrastruktury.
Pokud chcete najít připojovací řetězec k databázi SQL v prostředcích infrastruktury, přečtěte si téma Připojení k databázi SQL v Microsoft Fabric.
Poznámka:
Pokud chcete instančním objektům povolit připojení k Prostředkům infrastruktury a k databázím SQL, musíte také povolit, aby instanční objekty mohly používat nastavení tenanta Fabric API. Informace o povolení nastavení tenanta najdete v tématu Nastavení tenanta Infrastruktury.
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ě aplikace SQL Server Management Studio a rozšíření mssql pomocí nástroje 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 přidat klíčové slovo režimu ověřování v jejich SQL připojovací řetězec, například ActiveDirectoryInteractive, ActiveDirectoryServicePrincipalnebo ActiveDirectoryPassword.
Vytvoření uživatelů databáze pro identity Microsoft Entra
Pokud plánujete nakonfigurovat řízení přístupu SQL pomocí jazyka Transact-SQL, musíte nejprve vytvořit uživatele databáze odpovídající vašim identitám Microsoft Entra – uživatelům, instančním objektům nebo jejich skupinám – pomocí příkazu CREATE USER (Transact-SQL).
Vytváření uživatelů databáze se nevyžaduje, pokud používáte řízení přístupu k prostředkům infrastruktury (role pracovního prostoru nebo oprávnění k položce). 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živatel Microsoft Entra
Pokud jste připojení k databázi jako uživatel Microsoft Entra, měli byste použít s CREATE USERklauzulí FROM EXTERNAL PROVIDER k vytvoření uživatelů pro objekty zabezpečení Microsoft Entra.
FROM EXTERNAL PROVIDER ověří zadaný hlavní název pomocí microsoft Entra, načte hlavní identifikátor (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 FROM EXTERNAL PROVIDER Čtenář adresáře v Microsoft Entra. Následující ukázkové skripty T-SQL slouží 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ření uživatelů databáze při připojení jako instančního objektu Microsoft Entra
Pokud je aplikace připojená k databázi pomocí instančního objektu, musí aplikace vystavovat CREATE USERklauzule SID a TYPE a vytvářet uživatele 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 tohoto uživatele nebo skupiny v Microsoft Entra. Pokud je zadaným instančním objektem instanční objekt v Microsoft Entra, musí být identifikátor SID ID aplikace (ID klienta) instančního objektu v Microsoft Entra. ID objektů a ID aplikací (ID klienta) získané z Microsoft Entra musí být převedeny na binární (16).
Hodnota argumentu TYPE musí být:
-
E– pokud zadaný objekt zabezpečení Microsoft Entra je uživatel nebo instanční objekt. -
X– pokud zadaný objekt zabezpečení Microsoft Entra 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, který nastaví identifikátor SID nového uživatele na ID objektu uživatele Microsoft Entra. 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, který 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, nastavení identifikátoru 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í
- Id Microsoft Entra je jediná databáze SQL zprostředkovatele identity v prostředcích infrastruktury. Konkrétně se nepodporuje ověřování SQL.
- Přihlášení (objekty zabezpečení serveru) se nepodporují.
- Aktuálně je v Microsoft Fabric jedinou podporovanou zásadou připojení pro databázi SQL výchozí. Další informace naleznete v tématu zásady připojení.