Jaa


Todentaminen SQL-tietokannassa Microsoft Fabricissa

Koskee Microsoft Fabricin SQL-tietokantaa

Tässä artikkelissa kerrotaan SQL-tietokantojen todennuksesta.

Muiden Microsoft Fabric -kohdetyyppien tavoin SQL-tietokannat käyttävät Microsoft Entra -todennusta.

JOTTA SQL-tietokantaan todennus onnistuu, Microsoft Entra -käyttäjällä, palvelun päänimellä tai hänen ryhmällään on oltava Fabric-tietokannan lukuoikeudet. Lisätietoja siitä, miten voit myöntää Microsoft Entra -käyttäjätietojen käyttöoikeuden Fabric-työtilaan tai tiettyyn tietokantaan, on artikkelissa Fabric-käyttöoikeuksien valvontatoiminnot.

Jos haluat löytää SQL-tietokantasi yhteysmerkkijonon Fabricissa, lue ohjeartikkeli Sql-tietokantaan yhdistäminen Microsoft Fabricissa.

Muistiinpano

Jos haluat mahdollistaa palvelun päänimien yhteyden muodostamisen Fabric- ja SQL-tietokantoihin, sinun täytyy ottaa käyttöön myös Palvelun päänimet voivat käyttää Fabric APIs Fabric -vuokraaja-asetusta. Lisätietoja vuokraaja-asetusten käyttöönotosta on artikkelissa Fabric-vuokraajan asetukset.

SQL-tietokantaan yhdistäminen Microsoft Entra -todennuksen avulla

Voit muodostaa yhteyden tietokantaan Microsoft Entra -todennuksella käyttämällä

Sovellusten ja työkalujen on päivitettävä ohjaimet versioihin, jotka tukevat Microsoft Entra -todentamista, ja lisättävä todentamistilan avainsana SQL-yhteysmerkkijonoon, kuten ActiveDirectoryInteractive, ActiveDirectoryServicePrincipaltai ActiveDirectoryPassword.

Tietokannan käyttäjien luominen Microsoft Entra -käyttäjätiteeteille

Jos aiot määrittää SQL-käytön hallinnan Transact-SQL:n avulla, sinun on ensin luotava tietokannan käyttäjiä, jotka vastaavat Microsoft Entra -käyttäjätietojasi – käyttäjiä, palvelun päänimiä tai heidän ryhmiään – CREATE USER -funktion (Transact-SQL) avulla.

Tietokannan käyttäjien luomista ei tarvita, jos käytät Fabric-käyttöoikeuksien ohjausobjekteja (työtilan rooleja tai kohteen käyttöoikeuksia). Sinun ei tarvitse luoda käyttäjiä, kun hallitset SQL-tietokantatason rooleja Fabric-portaalista . Portaali luo käyttäjiä automaattisesti tarvittaessa.

Tietokannan käyttäjien luominen, kun muodostat yhteyden Microsoft Entra -käyttäjänä

Kun olet muodostanut yhteyden tietokantaan Microsoft Entra -käyttäjänä, käytä CREATE USER FROM EXTERNAL PROVIDER - lausetta luodaksesi käyttäjiä Microsoft Entra -päänimille. FROM EXTERNAL PROVIDER vahvistaa määritetyn päänimen Microsoft Entralla, hakee päätunnisteen (käyttäjän tai ryhmän objektitunnuksen, sovellustunnuksen tai asiakastunnuksen) ja tallentaa tunnisteen käyttäjän suojaustunnukseksi (SID) SQL-metatietoihin. Sinulla on oltava Microsoft Entran Hakemiston lukijat -roolin jäsen, kun käytät - FROM EXTERNAL PROVIDER lausetta. Seuraavissa T-SQL-mallikomentosarjoissa luodaan FROM EXTERNAL PROVIDER käyttäjä, joka perustuu Microsoft Entra -käyttäjään, Microsoft Entra -palvelun päänimeen tai Microsoft Entra -ryhmään.

-- 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; 

Tietokannan käyttäjien luominen, kun muodostat yhteyden Microsoft Entra -palvelun päänimenä

Kun sovellus on yhdistetty tietokantaan palvelun päänimellä, sovelluksen on lisättävä CREATE USER SID - ja TYPE-lausekkeisiin, jotta käyttäjät voidaan luoda Microsoft Entra - päänimille. Määritettyä päänimeä ei ole vahvistettu Microsoft Entrassa. Sovelluksen (sovelluskehittäjän) vastuulla on antaa kelvollinen nimi sekä kelvollinen SID-tunnus ja käyttäjän objektityyppi.

Jos määritetty päänimi on Microsoft Entran käyttäjä tai ryhmä, SID-tunnuksen on oltava tämän käyttäjän tai ryhmän objektitunnus Microsoft Entrassa. Jos määritetty päänimi on Microsoft Entrassa palvelun päänimi, SID-tunnuksen on oltava Microsoft Entrassa olevan palvelun päänimen sovellustunnus (asiakastunnus). Microsoft Entrasta saadut objektitunnukset ja sovellustunnukset on muunnettava binary(16)-tunnuksiksi.

Argumentin TYPE arvon on oltava seuraava:

  • E – jos määritetty Microsoft Entra -päänimi on käyttäjä tai palvelun päänimi.
  • X – jos määritetty Microsoft Entra -päänimi on ryhmä.

Seuraava T-SQL-esimerkkikomentosarja luo Microsoft Entra -käyttäjälle tietokannan käyttäjän, jonka nimi bob@contoso.comon , ja asettaa uuden käyttäjän SID-tunnuksen Microsoft Entra -käyttäjän objektitunnukseen. Käyttäjän objektitunnuksen yksilöivä tunnus muunnetaan ja sitten ketjutetaan lausekkeeksi CREATE USER . Korvaa <unique identifier sid> käyttäjän objektitunnuksella Microsoft Entrassa.

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);

Seuraava esimerkki luo Microsoft Entra -palvelun päänimelle tietokannan käyttäjän nimeltä HRApp, ja asettaa uuden käyttäjän SID-tunnuksen Microsoft Entran palvelun päänimen asiakastunnukseen.

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);

Seuraava esimerkki luo Microsoft Entra -ryhmän tietokannan käyttäjän nimeltä HR, ja asettaa uuden käyttäjän SID-tunnuksen ryhmän objektitunnukseen.

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 [' + @principal_name + '] WITH SID = ' + @castObjectId + ', TYPE = X;'
EXEC (@cmd);

Rajoitukset

  • Microsoft Entra ID on ainoa tunnistetietopalvelun, jota SQL-tietokanta Fabricssa tukee. Erityisesti SQL-todentamista ei tueta.
  • Kirjautumista (palvelimen päänimiä) ei tueta.