Ausführen des von Azure Arc aktivierten SQL Servers mit geringsten Rechten (Vorschau)

Gilt für:SQL Server

Das Informationssicherheitsprinzip der geringsten Privilegien besagt, dass Konten und Anwendungen nur auf die Daten und Vorgänge Zugriff haben, die sie benötigen. Wenn SQL Server von Azure Arc aktiviert ist, können Sie den Agent-Erweiterungsdienst mit geringsten Berechtigungen ausführen. In diesem Artikel wird erläutert, wie Sie den Agent-Erweiterungsdienst mit geringsten Rechten ausführen.

Führen Sie die Schritte in diesem Artikel aus, um optional den Dienst so zu konfigurieren, dass er mit geringsten Rechten ausgeführt wird. Derzeit wird der Dienst nicht automatisch mit geringsten Rechten ausgeführt.

Konfigurieren von Windows-Dienstkonten und -berechtigungen für Azure-Erweiterung für SQL Server beschreibt die Berechtigungen mit den geringsten Rechten für den Agentenerweiterungsdienst.

Hinweis

Wenn es sich bei der Azure-Erweiterung um Version 1.1.2594.118 (Release von Februar 2024) oder höher handelt, wird der Modus mit den geringsten Rechten innerhalb der nächsten Monate automatisch aktiviert.

Unterstützung für diese Konfiguration steht derzeit für die Vorschau zur Verfügung.

Hinweis

Als Previewfunktion unterliegt die in diesem Artikel vorgestellte Technologie den zusätzlichen Nutzungsbedingungen für Microsoft Azure-Vorschauen.

Die neuesten Updates sind unter Versionshinweise – SQL-Server mit Azure Arc-Unterstützung verfügbar.

Nachdem Sie den Agent-Erweiterungsdienst so konfiguriert haben, dass er mit geringsten Rechten ausgeführt wird, verwendet er das NT Service\SQLServerExtension-Dienstkonto.

Das NT Service\SQLServerExtension-Konto ist ein lokales Windows-Wartungs-Konto:

  • Wird von der Azure-Erweiterung für SQL Server erstellt und verwaltet, wenn die Option der geringsten Berechtigung aktiviert ist.
  • Gewährung der erforderlichen Mindestberechtigungen und Rechte zur Ausführung des Azure-Erweiterungsdienstes für SQL Server auf dem Windows-Betriebssystem. Es hat nur Zugriff auf Ordner und Verzeichnisse, die zum Lesen und Speichern von Konfigurations- oder Schreibprotokollen verwendet werden.
  • Erteilte Berechtigung zum Herstellen einer Verbindung und Abfrage in SQL Server mit einer neuen Anmeldung speziell für dieses Dienstkonto, das über die erforderlichen Mindestberechtigungen verfügt. Mindestberechtigungen hängen von den aktivierten Features ab.
  • Aktualisiert, wenn Berechtigungen nicht mehr erforderlich sind. Beispielsweise werden Berechtigungen entzogen, wenn Sie eine Funktion deaktivieren, die Konfiguration der geringsten Rechte deaktivieren oder die Azure-Erweiterung für SQL Server deinstallieren. Der Entzug stellt sicher, dass keine Berechtigungen verbleiben, wenn sie nicht mehr benötigt werden.

Voraussetzungen

In diesem Abschnitt werden die Systemanforderungen und Tools aufgeführt, die Sie zum Abschließen des Beispiels in diesem Artikel benötigen.

Systemanforderungen

Für die Konfiguration mit geringsten Berechtigungen ist Folgendes erforderlich:

  • Windows Server 2012 oder höher
  • SQL Server 2012 oder höher

Die Konfiguration mit den geringsten Rechten wird derzeit unter Linux nicht unterstützt.

Extras

Um die Schritte in diesem Artikel auszuführen, benötigen Sie die folgenden Tools:

