Jaa


Todennus SQL-tietokannassa Microsoft Fabric -järjestelmässä

Soveltaa:SQL-tietokanta Microsoft Fabric

Tässä artikkelissa kerrotaan SQL-tietokantojen todennuksesta.

Kuten muutkin Microsoft Fabric kohdetyypit, SQL-tietokannat perustuvat Microsoft Entra autentikointiin.

Onnistuneeseen todennukseen SQL-tietokantaan Microsoft Entra-käyttäjällä, palvelupäällikköllä tai heidän groupilla:lla täytyy olla tietokannan lukukohteen käyttöoikeus Fabricissa. Lisätietoja siitä, miten Microsoft Entra-identiteetille myönnetään pääsy Fabric-työtilaan tai tiettyyn tietokantaan, löytyy osoitteesta Fabric access controls.

Löytääksesi connection string SQL-tietokantaasi Fabricissa, katso Connect to your SQL database Microsoft Fabric.

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.

Yhdistä SQL-tietokantaan Microsoft Entra -todennuksella

Voit yhdistää tietokantaan Microsoft Entra -tunnistautumisen avulla:

Sovellusten ja työkalujen on päivitettävä ajurit versioihin, jotka tukevat Microsoft Entra tunnistautumista ja lisättävä todennustilan avainsana SQL connection string:iin, kuten ActiveDirectoryInteractive, ActiveDirectoryServicePrincipal tai ActiveDirectoryPassword.

Luo tietokantakäyttäjiä Microsoft Entra -identiteettejä varten

Jos aiot konfiguroida SQL-käyttöoikeudet Transact-SQL:lla, sinun täytyy ensin luoda tietokannan käyttäjät jotka vastaavat Microsoft Entra-identiteettejä – käyttäjiä, palvelupäämiehiä tai heidän ryhmiään – LUO KÄYTTÄJÄ (Transact-SQL).

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.

Luo tietokantakäyttäjiä, kun olet yhteydessä Microsoft Entra -käyttäjänä

Kun olet yhteydessä tietokantaasi Microsoft Entra-käyttäjänä, sinun tulisi käyttää CREATE USER ja FROM OUTSIDE PROVIDER -ehtoa luodaksesi Microsoft Entra päähenkilöille. FROM EXTERNAL PROVIDER validoi määritellyn päänimen Microsoft Entra:llä, hakee päätunnisteen (käyttäjän tai ryhmän objekti-ID, sovellus-ID tai asiakas-ID) ja tallentaa tunnisteen käyttäjän turvallisuustunnisteeksi (SID) SQL-metatietoihin. Sinun tulee olla Directory Readers -roolissa Microsoft Entra käyttäessäsi FROM EXTERNAL PROVIDER-ehtoa. Seuraavat esimerkki-T-SQL-skriptit käyttävät FROM EXTERNAL PROVIDER luodakseen käyttäjän Microsoft Entra käyttäjän, Microsoft Entra:n palvelupäähenkilön tai Microsoft Entra:n ryhmän perusteella.

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

Luo tietokantakäyttäjiä, kun ne yhdistetään Microsoft Entra -palvelupäähenkilönä

Kun sovellus yhdistetään tietokantaan, jossa on palvelupäällikkö, sen on annettava CREATE USERSID ja TYPE lausekkeilla luodakseen käyttäjiä Microsoft Entra periaatteille. Määritelty päänimi ei ole validoitu Microsoft Entra:ssa. Sovelluksen (sovelluskehittäjän) vastuulla on antaa kelvollinen nimi sekä kelvollinen SID-tunnus ja käyttäjän objektityyppi.

Jos määritelty päähenkilö on käyttäjä tai ryhmä Microsoft Entra:ssa, SID:n on oltava kyseisen käyttäjän tai ryhmän objekti-ID Microsoft Entra:ssa. Jos määritelty päähenkilö on Microsoft Entra:n palvelupäähenkilö, SID:n on oltava Microsoft Entra:n palvelupäähenkilön sovellus-ID (asiakas-ID). Microsoft Entra:stä saadut objekti-ID:t ja sovellus-ID:t (asiakas-ID:t) on muunnettava muotoon binary(16).

Argumentin TYPE arvon on oltava seuraava:

  • E – jos määritelty Microsoft Entra päähenkilö on käyttäjä tai palvelupäähenkilö.
  • X – jos määritelty Microsoft Entra päähenkilö on ryhmä.

Seuraava T-SQL-esimerkkiskripti luo Microsoft Entra käyttäjälle tietokantakäyttäjän nimeltä bob@contoso.com, asettaen uuden käyttäjän SID:n Microsoft Entra käyttäjän objekti-ID:ksi. Käyttäjän objektitunnuksen yksilöivä tunnus muunnetaan ja sitten ketjutetaan lausekkeeksi CREATE USER . Korvaa <unique identifier sid> käyttäjän objekti-ID:llä 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);

Seuraava esimerkki luo tietokantakäyttäjän Microsoft Entra palvelupäähenkilölle, nimeltään HRApp, asettaen uuden käyttäjän SID:ksi palvelupäähenkilön asiakas-ID:n 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);

Seuraava esimerkki luo Microsoft Entra-ryhmälle tietokantakäyttäjän nimeltä HR, jolloin uuden käyttäjän SID on ryhmän objekti-ID.

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

Rajoitukset

  • Microsoft Entra ID on ainoa Fabricin SQL-tietokanta tukema identiteettipalveluntarjoaja. Erityisesti SQL-todentamista ei tueta.
  • Kirjautumista (palvelimen päänimiä) ei tueta.
  • Tällä hetkellä ainoa tuettu yhteyspolitiikka SQL-tietokannalle Microsoft Fabric on Default. Lisätietoja on artikkelissa Yhteyskäytäntö-.