Verwalten der Anwendungs-/Middleware-Sicherheit
In großen Organisationen gibt es mehrere Benutzer aus verschiedenen Unternehmensgruppen, die Folgendes durchführen müssen:
- Auf sichere Weise beim Cluster anmelden
- Das Prinzip der geringsten Rechte beim Zugriff auf die zugrunde liegenden Daten durchsetzen
- Die sicherheitsrelevanten Ereignisse protokollieren
Der Zweck der Anwendungssicherheit in HDInsight besteht darin, Möglichkeiten zur sicheren Authentifizierung mehrerer Benutzer in HDInsight bereitzustellen, die Methode der Einschränkung der Zugriffsrechte für Benutzer auf Daten auf das absolute Minimum zu erzwingen, das sie für die Durchführung ihrer Arbeit benötigen, und schließlich Ereignisse zu protokollieren, die sicherheitsrelevant sind, z. B. eine Anmeldung, ein Versuch, eine privilegierte Aktion durchzuführen oder eine Änderung eines wichtigen Datensatzes.
Authentifizierung
Die Authentifizierung ist der Prozess, der die Identität einer Person feststellt und zu der Bestätigung führt, dass die Benutzer die sind, die sie vorgeben zu sein. HDInsight-Cluster in Produktionsszenarien müssen in der Regel einer Vielzahl von Benutzern aus verschiedenen Unternehmensgruppen ermöglichen, sich beim Cluster zu authentifizieren, um Aktivitäten wie das Konfigurieren, Übermitteln, Ausführen und Überwachen von Workloads durchzuführen. Das Aktivieren des Features „Enterprise-Sicherheitspaket“ (Enterprise Security Package, ESP) während der HDInsight-Clustererstellung ermöglicht Clustern den Domänenbeitritt und dass Domänenbenutzer ihre Domänenanmeldeinformationen verwenden können, um sich beim Cluster zu authentifizieren. Active Directory-Gruppen können verwendet werden, um Gruppen von einzelnen Benutzern zu erstellen, die eine Funktion oder Abteilung innerhalb einer Organisation repräsentieren, und mehrere dieser Gruppen können zum Zeitpunkt der Erstellung mit dem Cluster synchronisiert werden. Cluster müssen einen Domänenclusteradministrator und eine einzelne oder mehrere Gruppen von Benutzern mit eingeschränktem Zugriff aufweisen. Nachfolgend finden Sie eine Darstellung der Komponenten und Teilnehmer, die am HDInsight-Authentifizierungsprozess beteiligt sind.
Die folgenden Komponenten in der Enterprise Identity-Domäne nehmen am Einrichtungs- und Authentifizierungsprozess für einen ESP-Cluster teil.
- Windows Server Active Directory: Lokaler Domänencontroller, der den Benutzerprinzipalnamen (Beispiel:
user@Contoso.com
) und die entsprechenden Domänenkennwörter speichert. - Active Directory Connect (AD Connect): Das Microsoft-Tool, das für die Einrichtung von Hybrididentitäten entwickelt wurde. Funktionen wie die Synchronisierung von Kennworthashes sind entscheidend für die Einrichtung von ESP für HDInsight.
- Azure Active Directory (Microsoft Entra ID): Auf Microsoft Azure basierender Identitäts- und Zugriffsverwaltungsdienst.
- Microsoft Entra Domain Services (Microsoft Entra Domain Services): Stellt verwaltete Domänendienste bereit, die mit Windows Server Active Directory vollständig kompatibel sind, z. B. Domänenbeitritt, Gruppenrichtlinie, LDAP (Lightweight Directory Access Protocol) und Kerberos- oder NTLM-Authentifizierung. Sie können diese Domänendienste nutzen, ohne Domänencontroller in der Cloud bereitstellen, verwalten und patchen zu müssen. Microsoft Entra Domain Services lässt sich in Ihren vorhandenen Microsoft Entra-Mandanten integrieren, sodass Benutzer*innen sich mit ihren vorhandenen Anmeldeinformationen anmelden können. Sie können auch vorhandene Gruppen und Benutzerkonten verwenden, um den Zugriff auf Ressourcen zu sichern. So können Sie für eine reibungslosere Lift & Shift-Migration lokaler Ressourcen zu Azure sorgen.
HDInsight unterstützt zwei Arten von Authentifizierungsszenarien
- Kennworthashes werden mit Microsoft Entra-ID synchronisiert.
- Die Beibehaltung von Kennworthashes auf lokalen Domänencontrollern. Beachten Sie, dass der Benutzer auswählen kann, ob er den HDInsight-Cluster mit Windows Azure Storage Blob (WASB) oder ADLS Gen2-Speicher erstellen möchte, und dass sich der Authentifizierungsprozess in beiden Fällen leicht unterscheidet. Obwohl alle Schritte des Authentifizierungsprozesses automatisch ablaufen und abseits vom Benutzer abstrahiert werden, ist es hilfreich, auf einer hohen Ebene die Sequenz der Ereignisse zu verstehen, die zur Authentifizierung eines Benutzers führen.
Authentifizierung: bei der Synchronisierung von Kennworthashes mit Microsoft Entra ID
- Der Benutzer John Doe authentifiziert sich bei einem HDInsight-Dienst (z. B. Ambari, ssh, Zeppelin usw.) mit seinen Domänenanmeldeinformationen
user@contoso.onmicrosoft.com
(auch als Benutzerprinzipalname oder UPN bezeichnet) und seinem Kennwort. Das Gateway enthält den Benutzernamen und das Kennwort. - Das HDInsight-Gateway sendet den benutzerseitig bereitgestellten UPN und das Kennwort mithilfe des ROPC-Flows (Resource Owner Password Credentials, Ressourcenbesitzer-Kennwortanmeldeinformationen) an Microsoft Entra ID und fordert eine OAuth-Zugriffsanforderung an. Microsoft Entra ID bestätigt die Benutzeridentität und gibt ein Aktualisierungstoken aus, das im Anmeldeinformationsdienst gespeichert wird. Dieser wird auf dem Hauptknoten ausgeführt. In Clustern mit ADLS Gen 2-Speicherkonten kommunizieren die Speichertreiber mit dem Anmeldeinformationsdienst, um das OAuth-Token zum Zweck der Passthrough-Authentifizierung bei ADLS abzurufen.
- Das Gateway authentifiziert den Benutzer oder die Benutzerin dann bei Microsoft Entra Domain Services und ruft ein Kerberos-Ticket ab. Das Gateway gibt dann das Kerberos-Ticket an die Hauptknoten weiter und authentifiziert den Benutzer im Cluster.
MFA-Authentifizierung: keine Synchronisierung von Kennworthashes mit Microsoft Entra ID
Hinweis
Dieses Setup wird auch als HDInsight-Identitätsbroker (HIB) bezeichnet und unterstützt die mehrstufige Authentifizierung (MFA). In diesem Setup können Benutzer*innen sich beim Gateway authentifizieren, auch wenn die Kennworthashes nicht mit Microsoft Entra ID synchronisiert werden.
- Der Benutzer John Doe startet einen webbasierten HDInsight-Dienst wie Ambari oder Zeppelin. Die Seite leitet den Benutzer zu einem interaktiven Anmeldebildschirm weiter.
Der Client wird zu Microsoft Entra ID umgeleitet, damit Benutzer*innen sich mit ihrem UPN (z. B.
user@contoso.onmicrosoft.com
) authentifizieren können. - Nach Eingabe des UPN wird der Client zum lokalen ADFS-Server weitergeleitet, wo der Benutzer sein Kennwort eingibt. Wenn die MFA-Authentifizierung aktiviert ist, wird Sie nun ausgeführt. Nach erfolgreicher Authentifizierung wird ein OAuth-Token an den Client ausgegeben.
- Der Client übergibt das OAuth-Token an das HDInsight-Gateway.
- Das HDInsight-Gateway verwendet das OAuth-Token, um ein Kerberos-Ticket vom HIB-Knoten abzurufen.
- Das Gateway verwendet das Kerberos-Ticket und registriert das OAuth-Token für den Anmeldeinformationsdienst des Hauptknotens und authentifiziert sich am Cluster.
Hinweis
Wenn die Kennworthashes nicht mit Microsoft Entra ID synchronisiert werden, können die Domänenbenutzer*innen nicht über SSH auf die Hauptknoten zugreifen. Nur der lokale ssh-Benutzer ist in der Lage, ssh-Aktivitäten durchzuführen. Einen Leitfaden zum Einrichten von Authentifizierungsmechanismen für beide Szenarien finden Sie unter Verwenden des Identitätsbrokers für die Verwaltung von Anmeldeinformationen.
Authorization
Die Autorisierung in HDInsight befasst sich mit der Bestimmung und Durchsetzung von Benutzerberechtigungen auf den zugrunde liegenden Datensätzen. Eine differenzierte Autorisierung für bestimmte Aktionen und/oder Vorgänge ist für die HDInsight-Dienste von Hive, HBase und Kafka verfügbar und wird über Apache Ranger verwaltet. Ranger bietet eine rollenbasierte Zugriffssteuerung, eine attributbasierte Zugriffssteuerung und eine zentrale Prüfung von Benutzerzugriffen und administrativen Aktionen. Normalerweise authentifizieren Sie sich bei Apache Ranger mit den Domänenanmeldeinformationen des Clusteradministrators und richten dann Richtlinien für eingeschränkte Gruppen oder Benutzer auf Ranger ein. Im folgenden Beispiel wird gezeigt, wie Sie eine Ranger-Richtlinie erstellen können, um Berechtigungen für eine Hive-Beispieltabelle in Ranger festzulegen.
Starten Sie Apache Ranger über die URL:
https://CLUSTERNAME.azurehdinsight.net/Ranger/
. Ersetzen Sie „CLUSTERNAME“ durch den Namen Ihres Clusters. Melden Sie sich als Clusterdomänenadministrator und dem entsprechenden Kennwort an.Klicken Sie auf „Add new policy“ (Neue Richtlinie hinzufügen), um eine neue Ranger-Richtlinie hinzuzufügen.
Füllen Sie die Details der Richtlinie mit den folgenden Informationen:
- Policy Name (Name der Richtlinie): Name der Richtlinie.
- Database (Datenbank): Wählen Sie die Hive-Datenbank aus.
- Table (Tabelle): Wählen Sie die Hive-Tabelle in der ausgewählten Datenbank aus.
- Hive Column (Hive-Spalte): Wählen Sie die Hive-Spalte aus, auf die die Richtlinie angewendet werden soll.
- Legen Sie „Audit logging“ (Überwachungsprotokoll) auf „Yes“ (Ja) fest, um die Protokollierung aller Zugriffe zu aktivieren.
- Bedingungen zulassen:
- Richtlinien können auf Active Directory-Domänenbenutzer oder -Domänengruppen im Abschnitt „Allow Conditions“ (Bedingungen zulassen) angewendet werden. Wenn Sie die Richtlinie auf alle Benutzer in einer AD-Gruppe anwenden möchten, fügen Sie diese AD-Gruppe zum Abschnitt „Select Group“ (Gruppe auswählen) hinzu.
- Wenn Sie möchten, dass die Richtlinie für einzelne oder eine ausgewählte Gruppe von Benutzern aus z. B. verschiedenen AD-Gruppen gilt, können Sie alternativ alle individuellen Domänen-IDs der Benutzer in das Feld „Select User“ (Benutzer auswählen) eingeben.
- Treffen Sie eine Auswahl aus einer Reihe von Berechtigungen in der Kontrollkästchenleiste „Permissions“ (Berechtigungen).
Scrollen Sie nach unten, und klicken Sie auf „Add“ (Hinzufügen).
Nach der Einrichtung wird diese Regel für alle Benutzer durchgesetzt, die in die Richtlinie einbezogen wurden.
Das Einstellen von Ranger-Richtlinien für HBase und Kafka wird in den entsprechenden Links im Abschnitt beschrieben.
Überwachung
Die Überwachung in HDInsight aus der Sicherheitsperspektive befasst sich mit der Aufzeichnung und Überwachung von Authentifizierungs- und Autorisierungsanforderungen, die während der Betriebsdauer des Clusters und auch nach dem Löschen des Clusters erfolgen.
Die Überwachung in HDInsight wird über die Azure Monitor-Protokolle aktiviert und kann verwendet werden, um Protokolle aufzudecken, die für die Clustersicherheit entscheidend sind. Im Folgenden sind einige Protokolltabellen aufgeführt, die für die Clustersicherheit wichtige Informationen enthalten.
Protokolltabellenname | Zweck |
---|---|
ranger_audit_logs_CL | Überwachungsprotokolle von Apache Ranger auf Clustern mit Enterprise-Sicherheitspaket |
log_gateway_audit_CL | Überwachungsprotokolle des Gateways, um erfolgreiche und fehlerhafte Versuche anzuzeigen |
log_ambari_audit_CL | Überwachungsprotokolle von Ambari |
log_auth_CL | SSH-Protokolle für erfolgreiche und fehlerhafte Versuche |
Die Azure-Überwachung wird über das Azure-Portal mit wenigen Klicks aktiviert.
Klicken Sie auf dem HDInsight-Cluster auf dem linken Blatt auf Azure Monitor. Legen Sie Azure Monitor-Integration auf „True“ (Wahr) fest, und wählen Sie in „Arbeitsbereich auswählen“ einen vordefinierten Log Analytics-Arbeitsbereich aus dem Dropdownmenü aus.
Starten Sie den Log Analytics-Arbeitsbereich, und importieren Sie die relevanten HDInsight-Überwachungslösungen, die für Ihren Clustertyp relevant sind. Starten Sie die Lösung, und klicken Sie auf „Protokolle“.
Die sicherheitsrelevanten Protokolltabellen finden Sie im Abschnitt „Benutzerdefinierte Protokolle“ auf der linken Seite. Diese können dann abgefragt werden, um relevante Zugriffsinformationen zu extrahieren.