Azure Active Directory-verificatie gebruiken

VAN TOEPASSING OP: Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics

Azure Active Directory (Azure AD) verificatie is een mechanisme voor het maken van verbinding met Azure SQL Database, Azure SQL Managed Instance en Synapse-SQL Azure Synapse Analytics met behulp van identiteiten in Azure AD.

Notitie

Dit artikel is van toepassing op Azure SQL Database, SQL Managed Instance en Azure Synapse Analytics.

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 kan wachtwoordrotatie op één plaats worden uitgevoerd.

  • 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 identiteiten in de cloud.
    • Azure AD hybride identiteiten die ondersteuning bieden voor:
      • Cloudverificatie met twee opties in combinatie met naadloze passthrough-verificatie (SSO) passthrough-verificatie en wachtwoord-hashverificatie .
      • Federatieve verificatie.
    • Zie het volgende artikel voor meer informatie over Azure AD verificatiemethoden en welke methode u moet kiezen:
  • Azure AD ondersteunt verbindingen van SQL Server Management Studio die gebruikmaken van Universele Active Directory-verificatie, waaronder Multi-Factor Authentication. Multi-Factor Authentication bevat sterke verificatie met een scala aan eenvoudige verificatieopties: telefoongesprek, sms-bericht, smartcards met pincode of mobiele app-melding. 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

Notitie

Verbinding maken met een SQL Server-exemplaar dat wordt uitgevoerd op een virtuele Azure-machine (VM), wordt niet ondersteund met behulp van Azure Active Directory of Azure Active Directory Domain Services. Gebruik in plaats daarvan een Active Directory-domeinaccount.

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. Verbinding maken naar uw database met behulp van Azure AD identiteiten.

Notitie

Zie Configureren Azure AD configureren met Azure SQL Database, SQL Managed Instance en Synapse SQL in Azure Synapse Analytics voor meer informatie over het maken en vullen van Azure AD en het configureren van Azure AD met Azure SQL Database, SQL Managed Instance en Synapse Azure SQL Database.

Architectuur van vertrouwensrelatie

  • Alleen het cloudgedeelte van Azure AD, SQL Database, SQL Managed Instance en Azure Synapse wordt beschouwd als ondersteuning voor Azure AD systeemeigen gebruikerswachtwoorden.
  • Als u Windows referenties voor eenmalige aanmelding (of gebruikers-/wachtwoord voor Windows referentie) wilt ondersteunen, gebruikt u Azure Active Directory referenties uit een federatief of beheerd domein dat is geconfigureerd voor naadloze eenmalige aanmelding voor passthrough- en wachtwoordhashverificatie. 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 gebruikers-/wachtwoord voor Windows referenties). De pijlen geven communicatiepaden aan.

aad auth diagram

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, waaronder 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.

subscription relationship

Beheerdersstructuur

Wanneer u Azure AD verificatie gebruikt, zijn er twee beheerdersaccounts: de oorspronkelijke Azure SQL Database-beheerder 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 het worden gebruikt door elk groepslid, waardoor meerdere Azure AD beheerders voor de server worden ingeschakeld. Het gebruik van een groepsaccount als beheerder verbetert de beheerbaarheid doordat u groepsleden centraal kunt toevoegen en verwijderen in Azure AD 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.

admin structure

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 is verwijderd van de server, 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 serverfunctie, 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 serverrol, gebruikers uit 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 is niet zichtbaar als de afzonderlijke gebruiker wordt toegevoegd aan de dbcreator serverfunctie.
  • SQL agentbeheer en -taken 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, worden ondersteund.
    • Ondersteund via SQLCMD Utility 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 Universeel 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 Universeel met Multi-Factor Authentication

Aanvullende overwegingen

  • Voor een betere beheerbaarheid raden wij u aan een toegewezen Azure AD-groep in te richten als beheerder.
  • Slechts één Azure AD beheerder (een gebruiker of groep) kan op elk gewenst moment worden geconfigureerd voor een server in SQL Database of Azure Synapse.
    • Door de toevoeging van Azure AD server-principals (aanmeldingen) voor SQL Managed Instance kunt u meerdere Azure AD server-principals (aanmeldingen) maken die aan de sysadmin rol 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 u aan te melden bij de database in SQL Database, Beheerd exemplaar 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 toepassingen met gegevenslagen (DAC en BACPAC) gebruikmaken van Azure AD verificatie.
  • Vanaf versie 15.0.1 ondersteunen het sqlcmd-hulpprogramma en het bcp-hulpprogramma Active Directory Interactive Authentication 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). Momenteel 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 behulp 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