Aktivér Microsoft Entra-databasegodkendelse
I dette undermodul kan du se, hvordan du bruger Microsoft Entra ID til godkendelse med Azure SQL Database, Azure SQL Managed Instance og Azure Synapse Analytics.
Seddel
Microsoft Entra ID blev tidligere kendt som Azure Active Directory (Azure AD).
Du kan også konfigurere Microsoft Entra-godkendelse til SQL Server på Azure Virtual Machines.
Forudsætninger
Hvis du vil bruge Microsoft Entra-godkendelse sammen med din Azure SQL-ressource, skal du have følgende forudsætninger:
- En Microsoft Entra-lejer, der er udfyldt med brugere og grupper.
- En eksisterende Azure SQL-ressource, f.eks . Azure SQL Database eller Azure SQL Managed Instance.
Opret og udfyld en Microsoft Entra-lejer
Før du kan konfigurere Microsoft Entra-godkendelse for din Azure SQL-ressource, skal du oprette en Microsoft Entra-lejer og udfylde den med brugere og grupper. Microsoft Entra-lejere kan administreres udelukkende i Azure eller bruges til sammenslutning af en Active Directory-domænetjeneste i det lokale miljø.
Du kan få flere oplysninger under:
- Hvad er Microsoft Entra ID?
- Integration af dine identiteter i det lokale miljø med Microsoft Entra ID
- Føj dit domænenavn til Microsoft Entra ID
- Hvad er sammenslutning med Microsoft Entra ID?
- Katalogsynkronisering med Microsoft Entra-id
- Administrer Microsoft Entra ID ved hjælp af Windows PowerShell
- Påkrævede porte og protokoller for hybrididentitet
Angiv Microsoft Entra-administrator
Hvis du vil bruge Microsoft Entra-godkendelse sammen med din ressource, skal Microsoft Entra-administratoren være angivet. Trinnene er grundlæggende de samme for Azure SQL Database, Azure Synapse Analytics og Azure SQL Managed Instance, men i dette afsnit beskrives de forskellige API'er og portaloplevelser i detaljer for hvert produkt.
Microsoft Entra-administratoren kan også konfigureres, når Azure SQL-ressourcen oprettes. Hvis en Microsoft Entra-administrator allerede er konfigureret, skal du springe dette afsnit over.
Azure SQL Database og Azure Synapse Analytics
Angivelse af Microsoft Entra-administratoren aktiverer Microsoft Entra-godkendelse for din logiske server til Azure SQL Database og Azure Synapse Analytics. Du kan angive en Microsoft Entra-administrator for din server ved hjælp af Azure Portal, PowerShell, Azure CLI eller REST API'er.
På Azure Portal kan du finde det logiske servernavn
- I feltet Servernavn på siden Oversigt i Azure SQL Database.
- I feltet Servernavn på siden Oversigt i din separate dedikerede SQL-gruppe i Azure Synapse Analytics.
- I det relevante SQL-slutpunkt på siden Oversigt i dit Azure Synapse Analytics-arbejdsområde.
- Azure Portal-
- PowerShell-
- Azure CLI-
- REST API'er
Hvis du vil angive Microsoft Entra-administratoren for din logiske server på Azure Portal, skal du følge disse trin:
- I ruden Azure Portal Directorys + subscriptions skal du vælge den mappe, der indeholder din Azure SQL-ressource, som den aktuelle mappe.
- Søg efter SQL-servere, og vælg derefter den logiske server til databaseressourcen for at åbne ruden SQL-server.
- I ruden SQL-server for din logiske server skal du vælge Microsoft Entra ID under Indstillinger for at åbne ruden Microsoft Entra ID.
- I ruden Microsoft Entra ID skal du vælge Angiv administrator for at åbne ruden Microsoft Entra ID.
- Ruden Microsoft Entra ID viser alle brugere, grupper og programmer i din aktuelle mappe og giver dig mulighed for at søge efter navn, alias eller id. Find den ønskede identitet til din Microsoft Entra-administrator, og vælg den, og klik derefter på Vælg for at lukke ruden.
- Øverst på siden Microsoft Entra ID for din logiske server skal du vælge Gem.
Objekt-id'et vises ud for administratornavnet for Microsoft Entra-brugere og -grupper. For programmer (tjenesteprincipaler) vises program-id'et.
Processen med at ændre administratoren kan tage flere minutter. Derefter vises den nye administrator i feltet Microsoft Entra-administrator.
Hvis du vil fjerne administratoren, skal du øverst på siden Microsoft Entra ID vælge Fjern administrator og derefter vælge Gem. Hvis du fjerner Microsoft Entra-administratoren, deaktiveres Microsoft Entra-godkendelse for din logiske server.
Seddel
Microsoft Entra-administratoren gemmes i serverens masterdatabase som bruger (databaseprincipal). Da databaseprincipalnavne skal være entydige, kan det viste navn på administratoren ikke være det samme som navnet på en bruger i serverens masterdatabase. Hvis der allerede findes en bruger med navnet, mislykkes konfigurationen af Microsoft Entra-administratoren, og den annulleres, hvilket angiver, at navnet allerede er i brug.
Azure SQL Managed Instance
Angivelse af Microsoft Entra-administratoren aktiverer Microsoft Entra-godkendelse for Azure SQL Managed Instance. Du kan angive en Microsoft Entra-administrator for din SQL-administrerede instans ved hjælp af Azure Portal, PowerShell, Azure CLI eller REST API'er.
Hvis du vil tildele læsetilladelser til din SQL-administrerede forekomst til Microsoft Entra-id ved hjælp af Azure Portal, skal du logge på som administrator af en privilegeret rolle og følge disse trin:
- Vælg din konto i øverste højre hjørne på Azure Portal, og vælg derefter Skift mapper for at bekræfte, hvilken mappe der er din aktuelle mappe. Skift mapper, hvis det er nødvendigt.
- I ruden Azure Portal Directorys + subscriptions skal du vælge den mappe, der indeholder din administrerede forekomst, som den aktuelle mappe.''''
- Søg efter SQL-administrerede forekomster, og vælg derefter din administrerede forekomst for at åbne ruden SQL-administreret forekomst. Vælg derefter Microsoft Entra ID under Indstillinger for at åbne ruden Microsoft Entra ID for din forekomst.
- I ruden Microsoft Entra-administrator skal du vælge Angiv administrator på navigationslinjen for at åbne ruden Microsoft Entra-id.
- Søg efter en bruger i ruden Microsoft Entra-id, markér afkrydsningsfeltet ud for den bruger eller gruppe, der skal være administrator, og tryk derefter på Vælg for at lukke ruden og gå tilbage til siden Microsoft Entra-administrator for din administrerede forekomst. Ruden Microsoft Entra ID viser alle medlemmer og grupper i din aktuelle mappe. Nedtonede brugere eller grupper kan ikke vælges, fordi de ikke understøttes som Microsoft Entra-administratorer. Vælg den identitet, du vil tildele som administrator.
- På navigationslinjen på siden Microsoft Entra-administrator for din administrerede instans skal du vælge Gem for at bekræfte din Microsoft Entra-administrator. Når administratorændringshandlingen er fuldført, vises den nye administrator i feltet Microsoft Entra-administrator. Objekt-id'et vises ud for administratornavnet for Microsoft Entra-brugere og -grupper. For programmer (tjenesteprincipaler) vises program-id'et.
Drikkepenge
Hvis du vil fjerne administratoren, skal du vælge Fjern administrator øverst på siden Microsoft Entra ID og derefter vælge Gem.
Tildel Microsoft Graph-tilladelser
SQL Managed Instance skal have tilladelse til at læse Microsoft Entra ID for scenarier, f.eks. godkendelse af brugere, der opretter forbindelse via medlemskab af sikkerhedsgrupper og oprettelse af nye brugere. Hvis Microsoft Entra-godkendelse skal fungere, skal du tildele den administrerede forekomstidentitet til rollen Mappelæsere. Det kan du gøre ved hjælp af Azure Portal eller PowerShell.
For nogle handlinger kræver Azure SQL Database og Azure Synapse Analytics også tilladelser til at forespørge Microsoft Graph, som forklaret i Microsoft Graph-tilladelser. Azure SQL Database og Azure Synapse Analytics understøtter detaljeret graftilladelser til disse scenarier, mens SQL Managed Instance kræver rollen Mappelæsere. Detaljerede tilladelser og deres tildeling er beskrevet detaljeret i gør det muligt for tjenesteprincipaler at oprette Microsoft Entra-brugere.
Rollen Mappelæsere
Siden Microsoft Entra ID for SQL Managed Instance på Azure Portal viser et praktisk banner, når forekomsten ikke er tildelt tilladelserne til Mappelæser.
- Vælg banneret oven på siden Microsoft Entra ID, og giv tilladelse til den systemtildelte eller brugertildelte administrerede identitet, der repræsenterer din forekomst. Det er kun en privilegeret rolleadministrator eller en højere rolle i din lejer, der kan udføre denne handling.
- Når handlingen lykkes, vises der en meddelelse om fuldførelse i øverste højre hjørne:
Microsoft Entra-administratoren kan nu bruges til at oprette Microsoft Entra-serverprincipaler (logon) og databaseprincipaler (brugere). Du kan få flere oplysninger under Microsoft Entra-integration med Azure SQL Managed Instance.
Opret Microsoft Entra-hovedprincipaler i SQL
Hvis du vil oprette forbindelse til en database i SQL Database eller Azure Synapse Analytics med Microsoft Entra-godkendelse, skal en principal konfigureres i databasen for den pågældende identitet med tilladelsen CONNECT.
Databasebrugertilladelser
Når en databasebruger oprettes, får den som standard tilladelsen CONNECT til databasen. En databasebruger nedarver også tilladelser i to situationer:
- Hvis brugeren er medlem af en Microsoft Entra-gruppe, der også har tildelt tilladelser på serveren.
- Hvis brugeren oprettes ud fra et logon, arver den de servertildelt tilladelser for det logon, der gælder for databasen.
Administration af tilladelser for server- og databaseprincipaler fungerer på samme måde, uanset typen af hovedkonto (Microsoft Entra-id, SQL-godkendelse osv.). Vi anbefaler, at du tildeler tilladelser til databaseroller i stedet for at tildele tilladelser direkte til brugere. Derefter kan brugere føjes til roller med de relevante tilladelser. Dette forenkler administration af tilladelser på lang sigt og reducerer sandsynligheden for, at en identitet bevarer adgangen tidligere, når det er relevant.
Du kan få flere oplysninger under:
- Tilladelser og eksempler til databaseprogrammet
- Blog: Grundlæggende oplysninger om tilladelser til databaseprogrammet
- Administration af særlige databasers roller og logon i Azure SQL Database
Indeholdte databasebrugere
En indeholdt databasebruger er en type SQL-bruger, der ikke har forbindelse til et logon i masterdatabasen. Hvis du vil oprette en databasebruger, der er indeholdt i Microsoft Entra, skal du oprette forbindelse til databasen med en Microsoft Entra-identitet, der som minimum har TILLADELSEN ALTER ANY USER. Følgende T-SQL-eksempel opretter en databaseprincipal Microsoft_Entra_principal_name fra Microsoft Entra ID.
SQL
CREATE USER [<Microsoft_Entra_principal_name>] FROM EXTERNAL PROVIDER;
SQL
CREATE USER [ICU Nurses] FROM EXTERNAL PROVIDER;
SQL
CREATE USER [appName] FROM EXTERNAL PROVIDER;
SQL
CREATE USER [adrian@contoso.com] FROM EXTERNAL PROVIDER;
Logonbaserede brugere
Seddel
Microsoft Entra-serverprincipaler (logon) er i øjeblikket i offentlig prøveversion for Azure SQL Database og Azure Synapse Analytics. Microsoft Entra-logon er generelt tilgængelige for Azure SQL Managed Instance og SQL Server 2022.
Microsoft Entra-serverprincipaler (eller logon) understøttes, hvilket betyder, at indeholdte databasebrugere ikke er påkrævet. Databaseprincipaler (brugere) kan oprettes ud fra en serverprincipal, hvilket betyder, at Microsoft Entra-brugere kan nedarve tildelte tilladelser på serverniveau for et logon.
SQL
CREATE USER [appName] FROM LOGIN [appName];
Du kan få flere oplysninger i oversigt over SQL Managed Instance. Du kan se syntaks til oprettelse af Microsoft Entra-serverprincipaler (logon) under OPRET LOGON.
Eksterne brugere
Du kan ikke oprette en databasebruger direkte for en identitet, der administreres i en anden Microsoft Entra-lejer end den, der er knyttet til dit Azure-abonnement. Brugere i andre mapper kan dog importeres til den tilknyttede mappe som eksterne brugere. De kan derefter bruges til at oprette indeholdte databasebrugere, der kan få adgang til databasen. Eksterne brugere kan også få adgang via medlemskab i Microsoft Entra-grupper.
Eksempler: Sådan opretter du en indeholdt databasebruger, der repræsenterer en Microsoft Entra-organisationsnetværks- eller administreret domænebruger:
SQL
CREATE USER [alice@fabrikam.com] FROM EXTERNAL PROVIDER;
En domænebrugerkonto i organisationsnetværket, der importeres til et administreret domæne som ekstern bruger, skal bruge det administrerede domæne-id.
Overvejelser i forbindelse med navngivning
Specialtegn som kolon: eller og-tegn , når de medtages som brugernavne i T-SQL CREATE LOGIN- og CREATE USER-sætninger, understøttes ikke.
Microsoft Entra ID og Azure SQL divergerer i deres design til brugeradministration på én nøgle måde: Microsoft Entra ID gør det muligt at duplikere visningsnavne i en lejer, hvorimod Azure SQL kræver, at alle serverprincipaler på en server eller forekomst og alle databaseprincipaler i en database har et entydigt navn. Da Azure SQL bruger det viste Microsoft Entra-navn direkte for identiteten, når der oprettes hovedstole, kan det medføre fejl, når du opretter brugere. For at løse dette problem har Azure SQL udgivet forbedringer af WITH-OBJECT_ID, der i øjeblikket er en prøveversion, hvilket giver brugerne mulighed for at angive Microsoft Entra-objekt-id'et for den identitet, der føjes til serveren eller forekomsten.
Microsoft Graph-tilladelser
OPRET BRUGER... Kommandoen FROM EXTERNAL PROVIDER kræver Azure SQL-adgang til Microsoft Entra ID (den "eksterne provider") på vegne af den bruger, der er logget på. Nogle gange opstår der omstændigheder, der får Microsoft Entra ID til at returnere en undtagelse til Azure SQL.
- Du kan støde på SQL-fejl 33134, som indeholder den Microsoft Entra ID-specifikke fejlmeddelelse. Fejlen siger normalt, at adgang nægtet, at brugeren skal tilmelde sig MFA for at få adgang til ressourcen, eller at adgang mellem førstepartsprogrammer skal håndteres via forhåndsgodkendelse. I de første to tilfælde skyldes problemet normalt politikker for betinget adgang, der er angivet i brugerens Microsoft Entra-lejer: De forhindrer brugeren i at få adgang til den eksterne udbyder. Problemet bør løses ved at opdatere politikkerne for betinget adgang for at give adgang til programmet '00000003-0000-0000000000000' (program-id'et for Microsoft Graph API). Hvis fejlen siger, at adgang mellem førstepartsprogrammer skal håndteres via forhåndsgodkendelse, skyldes problemet, at brugeren er logget på som en tjenesteprincipal. Kommandoen skal lykkes, hvis den udføres af en bruger i stedet.
- Hvis du modtager en timeout for forbindelsen er udløbet, skal du muligvis angive parameteren TransparentNetworkIPResolution for forbindelsesstrengen til falsk. Du kan få flere oplysninger under Problemer med forbindelsestimeout med .NET Framework 4.6.1 – TransparentNetworkIPResolution.
Du kan få flere oplysninger om oprettelse af indeholdte databasebrugere baseret på Microsoft Entra-identiteter under OPRET BRUGER.
Konfigurer multifaktorgodkendelse
Hvis du vil have forbedret sikkerhed for din Azure SQL-ressource, kan du overveje at konfigurere multifaktorgodkendelse (MFA), som beder brugeren om at bruge en anden alternativ metode til godkendelse af databasen, f.eks. et telefonopkald eller en godkenderapp.
Hvis du vil bruge multifaktorgodkendelse med din Azure SQL-ressource, skal du først aktivere multifaktorgodkendelse og derefter bruge en politik for betinget adgang til at gennemtvinge MFA for din Azure SQL-ressource.
Opret forbindelse til Microsoft Entra
Når Microsoft Entra-godkendelse er konfigureret, kan du bruge den til at oprette forbindelse til din SQL-ressource med Microsoft-værktøjer som SQL Server Management Studio og SQL Server Data Tools og konfigurere klientprogrammer til at oprette forbindelse ved hjælp af Microsoft Entra-identiteter.
Foretag fejlfinding af Microsoft Entra-godkendelse
Du kan finde vejledning i fejlfinding af problemer under Blog: Fejlfinding af problemer, der er relateret til Microsoft Entra-godkendelse med Azure SQL Database og Azure Synapse.