Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Richten Sie eine kontrollierte Ausführungsumgebung ein, steuern Sie den Datenausgang und erzwingen Sie die geringsten Berechtigungen, während Sie den sicheren geheimen Zugriff aktivieren.
Verwalteter privater Endpunkt (MPE)
Szenario: Sie sind Dateningenieur, der mit vertraulichen Daten in Fabric Spark arbeitet. Ihr Sicherheitsteam muss alle Codes in einer isolierten Netzwerkumgebung für erhöhte Sicherheit ausführen.
Verwaltetes virtuelles Netzwerk aktivieren (VNets). Informationen zum Aktivieren verwalteter VNets finden Sie in der öffentlichen Dokumentation. Microsoft Fabric erstellt und verwaltet verwaltete virtuelle Netzwerke (VNets) für jeden Fabric-Arbeitsbereich. Sie stellen die Netzwerkisolation für Fabric Spark-Workloads bereit, was bedeutet, dass Microsoft Fabric die Computecluster in einem dedizierten Netzwerk pro Arbeitsbereich bereitstellt und sie aus dem freigegebenen virtuellen Netzwerk entfernt.
Verwenden Sie in der Produktion verwaltete VNets für die sichere Ausführung von Spark Notebooks.
Wenn Sie einen verwalteten privaten Endpunkt (Managed Private Endpoint, MPE) erstellen, wird er standardmäßig auf Arbeitsbereichsebene erstellt.
Wenn Sie private Verknüpfung (PL) auf Mandantenebene aktivieren, aktiviert das System verwaltete VNets für alle Arbeitsbereiche im Mandanten. Nachdem Sie die PL-Einstellung aktiviert haben, erstellt das System ein verwaltetes virtuelles Netzwerk für den Arbeitsbereich, wenn Sie den ersten Spark-Auftrag (Notizbuch- oder Spark-Auftragsdefinitionen) ausführen. Das System erstellt auch das virtuelle Netzwerk, wenn Sie einen Lakehouse-Betrieb ausführen, z. B. Load to Table oder einen Tabellenwartungsvorgang (Optimieren oder Vakuum).
Hinweis
Wenn Sie verwaltete VNets aktivieren, sind Starter-Pools nicht verfügbar, da sie in einem geteilten Netzwerk ausgeführt werden.
Workspace Outbound Access Protection (WS OAP)
Szenario: Sie sind besorgt, dass jemand möglicherweise versehentlich Produktionsdaten mithilfe von Spark-Notizbüchern in nicht autorisierte Ziele herausschreiben und dies steuern möchten.
Aktivieren des Ausgehenden Zugriffsschutzes für Arbeitsbereiche (WS OAP). Dadurch wird sichergestellt, dass ausgehende Internetverbindung von Spark nur über verwaltete private Endpunkte an genehmigte Ziele geleitet wird.
- Blockieren öffentlicher Bibliotheken: Dies blockiert auch die Installation öffentlicher Bibliotheken (von PyPi, Maven usw.). Daher müssen Sie Ihre Bibliotheken als JARs oder Wheel-Dateien verpacken und benutzerdefinierte Bibliotheken in die Umgebung oder auf Ressourcen hochladen und mit % pip install in den Notebooks installieren. Beachten Sie, dass die Bereitstellungszeit der Umgebung kürzer ist, wenn Sie es zu den Ressourcen hinzufügen und mit dem in-line-Befehl %pip installieren. Dies ist nützlich für schnelle Entwicklung und Tests. Um die Pakete in verschiedenen Notizbüchern wiederzuverwenden, wird die Veröffentlichung in einer Umgebung empfohlen. Eine weitere Methode besteht darin, eine Verbindung mit Ihrem privaten Repository herzustellen. Weitere Details finden Sie in der Dokumentation zum Schutz des ausgehenden Zugriffs für Datenverarbeitungsworkloads im Arbeitsbereich
Szenario: Sollten Sie WS OAP in Entwicklungsumgebungen aktivieren?
Erwägen Sie, WS OAP nicht in Entwicklungs- oder niedrigeren Arbeitsbereichen zu aktivieren, da sie sich auf den Entwicklungsprozess auswirkt. Nachdem die Notizbuch- oder Spark-Auftragsdefinitionen (SJDs) mit öffentlichen Bibliotheken getestet wurden, testen Sie dasselbe Notizbuch mit benutzerdefinierten Bibliotheken. Nach ordnungsgemäßen Codeüberprüfungen in höheren Umgebungen bereitstellen und dann WS OAP aktivieren. Wenn Sie sogar die Entwicklungsumgebung schützen möchten, können Sie WS-OAP aktivieren, aber möglicherweise den Entwicklungsprozess behindern. Starterpools sind nicht verfügbar, wenn Sie WS OAP aktivieren.
Zugreifen auf Azure Key Vault (AKV) aus dem Notizbuch
Szenario: Sie sind Datentechniker und möchten mithilfe gesicherter Anmeldeinformationen aus Spark Notebooks eine Verbindung mit mehreren Datenquellen herstellen.
Speichern Sie die Anmeldeinformationen sicher im Azure Key Vault (AKV). Bewahren Sie keinen einzigen Schlüsseltresor auf, um alle geheimen Schlüssel zu speichern. Verwenden Sie stattdessen nach Möglichkeit mehrere Schlüsseltresore, die auf Projekten/Domänen basieren.
Zugreifen auf Azure Key Vault (AKV) aus dem Notizbuch
Netz: Wir empfehlen, Ihre AKV mit Firewallregeln zu schützen, um nur den Zugriff von bekannten Netzwerken zu ermöglichen. Sie lassen jedoch die IP-Adressen von Fabric Spark in Ihren Firewallregeln zu. Um sicher eine Verbindung mit geschützten AKVs aus Fabric Spark Notebooks herzustellen, empfehlen wir das Erstellen eines verwalteten privaten Endpunkts für AKV. Ein AKV kann nur bis zu 64 private Endpunkte unterstützen (Azure-Abonnement- und Dienstbeschränkungen, Kontingente und Einschränkungen).
Authentifizierung: Das System führt Fabric Spark Notebooks und SJDs im Kontext des Benutzers aus, der die Aufträge/Notizbücher übermittelt. Um auf den AKV zuzugreifen, sollte der übermittelnde Benutzer über ausreichenden Zugriff verfügen, um das Geheimnis abzurufen ("Key Vault Secrets Officer"). Weitere Informationen finden Sie unter AKV bewährte Methoden: Gewähren Sie Anwendungen die Berechtigung für den Zugriff auf einen Azure Key Vault mithilfe von Azure RBAC.
- Sie können notebookutils (zuvor als mssparkutils bezeichnet) verwenden, um mithilfe der Anmeldeinformationen des Benutzers, der das Notizbuch/SJD ausführt, auf den AKV zuzugreifen:
notebookutils.credentials.getSecret('<AKV URL>', 'Secret Name')In der Produktion empfehlen wir nicht, den Benutzerzugriff auf AKVs in der Produktionsumgebung bereitzustellen. Verwenden Sie stattdessen Dienstkonten, um auf Ihren Key Vault (KV) zuzugreifen. Übermitteln Sie die Notizbücher/Aufträge mithilfe des Dienstkontos.
In einigen Fällen hat das Dienstkonto, das den Auftrag übermittelt, Zugriff darauf, Geheimnisse aus AKV zu lesen.
In einigen Fällen ist dieses Dienstkonto in der Regel ein DevOps-Konto, das möglicherweise keinen Zugriff auf das Lesen von Geheimschlüsseln von AKV hat. In solchen Fällen ist der Anmeldeinformationen-Generator hilfreich, um mit einem anderen Dienstprinzipalnamen (Service Principal Name, SPN) auf den AKV zuzugreifen.
Hier ist der Beispiel-Codeausschnitt in Scala:
val clientSecretCredential: ClientSecretCredential = new ClientSecretCredentialBuilder()
.clientId("<client id here>")
.clientSecret("<client secret here>")
.tenantId("<tenant id here>")
.build()
val secretClient: SecretClient = new SecretClientBuilder()
.vaultUrl("<vault url here>")
.credential(clientSecretCredential)
.buildClient()
val secretName = "<your value>"
val retrievedSecret = secretClient.getSecret(secretName)
println(s"Retrieved secret: ${retrievedSecret.getValue}")
Hinweis
Kodieren Sie keine Geheimnisse oder Passwörter im Klartext in Ihrem Code. Verwenden Sie immer einen sicheren Tresor (z. B. Azure Key Vault), um Ihre geheimen Schlüssel zu speichern und abzurufen.