Godkjenning i SQL-database i Microsoft Fabric
Gjelder for:✅SQL-database i Microsoft Fabric
Denne artikkelen forklarer godkjenning for SQL-databaser.
I likhet med andre elementtyper i Microsoft Fabric er SQL-databaser avhengige av Microsoft Entra-godkjenning.
Hvis du vil godkjenne til en SQL-database, må en Microsoft Entra-bruker, en tjenestekontohaver eller deres gruppe, ha leseelementtillatelse for databasen i Fabric. Hvis du vil ha informasjon om hvordan du gir en Microsoft Entra-identitet tilgang til et Fabric-arbeidsområde eller en bestemt database, kan du se Fabric-tilgangskontroller.
Hvis du vil finne tilkoblingsstreng til SQL-databasen i Fabric, kan du se Koble til SQL-databasen i Microsoft Fabric.
Merk
Hvis du vil gjøre det mulig for tjenestekontohavere å koble til Fabric og SQL-databaser, må du også aktivere tjenestekontohaverne kan bruke fabric API-er Fabric-leierinnstillingen. Hvis du vil lære hvordan du aktiverer leierinnstillinger, kan du se Innstillinger for Stoffleietaker.
Koble til en SQL-database ved hjelp av Microsoft Entra-godkjenning
Du kan koble til en database ved hjelp av Microsoft Entra-godkjenning med:
- SQL-verktøy som støtter Microsoft Entra-godkjenning, inkludert SQL Server Management Studio og mssql-utvidelsen med Visual Studio Code.
- Programmer som bruker SQL-klientdrivere som støtter Microsoft Entra-godkjenning, inkludert SqlClient, JDBC, ODBC og OLE DB.
Programmer og verktøy må oppgradere drivere til versjoner som støtter Microsoft Entra-godkjenning og legge til et nøkkelord for godkjenningsmodus i SQL-tilkoblingsstreng, for eksempel ActiveDirectoryInteractive
, ActiveDirectoryServicePrincipal
eller ActiveDirectoryPassword
.
Opprette databasebrukere for Microsoft Entra-identiteter
Hvis du planlegger å konfigurere SQL-tilgangskontroller med Transact-SQL, må du først opprette databasebrukere som tilsvarer Microsoft Entra-identitetene dine – brukere, tjenestekontohavere eller deres grupper – med CREATE USER (Transact-SQL).
Det er ikke nødvendig å opprette databasebrukere hvis du bruker fabric-tilgangskontroller (arbeidsområderoller eller elementtillatelser). Du trenger ikke å opprette brukere når du administrerer roller på SQL-databasenivå fra Fabric-portalen heller – portalen oppretter automatisk brukere ved behov.
Opprette databasebrukere når de er koblet til som Microsoft Entra-bruker
Når du er koblet til databasen som Microsoft Entra-bruker, bør du bruke CREATE USER
fra ekstern leverandør-setningsdelen til å opprette brukere for Microsoft Entra-hovedstoler. FROM EXTERNAL PROVIDER
validerer det angitte hovednavn med Microsoft Entra, henter hovedidentifikatoren (brukerens eller gruppens objekt-ID, program-ID eller klient-ID), og lagrer identifikatoren som brukerens sikkerhetsidentifikator (SID) i SQL-metadata. Du må være medlem av rollen kataloglesere i Microsoft Entra når du bruker setningsdelen FROM EXTERNAL PROVIDER
. Følgende eksempel på T-SQL-skript brukes FROM EXTERNAL PROVIDER
til å opprette en bruker basert på en Microsoft Entra-bruker, en tjenestekontohaver i Microsoft Entra eller en gruppe i 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;
Opprette databasebrukere når de er tilkoblet som microsoft Entra-tjenestekontohaver
Når et program er koblet til en database med en tjenestekontohaver, må programmet utstede CREATE USER
SID - og TYPE-setninger for å opprette brukere for Microsoft Entra-hovedstoler. Det angitte hovednavn er ikke validert i Microsoft Entra. Det er et ansvar for programmet (programutvikleren) å oppgi et gyldig navn og en gyldig SID og en brukerobjekttype.
Hvis den angitte hovedstolen er en bruker eller gruppe i Microsoft Entra, må SID være en objekt-ID for denne brukeren eller gruppen i Microsoft Entra. Hvis den angitte hovedstolen er tjenestekontohaver i Microsoft Entra, må SID være en program-ID (klient-ID) for tjenestekontohaveren i Microsoft Entra. Objekt-ID-er og program-ID-er (klient-ID-er) hentet fra Microsoft Entra må konverteres til binær(16).
Verdien for TYPE
argumentet må være:
E
– hvis den angitte Microsoft Entra-hovedstolen er en bruker eller en tjenestekontohaver.X
– hvis den angitte Microsoft Entra-hovedstolen er en gruppe.
Følgende T-SQL-eksempelskript oppretter en databasebruker for Microsoft Entra-brukeren, kalt bob@contoso.com
, og angir SID-en for den nye brukeren til objekt-ID-en til Microsoft Entra-brukeren. Den unike identifikatoren for brukerens objekt-ID konverteres og settes deretter sammen til en CREATE USER
setning. Erstatt <unique identifier sid>
med brukerens objekt-ID i 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);
Følgende eksempel oppretter en databasebruker for Microsoft Entra-tjenestekontohaveren, kalt HRApp
, og angir SID-en for den nye brukeren til klient-ID-en til tjenestekontohaveren i 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);
Følgende eksempel oppretter en databasebruker for Microsoft Entra-gruppen, kalt HR
, og angir SID-en for den nye brukeren til objekt-ID-en for gruppen.
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);
Begrensninger
- Microsoft Entra ID er den eneste SQL-databasen for identitetsleverandøren i Fabric som støttes. Sql-godkjenning støttes spesielt ikke.
- Pålogginger (serverkontohavere) støttes ikke.