Azure Active Directory-verificatie gebruiken

Van toepassing op: Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics

Dit artikel bevat een overzicht van het gebruik van Azure Active Directory voor verificatie bij Azure SQL Database, Azure SQL Managed Instance, SQL Server op Windows Azure-VM's, Synapse SQL in Azure Synapse Analytics en SQL Server voor Windows en Linux met behulp van identiteiten in Azure AD.

Als u wilt weten hoe u Azure AD maakt en invullen en vervolgens Azure AD configureert met Azure SQL Database, Azure SQL Managed Instance en Synapse SQL in Azure Synapse Analytics, raadpleegt u Azure AD configureren en Azure AD met SQL Server op Azure-VM's.

Overzicht

Azure Active Directory-verificatie (Azure AD) is een mechanisme om verbinding te maken met uw SQL-resource met behulp van identiteiten in Azure AD.

Met Azure AD-verificatie kunt u de identiteit van databasegebruikers en andere Microsoft-services op één centrale locatie beheren. Centraal identiteitsbeheer biedt één plek voor het beheren van databasegebruikers en vereenvoudigt het machtigingenbeheer. Dit biedt verschillende voordelen, zoals:

  • Het biedt een alternatief voor SQL Server verificatie.

  • Het helpt de verspreiding van gebruikersidentiteiten op servers te stoppen.

  • Hiermee is wachtwoordrotatie op één plaats toegestaan.

  • Klanten kunnen databasemachtigingen beheren met behulp van externe groepen (Azure AD).

  • Wachtwoorden hoeven niet meer te worden opgeslagen door het inschakelen van geïntegreerde Windows-verificatie en andere vormen van authenticatie die worden ondersteund door Azure Active Directory.

  • Azure AD verificatie maakt gebruik van ingesloten databasegebruikers om identiteiten op databaseniveau te verifiëren.

  • Azure AD ondersteunt verificatie op basis van tokens voor toepassingen die verbinding maken met SQL Database en SQL Managed Instance.

  • Azure AD-verificatie ondersteunt:

  • Azure AD ondersteunt verbindingen van SQL Server Management Studio die gebruikmaken van Active Directory Universal Authentication, waaronder Multi-Factor Authentication. Multi-Factor Authentication omvat sterke verificatie met een scala aan eenvoudige verificatieopties: telefoongesprek, sms-bericht, smartcards met pincode of meldingen van mobiele apps. Zie SSMS-ondersteuning voor Azure AD Multi-Factor Authentication met Azure SQL Database, SQL Managed Instance en Azure Synapse voor meer informatie

  • Azure AD biedt ondersteuning voor vergelijkbare verbindingen van SQL Server Data Tools (SSDT) die gebruikmaken van Active Directory Interactive Authentication. Zie Azure Active Directory-ondersteuning in SQL Server Data Tools (SSDT) voor meer informatie

De configuratiestappen omvatten de volgende procedures voor het configureren en gebruiken van Azure Active Directory-verificatie.

  1. Maak en vul Azure AD.
  2. Optioneel: koppel of wijzig de Active Directory die momenteel is gekoppeld aan uw Azure-abonnement.
  3. Maak een Azure Active Directory-beheerder.
  4. Configureer uw clientcomputers.
  5. Maak ingesloten databasegebruikers in uw database die zijn toegewezen aan Azure AD identiteiten.
  6. Maak verbinding met uw database met behulp van Azure AD identiteiten.

Notitie

Voor Azure SQL, Azure-VM's en SQL Server 2022 ondersteunt Azure AD verificatie alleen toegangstokens die afkomstig zijn van Azure AD en geen toegangstokens van derden ondersteunen. Azure AD biedt ook geen ondersteuning voor het omleiden van Azure AD query's naar eindpunten van derden. Dit geldt voor alle SQL-platforms en alle besturingssystemen die ondersteuning bieden voor Azure AD-verificatie.

