Datenverschlüsselung mit Azure Machine Learning
Azure Machine Learning nutzt eine Vielzahl von Azure-Datenspeicherdiensten und -Computeressourcen beim Trainieren von Modellen und bei der Durchführung von Rückschlüssen. In diesem Artikel erfahren Sie mehr über die Verschlüsselung von Daten im Ruhezustand und während der Übertragung für jeden Dienst.
Für die Verschlüsselung auf Produktionsniveau während der Schulung wird empfohlen, ein Azure Machine Learning-Computecluster zu verwenden. Für die Verschlüsselung auf Produktionsniveau während des Rückschließens wird empfohlen, Azure Kubernetes Service (AKS) zu verwenden.
Eine Azure Machine Learning-Computeinstanz ist eine Dev/Test-Umgebung. Wenn Sie sie verwenden, wird empfohlen, dass Sie Ihre Dateien in einer Dateifreigabe speichern, z. B. Notebooks und Skripts. Speichern Sie Ihre Daten in einem Datenspeicher.
Verschlüsselung von ruhenden Daten
End-to-End-Projekte von Azure Machine Learning sind in Dienste wie Azure Blob Storage, Azure Cosmos DB und Azure SQL-Datenbank integriert. In diesem Artikel werden Verschlüsselungsmethoden für solche Dienste beschrieben.
Azure Blob Storage
Azure Machine Learning speichert Momentaufnahmen, Ausgaben und Protokolle in dem Azure Blob Storage-Konto (Standardspeicherkonto), das mit dem Microsoft Azure Machine Learning-Arbeitsbereich und Ihrem Abonnement verknüpft ist. Alle in Azure Blob Storage gespeicherten Daten werden im Ruhezustand mit von Microsoft verwalteten Schlüsseln verschlüsselt.
Informationen dazu, wie Sie Ihre eigenen Schlüssel für die in Azure Blob Storage gespeicherten Daten verwenden können, finden Sie unter Konfigurieren von Kunden verwalteter Schlüssel für die Azure Storage-Verschlüsselung mithilfe des Azure-Portals.
Trainingsdaten werden in der Regel auch in Azure Blob Storage gespeichert, damit sie zum Trainieren von Computezielen zur Verfügung stehen. Azure Machine Learning verwaltet diesen Speicher nicht. Dieser Speicher wird beim Computeziel als Remotedateisystem eingebunden.
Wenn Sie Ihren Schlüssel rotieren oder widerrufen müssen, können Sie dies jederzeit veranlassen. Wenn Sie ein Schlüssel rotieren, beginnt das Speicherkonto, den neuen Schlüssel (neueste Version) zur Verschlüsselung der ruhenden Daten zu verwenden. Wenn Sie einen Schlüssel widerrufen (deaktivieren), übernimmt das Speicherkonto fehlerhafte Anforderungen. Normalerweise dauert es eine Stunde, bis die Rotation oder der Widerruf wirksam wird.
Informationen zum erneuten Generieren der Zugriffsschlüssel finden Sie unter Erneutes Generieren von Speicherkontozugriffsschlüsseln.
Azure Data Lake Storage
Hinweis
Am 29. Februar 2024 wird Azure Data Lake Storage Gen1 eingestellt. Weitere Informationen finden Sie in der offiziellen Ankündigung. Wenn Sie Azure Data Lake Storage Gen1 verwenden, stellen Sie sicher, dass Sie vor diesem Datum zu Azure Data Lake Storage Gen2 migrieren. Wie das geht, erfahren Sie unter Migrieren von Azure Data Lake Storage von Gen1 nach Gen2 mithilfe des Azure-Portals.
Wenn Sie nicht bereits über ein Azure Data Lake Storage Gen1-Konto verfügen, können Sie keine neuen Konten erstellen.
Azure Data Lake Storage Gen2 basiert auf Azure Blob Storage und ist für Big Data Analytics in Unternehmen konzipiert. Data Lake Storage Gen2 wird als Datenspeicher für Azure Machine Learning verwendet. Wie bei Azure Blob Storage werden die ruhenden Daten mit von Microsoft verwalteten Schlüsseln verschlüsselt.
Informationen dazu, wie Sie Ihre eigenen Schlüssel für die in Azure Data Lake Storage gespeicherten Daten verwenden können, finden Sie unter Konfigurieren von kundenseitig verwalteten Schlüsseln in einem Azure-Schlüsseltresor für ein vorhandenes Speicherkonto.
Relationale Azure-Datenbanken
Der Azure Machine Learning-Dienst unterstützt Daten aus den folgenden Datenquellen.
Azure SQL-Datenbank
Transparente Datenverschlüsselung trägt zum Schutz der Azure SQL-Datenbank vor der Bedrohung bösartiger Offlineaktivitäten bei, indem Daten im Ruhezustand verschlüsselt werden. Standardmäßig ist die transparente Datenverschlüsselung für alle neu bereitgestellten SQL-Datenbanken aktiviert, die von Microsoft verwaltete Schlüssel verwenden.
Informationen zur Verwendung von vom Kunden verwalteten Schlüsseln für die transparente Datenverschlüsselung finden Sie unter transparente Azure SQL-Datenbank-Datenverschlüsselung.
Azure Database for PostgreSQL
Standardmäßig verwendet Azure Database for PostgreSQL die Azure Storage-Verschlüsselung zum Verschlüsseln ruhender Daten mithilfe von von Microsoft verwalteten Schlüsseln. Dies ähnelt Transparent Data Encryption in anderen Datenbanken, wie z. B. SQL Server.
Informationen zur Verwendung von kundenseitig verwalteten Schlüsseln für Transparent Data Encryption finden Sie unter Datenverschlüsselung auf Azure Database for PostgreSQL-Einzelservern mit einem kundenseitig verwalteten Schlüssel.
Azure Database for MySQL
Azure Database for MySQL ist ein relationaler Datenbankdienst in der Microsoft-Cloud. Er basiert auf dem MySQL Community Edition-Datenbankmodul. Der Azure Database for MySQL-Dienst nutzt das FIPS 140-2-zertifizierte Kryptografiemodul für die Azure Storage-Verschlüsselung ruhender Daten.
Informationen zum Verschlüsseln von Daten mithilfe von kundenseitig verwalteten Schlüsseln finden Sie unter Azure Database for MySQL-Datenverschlüsselung mit einem vom Kunden verwalteten Schlüssel.
Azure Cosmos DB
Azure Machine Learning speichert Metadaten in einer Azure Cosmos DB-Instanz. Diese Instanz ist mit einem Microsoft-Abonnement verbunden, das Azure Machine Learning verwaltet. Alle in Azure Cosmos DB gespeicherten Daten werden im Ruhezustand mit von Microsoft verwalteten Schlüsseln verschlüsselt.
Wenn Sie Ihre eigenen (vom Kunden verwalteten) Schlüssel zum Verschlüsseln der Azure Cosmos DB-Instanz verwenden, wird in Ihrem Abonnement eine von Microsoft verwaltete Azure Cosmos DB-Instanz erstellt. Diese Instanz wird in einer von Microsoft verwalteten Ressourcengruppe erstellt, die sich von der Ressourcengruppe für Ihren Arbeitsbereich unterscheidet. Weitere Informationen finden Sie unter Kundenseitig verwaltete Schlüssel für Azure Machine Learning.
Azure Container Registry
Alle Containerimages in Ihrer Containerregistrierung (eine Instanz der Azure Container Registry) werden im Ruhezustand verschlüsselt. Azure verschlüsselt ein Image automatisch vor dessen Speicherung, und entschlüsselt es, wenn Azure Machine Learning das Image herunterlädt (pullt).
Um ihre Containerregistrierung mithilfe von vom Kunden verwalteten Schlüsseln zu verschlüsseln, müssen Sie die Containerregistrierung erstellen und anfügen, während Sie den Arbeitsbereich bereitstellen. Sie können die Standardinstanz verschlüsseln, die zum Zeitpunkt der Arbeitsbereichsbereitstellung erstellt wird.
Wichtig
Azure Machine Learning erfordert, dass Sie das Administratorkonto in Ihrer Containerregistrierung aktivieren. Diese Einstellung ist standardmäßig deaktiviert, wenn Sie eine Containerregistrierung erstellen. Informationen zum Aktivieren des Administratorkontos finden Sie unter Administratorkonto weiter unten in diesem Artikel.
Nachdem Sie eine Containerregistrierung für einen Arbeitsbereich erstellt haben, löschen Sie sie nicht. Dadurch wird Ihr Azure Machine Learning-Arbeitsbereich beschädigt.
Beispiele zum Erstellen eines Arbeitsbereichs mithilfe einer vorhandenen Containerregistrierung finden Sie in den folgenden Artikeln:
- Erstellen eines Arbeitsbereichs für Azure Machine Learning mithilfe der Azure CLI
- Erstellen eines Arbeitsbereichs mit dem Python SDK
- Verwenden einer Azure Resource Manager-Vorlage zum Erstellen eines Arbeitsbereichs für Azure Machine Learning
Azure Container Instances
Wichtig
Bereitstellungen für Azure Container Instances basieren auf dem Azure Machine Learning Python SDK und der CLI v1.
Sie können eine bereitgestellte Azure Container Instances-Ressource mithilfe von vom Kunden verwalteten Schlüsseln verschlüsseln. Die vom Kunden verwalteten Schlüssel, die Sie für Containerinstanzen verwenden, können im Schlüsseltresor für Ihren Arbeitsbereich gespeichert werden.
GILT FÜR: Python SDK azureml v1
Um den Schlüssel zu verwenden, wenn Sie ein Modell für Containerinstanzen bereitstellen möchten, erstellen Sie eine neue Bereitstellungskonfiguration mithilfe von AciWebservice.deploy_configuration()
. Geben Sie die Schlüsselinformationen unter Verwendung der folgenden Parameter an:
cmk_vault_base_url
: Die URL des Schlüsseltresors, der den Schlüssel enthält.cmk_key_name
: Der Name des Schlüssels.cmk_key_version
: Die Version des Schlüssels.
Weitere Informationen zum Erstellen und Verwenden einer Bereitstellungskonfiguration finden Sie in den folgenden Artikeln:
Weitere Informationen zur Verwendung eines kundenseitig verwalteten Schlüssels mit Container Instances finden Sie unter Verschlüsseln von Bereitstellungsdaten.
Azure Kubernetes Service
Sie können eine bereitgestellte Ressource des Azure Kubernetes Service jederzeit mit vom Kunden verwalteten Schlüsseln verschlüsseln. Weitere Informationen finden Sie unter Bring Your Own Keys (BYOK) mit Azure Kubernetes Service (AKS).
Dieser Prozess ermöglicht es Ihnen, sowohl die Daten als auch den Betriebssystemdatenträger der bereitgestellten virtuellen Computer im Kubernetes-Cluster zu verschlüsseln.
Wichtig
Dieser Vorgang funktioniert nur mit AKS Version 1.17 oder höher. Azure Machine Learning hat am 13. Januar 2020 die Unterstützung für AKS 1.17 hinzugefügt.
Machine Learning Compute
Computecluster
Der Betriebssystem-Datenträger für jeden in Azure Storage gespeicherten Computeknoten wird mit von Microsoft verwalteten Schlüsseln in Speicherkonten von Azure Machine Learning verschlüsselt. Dieses Computeziel ist kurzlebig, und Cluster werden in der Regel zentral herunterskaliert, wenn keine Aufträge in der Warteschlange stehen. Die Bereitstellung der zugrunde liegenden VM wird aufgehoben, und der Betriebssystemdatenträger wird gelöscht.
Azure Disk Encryption ist standardmäßig nicht für Arbeitsbereiche aktiviert. Wenn Sie den Arbeitsbereich mit dem auf TRUE
festgelegten Parameter hbi_workspace
erstellen, wird der Betriebssystemdatenträger verschlüsselt.
Jeder virtuelle Computer verfügt auch über einen lokalen temporären Datenträger für Betriebssystem-Vorgänge. Wenn Sie möchten, können Sie den Datenträger zum Bereitstellen von Trainingsdaten verwenden. Wenn Sie bei der Erstellung des Arbeitsbereichs den Parameter hbi_workspace
auf TRUE
festlegen, wird der temporäre Datenträger verschlüsselt. Diese Umgebung ist kurzlebig (auf die Dauer Ihres Auftrags befristet), und die Unterstützung für die Verschlüsselung beschränkt sich auf systemseitig verwaltete Schlüssel.
Verwaltete Onlineendpunkte und Batchendpunkte verwenden Azure Machine Learning-Compute im Back-End, und sie folgen demselben Verschlüsselungsmechanismus.
Compute-Instanz
Der Betriebssystem-Datenträger für eine Compute-Instanz wird mit von Microsoft verwalteten Schlüsseln in Speicherkonten von Azure Machine Learning verschlüsselt. Wenn Sie den Arbeitsbereich mit dem Parameter hbi_workspace
auf TRUE
festgelegt erstellen, werden der lokale Betriebssystemdatenträger und der temporäre Datenträger auf der Computeinstanz mit von Microsoft verwalteten Schlüsseln verschlüsselt. Die Verschlüsselung mit vom Kunden verwalteten Schlüsseln wird für Betriebssystem- und temporäre Datenträger nicht unterstützt.
Weitere Informationen finden Sie unter Kundenseitig verwaltete Schlüssel für Azure Machine Learning.
Azure Data Factory
Die Azure Data Factory-Pipeline erfasst Daten für die Verwendung mit Azure Machine Learning. Azure Data Factory verschlüsselt ruhende Daten (einschließlich Entitätsdefinitionen) und Daten, die während der Ausführung von Vorgängen zwischengespeichert werden. Standardmäßig werden Daten mit einem zufällig generierten und von Microsoft verwalteten Schlüssel verschlüsselt, der Ihrer Data Factory eindeutig zugewiesen ist.
Informationen zur Verwendung von kundenseitig verwalteten Schlüsseln für die Verschlüsselung finden Sie unter Verschlüsseln von Azure Data Factory mit vom Kunden verwalteten Schlüsseln.
Azure Databricks
Sie können Azure Databricks in Azure Machine Learning-Pipelines verwenden. Standardmäßig wird das Databricks File System (DBFS), das Azure Databricks verwendet, über einen von Microsoft verwalteten Schlüssel verschlüsselt. Informationen zum Konfigurieren von Azure Databricks für die Verwendung von kundenseitig verwalteten Schlüsseln finden Sie unter Konfigurieren der kundenseitig verwalteten Schlüsseln im Standard-DBFS (Stamm).
Von Microsoft generierte Daten
Wenn Sie Dienste wie Azure Machine Learning verwenden, generiert Microsoft möglicherweise vorübergehende, vorverarbeitete Daten für die Schulung mehrerer Modelle. Diese Daten werden in einem Datenspeicher in Ihrem Arbeitsbereich gespeichert, damit Sie die Zugriffssteuerung und Verschlüsselung entsprechend durchsetzen können.
Möglicherweise möchten Sie auch Diagnoseinformationen verschlüsseln, die von Ihrem bereitgestellten Endpunkt in Application Insights protokolliert werden.
Verschlüsselung während der Übertragung
Azure Machine Learning verwendet Transport Layer Security (TLS), um die interne Kommunikation zwischen verschiedenen Azure Machine Learning-Microservices zu sichern. Der gesamte Azure Storage-Zugriff erfolgt ebenfalls über einen sicheren Kanal.
Um das Sichern externer Aufrufe an den Bewertungsendpunkt zu unterstützen, verwendet Azure Machine Learning TLS. Weitere Informationen finden Sie unter Verwenden von TLS zum Absichern eines Webdiensts mit Azure Machine Learning.
Datensammlung und -verarbeitung
Für Diagnosezwecke sammelt Microsoft möglicherweise Informationen, die keine Benutzer identifizieren. Beispielsweise kann Microsoft Ressourcennamen (z. B. den Datasetnamen oder den Namen des Machine Learning-Experiments) oder Auftragsumgebungsvariablen sammeln. Alle diese Daten werden über von Microsoft verwaltete Schlüssel im Speicher gespeichert, der in Microsoft-Abonnements gehostet wird. Der Speicher folgt den Standard-Datenschutzrichtlinien und Datenverarbeitungsstandards von Microsoft. Diese Daten bleiben in derselben Region wie Ihr Arbeitsbereich.
Es wird empfohlen, vertrauliche Informationen (z. B. geheime Kontoschlüssel) nicht in Umgebungsvariablen zu speichern. Microsoft protokolliert, verschlüsselt und speichert Umgebungsvariablen. Vermeiden Sie beim Benennen Ihrer Aufträge daher das Einbeziehen vertraulicher Informationen wie Benutzernamen oder geheimer Projektnamen. Diese Informationen werden möglicherweise in Telemetrieprotokollen angezeigt, auf die Microsoft-Supporttechniker zugreifen können.
Sie können die Sammlung von Diagnosedaten deaktivieren, indem Sie den Parameter hbi_workspace
beim Bereitstellen des Arbeitsbereichs auf TRUE
festlegen. Diese Funktionalität wird mit dem Azure Machine Learning Python SDK, der Azure CLI sowie mit REST-APIs oder Azure Resource Manager-Vorlagen unterstützt.
Speicher für Anmeldeinformationen im Azure Key Vault
Azure Machine Learning verwendet die Azure Key Vault-Instanz, die dem Arbeitsbereich zugeordnet ist, um Anmeldeinformationen verschiedener Arten zu speichern:
- Die zugeordnete Verbindungszeichenfolge für das Speicherkonto
- Kennwörter in Azure Container Registry-Instanzen
- Verbindungszeichenfolgen mit Datenspeichern
Secure Shell-Kennwörter (SSH) und Schlüssel für Computeziele wie Azure HDInsight und virtuelle Computer werden in einem separaten Schlüsseltresor gespeichert, der dem Microsoft-Abonnement zugeordnet ist. Azure Machine Learning speichert keine Kennwörter oder Schlüssel, die durch Benutzer bereitgestellt werden. Stattdessen werden eigene SSH-Schlüssel generiert, autorisiert und gespeichert, um eine Verbindung mit virtuellen Computern und HDInsight herzustellen und die Experimente auszuführen.
Jedem Arbeitsbereich ist eine vom System zugewiesene verwaltete Identität zugeordnet, die den gleichen Namen hat wie der Arbeitsbereich. Diese verwaltete Identität verfügt über Zugriff auf alle Schlüssel, Geheimnisse und Zertifikate im Schlüsseltresor.