Freigeben über


Verwalten des Zugriffs auf Big Data-Cluster im Active Directory-Modus

Gilt für: SQL Server 2019 (15.x)

Wichtig

Das Microsoft SQL Server 2019-Big Data-Cluster-Add-On wird eingestellt. Der Support für SQL Server 2019-Big Data-Clusters endet am 28. Februar 2025. Alle vorhandenen Benutzer*innen von SQL Server 2019 mit Software Assurance werden auf der Plattform vollständig unterstützt, und die Software wird bis zu diesem Zeitpunkt weiterhin über kumulative SQL Server-Updates verwaltet. Weitere Informationen finden Sie im Ankündigungsblogbeitrag und unter Big Data-Optionen auf der Microsoft SQL Server-Plattform.

In diesem Artikel wird beschrieben, wie Sie zusätzlich zu den im Rahmen der Bereitstellung über die Konfigurationseinstellung clusterUsers bereitgestellten Gruppen neue Active Directory-Gruppen mit bdcUser-Rollen hinzufügen.

Wichtig

Verwenden Sie dieses Verfahren nicht, um neue Active Directory-Gruppen mit der Rolle bdcAdmin hinzuzufügen. Hadoop-Komponenten wie HDFS und Spark lassen nur eine Active Directory-Gruppe als Superuser-Gruppe zu. Diese entspricht der Rolle bdcAdmin in BDC. Um dem Big Data-Cluster nach der Bereitstellung zusätzliche Active Directory-Gruppen mit bdcAdmin-Berechtigungen hinzufügen zu können, müssen Sie während der Bereitstellung den bereits nominierten Gruppen zusätzliche Benutzer und Gruppen hinzufügen. Sie können dasselbe Verfahren anwenden, um die Gruppenmitgliedschaften zu aktualisieren, die über die Rolle bdcUsers verfügen.

Zwei übergeordnete Rollen im Big Data-Cluster

Active Directory-Gruppen können im Sicherheitsabschnitt des Bereitstellungsprofils als Teil von zwei übergreifenden Rollen für die Autorisierung innerhalb des Big Data-Clusters bereitgestellt werden:

  • clusterAdmins: Dieser Parameter akzeptiert eine einzelne Active Directory-Gruppe. Mitglieder dieser Gruppe verfügen über die Rolle bdcAdmin, was bedeutet, dass sie Administratorberechtigungen für den gesamten Cluster erhalten. Sie haben die Berechtigungen sysadmin in SQL Server, superuser in Hadoop Distributed File System (HDFS) und Spark sowie Administrator-Rechte auf dem Controller.

  • clusterUsers: Diese Active Directory-Gruppen werden der Rolle bdcUsers in BDC zugeordnet. Es handelt sich dabei um normale Benutzer ohne Administratorberechtigungen im Cluster. Sie verfügen über Berechtigungen für die Anmeldung bei der SQL Server-Masterinstanz. Standardmäßig haben sie jedoch keine Berechtigungen für Objekte oder Daten. Diese Benutzer sind in HDFS und Spark normale Benutzer ohne Superuser-Berechtigungen. Beim Herstellen einer Verbindung mit dem Controllerendpunkt können diese Benutzer nur die Endpunkte (mit azdata bdc endpoints list) abfragen.

Um zusätzlichen Active Directory-Gruppen bdcUser-Berechtigungen zu erteilen, ohne die Gruppenmitgliedschaften innerhalb von Active Directory zu ändern, führen Sie die Schritte in den folgenden Abschnitten aus.

Erteilen von bdcUser-Berechtigungen für zusätzliche Active Directory-Gruppen

Erstellen einer Anmeldung für den Active Directory-Benutzer oder die Active Directory-Gruppe in der SQL Server-Masterinstanz

  1. Stellen Sie mithilfe Ihres bevorzugten SQL-Clients eine Verbindung mit dem SQL-Masterendpunkt her. Verwenden Sie eine beliebige Administratoranmeldung (z. B. AZDATA_USERNAME), die während der Bereitstellung zur Verfügung gestellt wurde. Alternativ kann auch ein beliebiges Active Directory-Konto verwendet werden, das zur Active Directory-Gruppe gehört, die in der Sicherheitskonfiguration als clusterAdmins angegeben ist.

  2. Um eine Anmeldung für den Active Directory-Benutzer oder die Active Directory-Gruppe zu erstellen, führen Sie den folgenden Transact-SQL-Befehl aus:

    CREATE LOGIN [<domain>\<principal>] FROM WINDOWS;
    

    Erteilen Sie die gewünschten Berechtigungen in der SQL Server-Instanz:

    ALTER SERVER ROLE <server role> ADD MEMBER [<domain>\<principal>];
    GO
    

Eine vollständige Liste der Serverrollen finden Sie unter dem entsprechenden Thema zur SQL Server-Sicherheit hier.

Hinzufügen des Active Directory-Benutzers oder der Active Directory-Gruppe zur Rollentabelle in der Controllerdatenbank

  1. Rufen Sie die SQL Server-Anmeldeinformationen des Controllers ab, indem Sie die folgenden Befehle ausführen:

    a. Führen Sie diesen Befehl als Kubernetes-Administrator aus:

    kubectl get secret controller-sa-secret -n <cluster name> -o yaml | grep password
    

    b. Decodieren Sie das Geheimnis mit Base64:

    echo <password from kubectl command>  | base64 --decode && echo
    
  2. Machen Sie in einem separaten Befehlsfenster den Port des Datenbankservers des Controllers verfügbar:

    kubectl port-forward controldb-0 1433:1433 --address 0.0.0.0 -n <cluster name>
    
  3. Verwenden Sie die vorherige Verbindung, um eine neue Zeile in die Tabellen roles und active_directory_principals einzufügen. Geben Sie den Wert REALM in Großbuchstaben ein.

    USE controller;
    GO
    
    INSERT INTO [controller].[auth].[roles] VALUES (N'<user or group name>@<REALM>', 'bdcUser')
    GO
    
    INSERT INTO [controller].[auth].[active_directory_principals] VALUES (N'<user or group name>@<REALM>', N'<SID>')
    GO
    

    Zum Ermitteln der SID des hinzugefügten Benutzers oder der hinzugefügten Gruppe können Sie den PowerShell-Befehl Get-ADUser bzw. Get-ADGroup verwenden.

  4. Vergewissern Sie sich, dass die Mitglieder der Gruppe, die Sie hinzugefügt haben, über die erwarteten bdcUser-Berechtigungen verfügen, indem Sie sich beim Controllerendpunkt anmelden oder die Authentifizierung bei der SQL Server-Masterinstanz ausführen. Beispiel:

    azdata login
    azdata bdc endpoints list
    

Nächste Schritte