Aktivieren der geringsten Rechte

  1. Anmelden mit Azure CLI.

    az login
    
  2. Überprüfen Sie die Erweiterungsversion arcdata.

    az extension list -o table
    

    Wenn die Ergebnisse eine unterstützte Version von arcdata enthalten, fahren Sie mit dem nächsten Schritt fort.

    Installieren oder aktualisieren Sie bei Bedarf die Azure CLI-Erweiterung arcdata.

    Installieren Sie die Erweiterung wie folgt:

    az extension add --name arcdata
    

    So aktualisieren Sie die Erweiterung:

    az extension update --name arcdata
    
  3. Aktivieren Sie die geringsten Berechtigungen mit Azure CLI.

    Um die geringste Berechtigung zu aktivieren, setzen Sie das LeastPrivilege-Funktionsflag auf true. Führen Sie zum Abschluss dieser Aufgabe den folgenden Befehl mit aktualisierten Werten für <resource-group> und <machine-name> aus.

    az sql server-arc extension feature-flag set --name LeastPrivilege --enable true --resource-group <resource-group> --machine-name <machine-name>
    

    Der folgende Befehl aktiviert beispielsweise das kleinste Zugriffsrecht für einen Server namens myserver in einer Ressourcengruppe namens myrg:

    az sql server-arc extension feature-flag set --name LeastPrivilege --enable true --resource-group myrg --machine-name myserver 
    

Überprüfen der Konfiguration

So überprüfen Sie, ob Ihr von Azure Arc aktivierter SQL Server für die Ausführung mit den geringsten Rechten konfiguriert ist:

  1. Suchen Sie in den Windows-Diensten den Microsoft SQL Server-Erweiterungsdienst. Überprüfen Sie, ob der Dienst unter dem Dienstkonto NT Service\SqlServerExtension ausgeführt wird. 

  2. Öffnen Sie den Taskplaner auf dem Server und überprüfen Sie, ob unter Microsoft\SqlServerExtension eine geplante Aufgabe mit dem Namen SqlServerExtensionPermissionProvider erstellt wurde. Diese Aufgabe wird stündlich ausgeführt, um je nach Bedarf Berechtigungen hinzuzufügen oder zu entfernen, je nachdem, welche Funktionen aktiviert oder deaktiviert sind.

  3. Öffnen Sie SQL Server Management Studio und überprüfen Sie die Anmeldung namens NT Service\SqlServerExtension. Stellen Sie sicher, dass dem Konto die folgenden Berechtigungen zugewiesen sind:

    • SQL verbinden
    • Datenbankstatus anzeigen
    • Server-Status anzeigen
  4. Überprüfen Sie die Berechtigungen mit den folgenden Abfragen:

    Um die Berechtigungen auf Serverebene zu überprüfen, führen Sie die folgende Abfrage aus:

    EXECUTE AS LOGIN = 'NT Service\SqlServerExtension'  
    SELECT * FROM fn_my_permissions (NULL, 'SERVER");
    

    Um die Berechtigungen auf Datenbankebene zu überprüfen, ersetzen Sie <database name> durch den Namen einer Ihrer Datenbanken und führen Sie die folgende Abfrage aus:

    EXECUTE AS LOGIN = 'NT Service\SqlServerExtension'  
    USE <database name>; 
    SELECT * FROM fn_my_permissions (NULL, 'database");
    

Deaktivieren der geringsten Rechte

Um die geringste Berechtigung zu deaktivieren, setzen Sie das LeastPrivilege-Funktionsflag auf false. Führen Sie zum Abschluss dieser Aufgabe den folgenden Befehl mit aktualisierten Werten für <resource-group> und <machine-name> aus:

az sql server-arc extension feature-flag set --name LeastPrivilege --enable false --resource-group <resource-group> --machine-name <machine-name>

Der folgende Befehl deaktiviert beispielsweise das kleinste Zugriffsrecht für einen Server namens myserver in einer Ressourcengruppe namens myrg:

az sql server-arc extension feature-flag set --name LeastPrivilege --enable false --resource-group myrg --machine-name myserver