Architectuur van vertrouwensrelatie

  • Alleen het cloudgedeelte van Azure AD, SQL Database, SQL Managed Instance[SQL Server op Windows Azure-VM's] en Azure Synapse wordt in aanmerking genomen om Azure AD systeemeigen gebruikerswachtwoorden te ondersteunen.
  • Ter ondersteuning van windows-referenties voor eenmalige aanmelding (of gebruikers-/wachtwoord voor Windows-referenties), gebruikt u Azure Active Directory-referenties van een federatief of beheerd domein dat is geconfigureerd voor naadloze eenmalige aanmelding voor passthrough- en wachtwoord-hashverificatie. Zie Naadloze eenmalige aanmelding via Azure Active Directory voor meer informatie.
  • Voor de ondersteuning van federatieve aanmelding (of gebruiker/wachtwoord voor Windows-referenties), is de communicatie met het ADFS-blok vereist.

Zie de volgende artikelen voor meer informatie over Azure AD hybride identiteiten, de installatie en synchronisatie:

Zie het onderstaande diagram voor een voorbeeld van federatieve verificatie met ADFS-infrastructuur (of gebruiker/wachtwoord voor Windows-referenties). De pijlen geven communicatiepaden aan.

aad-verificatiediagram

In het volgende diagram worden de federatie-, vertrouwens en hostingrelaties aangegeven waarmee een client verbinding kan maken met een database door een token in te dienen. Het token wordt geverifieerd door een Azure AD en wordt vertrouwd door de database. Klant 1 kan een Azure Active Directory met systeemeigen gebruikers of een Azure AD met federatieve gebruikers vertegenwoordigen. Klant 2 vertegenwoordigt een mogelijke oplossing, inclusief geïmporteerde gebruikers, in dit voorbeeld afkomstig van een federatieve Azure Active Directory waarbij ADFS wordt gesynchroniseerd met Azure Active Directory. Het is belangrijk om te begrijpen dat toegang tot een database met behulp van Azure AD-verificatie vereist dat het hostingabonnement is gekoppeld aan Azure AD. Hetzelfde abonnement moet worden gebruikt om de Azure SQL Database-, SQL Managed Instance- of Azure Synapse-resources te maken.

abonnementsrelatie

Beheerdersstructuur

Wanneer u Azure AD-verificatie gebruikt, zijn er twee beheerdersaccounts: de oorspronkelijke Azure SQL databasebeheerder en de Azure AD-beheerder. Dezelfde concepten zijn van toepassing op Azure Synapse. Alleen de beheerder op basis van een Azure AD-account kan de eerste Azure AD-databasegebruiker in een gebruikersdatabase maken. De aanmelding van de Azure AD-beheerder kan een Azure AD-gebruiker of een Azure AD-groep zijn. Wanneer de beheerder een groepsaccount is, kan dit door elk groepslid worden gebruikt, waardoor meerdere Azure AD beheerders voor de server kunnen worden ingeschakeld. Het gebruik van een groepsaccount als beheerder verbetert de beheerbaarheid doordat u groepsleden centraal in Azure AD kunt toevoegen en verwijderen zonder de gebruikers of machtigingen in SQL Database of Azure Synapse te wijzigen. Er kan maar één Azure AD-beheerder (een gebruiker of groep) tegelijk worden geconfigureerd.

beheerdersstructuur

Machtigingen

Als u nieuwe gebruikers wilt maken, moet u de machtiging ALTER ANY USER in de database hebben. De machtiging ALTER ANY USER kan aan elke databasegebruiker worden verleend. De machtiging ALTER ANY USER is ook verleend aan de beheerdersaccounts van de server, databasegebruikers met de machtiging CONTROL ON DATABASEof ALTER ON DATABASE voor die database en leden van de databaserol db_owner.

Als u een ingesloten databasegebruiker wilt maken in Azure SQL Database, SQL Managed Instance of Azure Synapse, moet u verbinding maken met de database of het exemplaar met behulp van een Azure AD-identiteit. Om de eerste gebruiker voor een ingesloten database te maken, moet u gebruikmaken van een Azure AD-beheerder (die de eigenaar is van de database) om verbinding te maken met de database. Dit wordt gedemonstreerd in Azure Active Directory-verificatie configureren en beheren met SQL Database of Azure Synapse. Azure AD verificatie is alleen mogelijk als de Azure AD beheerder is gemaakt voor Azure SQL database, SQL Managed Instance of Azure Synapse. Als de Azure Active Directory-beheerder van de server is verwijderd, kunnen bestaande Azure Active Directory-gebruikers die eerder in SQL Server zijn gemaakt, geen verbinding meer maken met de database met behulp van hun Azure Active Directory-referenties.

Functies en beperkingen van Azure AD

  • De volgende leden van Azure AD kunnen worden ingericht voor Azure SQL Database:

  • Azure AD gebruikers die deel uitmaken van een groep met db_owner serverfuncties, kunnen de syntaxis CREATE DATABASE SCOPED CREDENTIAL niet gebruiken voor Azure SQL Database en Azure Synapse. U ziet de volgende fout:

    SQL Error [2760] [S0001]: The specified schema name 'user@mydomain.com' either does not exist or you do not have permission to use it.

    Verleen de rol db_owner rechtstreeks aan de individuele Azure AD-gebruiker om het probleem met CREATE DATABASE SCOPED CREDENTIAL te beperken.

  • Deze systeemfuncties retourneren NULL-waarden wanneer ze worden uitgevoerd onder Azure AD-principals:

    • SUSER_ID()
    • SUSER_NAME(<admin ID>)
    • SUSER_SNAME(<admin SID>)
    • SUSER_ID(<admin name>)
    • SUSER_SID(<admin name>)

SQL Managed Instance

  • Azure AD server-principals (aanmeldingen) en gebruikers worden ondersteund voor SQL Managed Instance.
  • Het instellen van Azure AD server-principals (aanmeldingen) die zijn toegewezen aan een Azure AD groep als database-eigenaar, wordt niet ondersteund in SQL Managed Instance.
    • Een uitbreiding hiervan is dat wanneer een groep wordt toegevoegd als onderdeel van de dbcreator serverfunctie, gebruikers van deze groep verbinding kunnen maken met de SQL Managed Instance en nieuwe databases kunnen maken, maar geen toegang hebben tot de database. Dit komt doordat de nieuwe database-eigenaar SA is en niet de Azure AD gebruiker. Dit probleem treedt niet op als de afzonderlijke gebruiker wordt toegevoegd aan de dbcreator serverfunctie.
  • SQL Agent-beheer en taakuitvoering worden ondersteund voor Azure AD server-principals (aanmeldingen).
  • Database-back-up en herstelbewerkingen kunnen worden uitgevoerd door Azure AD-server-principals (aanmeldingen).
  • Controle van alle instructies met betrekking tot Azure AD server-principals (aanmeldingen) en verificatie-gebeurtenissen wordt ondersteund.
  • Toegewezen beheerdersverbinding voor Azure AD server-principals (aanmeldingen) die lid zijn van de serverrol sysadmin wordt ondersteund.
    • Ondersteund via het hulpprogramma SQLCMD en SQL Server Management Studio.
  • Aanmeldingstriggers worden ondersteund voor aanmeldingsgebeurtenissen die afkomstig zijn van Azure AD-server-principal s(aanmeldingen).
  • Service Broker en DB-e-mail kunnen worden ingesteld met behulp van een Azure AD server-principal (aanmelding).

Verbinding maken met Azure AD-identiteiten

Azure Active Directory-verificatie ondersteunt de volgende methoden om verbinding te maken met een database met behulp van Azure AD-identiteiten:

  • Azure Active Directory – wachtwoord
  • Azure Active Directory – geïntegreerd
  • Azure Active Directory Universal met Multi-Factor Authentication
  • Verificatie van toepassingstoken gebruiken

De volgende verificatiemethoden worden ondersteund voor Azure AD-server-principals (aanmeldingen):

  • Azure Active Directory – wachtwoord
  • Azure Active Directory – geïntegreerd
  • Azure Active Directory Universal met Multi-Factor Authentication

Aanvullende overwegingen

  • Voor een betere beheerbaarheid raden wij u aan een toegewezen Azure AD-groep in te richten als beheerder.
  • Er kan op elk moment slechts één Azure AD beheerder (een gebruiker of groep) worden geconfigureerd voor een server in SQL Database of Azure Synapse.
    • De toevoeging van Azure AD server-principals (aanmeldingen) voor SQL Managed Instance maakt het mogelijk om meerdere Azure AD server-principals (aanmeldingen) te maken die aan de sysadmin functie kunnen worden toegevoegd.
  • Alleen een Azure AD-beheerder voor de server kan in eerste instantie verbinding maken met de server of het beheerde exemplaar met behulp van een Azure Active Directory-account. De Active Directory-beheerder kan vervolgens nieuwe Azure AD-databasegebruikers configureren.
  • Azure AD gebruikers en service-principals (Azure AD toepassingen) die lid zijn van meer dan 2048 Azure AD beveiligingsgroepen, worden niet ondersteund om zich aan te melden bij de database in SQL Database, Managed Instance of Azure Synapse.
  • Het is raadzaam om de time-out voor de verbinding in te stellen op 30 seconden.
  • SQL Server 2016 Management Studio en SQL Server Data Tools voor Visual Studio 2015 (versie 14.0.60311.1 van april 2016 of later) ondersteunen Azure Active Directory-verificatie. (Azure AD-verificatie wordt ondersteund door de .NET Framework-gegevensprovider voor SqlServer; minimaal .NET Framework versie 4.6). Daarom kunnen de nieuwste versies van deze hulpprogramma's en gegevenslaagtoepassingen (DAC en BACPAC) gebruikmaken van Azure AD verificatie.
  • Vanaf versie 15.0.1 ondersteunen het hulpprogramma sqlcmd en het bcp-hulpprogramma Interactieve Active Directory-verificatie met Multi-Factor Authentication.
  • SQL Server Data Tools voor Visual Studio 2015 vereist minimaal de versie van april 2016 van de hulpmiddelen voor gegevens (versie 14.0.60311.1). Op dit moment worden Azure AD gebruikers niet weergegeven in SSDT-Objectverkenner. Als tijdelijke oplossing kunt u de gebruikers weergeven in sys.database_principals.
  • Microsoft JDBC Driver 6.0 voor SQL Server ondersteunt Azure AD-verificatie. Zie ook De verbindingseigenschappen instellen.
  • PolyBase kan niet worden geverifieerd met behulp van Azure AD verificatie.
  • Azure AD verificatie wordt ondersteund voor Azure SQL Database en Azure Synapse met behulp van de blades Azure Portal Database importeren en Database exporteren. Importeren en exporteren met behulp van Azure AD verificatie wordt ook ondersteund vanuit een PowerShell-opdracht.
  • Azure AD verificatie wordt ondersteund voor SQL Database, SQL Managed Instance en Azure Synapse met het gebruik van de CLI. Zie Azure AD-verificatie configureren en beheren met SQL Database of Azure Synapse en SQL Server - az sql server voor meer informatie.

Volgende stappen