Übung: Konfigurieren der Authentifizierung

Abgeschlossen

In dieser Übung erstellen Sie Anmeldungen, Benutzer*innen und Administrator*innen, und Sie gewähren Microsoft Entra-Benutzer*innen Zugriff auf die Datenbank, wie Sie es für normale Benutzer*innen in SQL Server erledigen würden.

  1. Öffnen Sie SQL Server Management Studio (SSMS), und stellen Sie eine Verbindung mit Ihrem logischen Azure SQL-Datenbank-Server her, falls Sie noch keine Verbindung besteht.

  2. Nachdem Sie die Datenbanken konfiguriert und eine Verbindung zu diesen hergestellt haben, kann Ihr nächster Schritt so aussehen, dass Sie andere Benutzer hinzufügen und ihnen Zugriff gewähren. Wie in SQL Server können Sie neue Anmeldungen und Benutzer hinzufügen.

    Klicken Sie in SSMS mit der rechten Maustaste auf Ihren Datenbankserver, wählen Sie New Query aus, und erstellen Sie eine neue Abfrage mit dem folgenden Befehl. Wählen Sie Ausführen aus, um die Abfrage auszuführen:

    -- Create a new SQL login and give them a password
    CREATE LOGIN ApplicationUser WITH PASSWORD = 'YourStrongPassword1';
    

    Tipp

    Bei den meisten Abfragen in Azure SQL-Datenbank müssen Sie mit der rechten Maustaste auf die Datenbank in ihrem logischen Server von Azure SQL-Datenbank klicken. In SQL Server und Azure SQL Managed Instance können Sie eine Abfrage auf Serverebene durchführen und USE <DatabaseName>verwenden. In Azure SQL-Datenbank müssen Sie die Datenbank jedoch direkt abfragen. Dies liegt daran, dass die USE-Anweisung nicht unterstützt wird. Es gibt einige Ausnahmen bei der Abfrage Ihrer Datenbank in Azure SQL-Datenbank. Eine davon sind Anmeldungen. Sie müssen eine Verbindung mit der master-Datenbank herstellen, um Anmeldungen zu erstellen und zu ändern.

    Nun haben Sie eine Anmeldung auf Serverebene. Der nächste Schritt ist das Erstellen von Benutzern in der Datenbank AdventureWorks und das Gewähren von Lese-/Schreibzugriff, falls erforderlich. Klicken Sie mit der rechten Maustaste auf die Datenbank AdventureWorks, und wählen Sie Neue Abfrage aus. Erstellen Sie eine neue Abfrage mit dem folgenden Befehl, und wählen Sie dann Ausführen aus:

    -- Create a new SQL user from that login
    CREATE USER ApplicationUser FOR LOGIN ApplicationUser;
    
    -- Until you run the following two lines, ApplicationUser has no access to read or write data
    ALTER ROLE db_datareader ADD MEMBER ApplicationUser;
    ALTER ROLE db_datawriter ADD MEMBER ApplicationUser;
    

    Benutzer können sich nur bei der AdventureWorks-Datenbank anmelden, nicht beim gesamten Server.

    Es hat sich bewährt, Konten auf Datenbankebene zu erstellen, die keine Administratorkonten sind, insofern Benutzer keine Administratoraufgaben ausführen müssen.

  3. In SQL Server sind Sie möglicherweise mit dem Konzept eines eigenständigen Datenbankbenutzers vertraut. Dies bedeutet, dass ein Benutzer nur Zugriff auf bestimmte Datenbanken hat und nicht über eine Anmeldung auf dem Server verfügt. In Ihrer Azure SQL-Datenbank-Instanz können Sie Benutzer*innen eigenständiger Datenbanken mit SQL-Authentifizierung oder Microsoft Entra-Authentifizierung erstellen. Sie müssen sich im Kontext der Benutzerdatenbank befinden, für die Sie den Benutzerzugriff erstellen möchten (im Gegensatz zur master-Datenbank). Klicken Sie in SSMS mit der rechten Maustaste auf Ihre Datenbank, und wählen Sie New Query aus. Erstellen Sie eine neue Abfrage mit dem folgenden Befehl, wählen Sie dann Ausführen aus:

    CREATE USER MyDatabaseUser WITH PASSWORD = 'C0mpl3xPa55word!'
    
  4. Wählen Sie zunächst oben links im Objekt-Explorer Verbinden und dann Datenbank-Engine aus. Konfigurieren Sie die Hauptseite, damit Sie eine Verbindung mit dem logischen Server von Azure SQL-Datenbank herstellen können. Für Anmelden geben Sie MyDatabaseUser ein, und für Kennwort verwenden Sie C0mpl3xPa55word!.

  5. Sie müssen auch den Datenbanknamen festlegen, indem Sie zu Optionen>Zusätzliche Verbindungsparameter navigieren. Hier können Sie Initial Catalog=AdventureWorks eingeben. Sie müssen dies manuell durchführen, da MyDatabaseUser keinen Zugriff hat, um den Server zu überprüfen und eine Datenbank auszuwählen.

  6. Klicken Sie auf Verbinden, und vergewissern Sie sich dann, dass Sie auf die Datenbank zugreifen können.

  7. Klicken Sie als Bereinigungsschritt mit der rechten Maustaste auf die Verbindung von MyDatabaseUser, und wählen Sie dann Verbindung trennen aus.

Gewähren des Zugriffs für andere Microsoft Entra-Benutzer*innen

Sie können Anmeldungen aus Microsoft Entra-Konten mithilfe der T-SQL-Syntax CREATE USER [anna@contoso.com] FROM EXTERNAL PROVIDER als Benutzer*innen eigenständiger Datenbanken erstellen. Ein*e Benutzer*in einer eigenständigen Datenbank wird einer Identität im Microsoft Entra-Verzeichnis zugeordnet, das der Datenbank zugeordnet ist, und hat keine Anmeldung in der master-Datenbank.

Mit der Einführung von Microsoft Entra-Serveranmeldungen in Azure SQL-Datenbank können Sie Anmeldungen aus Microsoft Entra-Prinzipalen in der virtuellen master-Datenbank einer SQL-Datenbank-Instanz erstellen. Sie können Microsoft Entra-Anmeldungen aus Microsoft Entra-Benutzer*innen, -Gruppen und -Dienstprinzipalen erstellen. Weitere Informationen finden Sie unter Microsoft Entra-Serverprinzipale.

Außerdem können Sie das Azure-Portal nur zum Erstellen von Administrator*innen verwenden, und Rollen der rollenbasierten Zugriffssteuerung von Azure werden nicht an logische Server von Azure SQL-Datenbank weitergegeben. Sie müssen zusätzliche Server- und Datenbankberechtigungen gewähren, indem Sie Transact-SQL (T-SQL) verwenden.