Verwenden kundenseitig verwalteter Schlüssel mit Azure Machine Learning
Im Artikel zu den Konzepten kundenseitig verwalteter Schlüssel haben Sie mehr über die Verschlüsselungsfunktionen von Azure Machine Learning erfahren. Machen Sie sich nun mit der Verwendung kundenseitig verwalteter Schlüssel mit Azure Machine Learning vertraut.
Azure Machine Learning nutzt die folgenden Dienste, die kundenseitig verwaltete Schlüssel verwenden:
Dienst | Verwendungszweck |
---|---|
Azure Cosmos DB | Speichern von Metadaten für Azure Machine Learning |
Azure KI Search | Speichern von Arbeitsbereichsmetadaten für Azure Machine Learning |
Azure Storage | Speichern von Arbeitsbereichsmetadaten für Azure Machine Learning |
Azure Kubernetes Service | Hosten trainierter Modelle als Rückschlussendpunkte |
Sie verwenden denselben Schlüssel, um Azure Cosmos DB, Azure KI-Suche und Azure Storage zu sichern. Sie können einen anderen Schlüssel für Azure Kubernetes Service verwenden.
Wenn Sie einen kundenseitig verwalteten Schlüssel mit Azure Cosmos DB, Azure KI-Suche und Azure Storage verwenden möchten, wird der Schlüssel beim Erstellen Ihres Arbeitsbereichs bereitgestellt. Der Schlüssel, den Sie mit Azure Kubernetes Service verwenden, wird bereitgestellt, wenn Sie diese Ressource konfigurieren.
Dienst | Verwendungszweck |
---|---|
Azure Cosmos DB | Speichern von Metadaten für Azure Machine Learning |
Azure KI Search | Speichern von Arbeitsbereichsmetadaten für Azure Machine Learning |
Azure Storage | Speichern von Arbeitsbereichsmetadaten für Azure Machine Learning |
Azure Kubernetes Service | Hosten trainierter Modelle als Rückschlussendpunkte |
Azure Container Instances | Hosten trainierter Modelle als Rückschlussendpunkte |
Sie verwenden denselben Schlüssel, um Azure Cosmos DB, Azure KI-Suche und Azure Storage zu sichern. Für Azure Kubernetes Service und Azure Container Instances können Sie einen anderen Schlüssel verwenden.
Wenn Sie einen kundenseitig verwalteten Schlüssel mit Azure Cosmos DB, Azure KI-Suche und Azure Storage verwenden möchten, wird der Schlüssel beim Erstellen Ihres Arbeitsbereichs bereitgestellt. Die Schlüssel, die Sie mit Azure Container Instances und Azure Kubernetes Service verwenden, werden bereitgestellt, wenn Sie diese Ressourcen konfigurieren.
Voraussetzungen
Ein Azure-Abonnement.
Die folgenden Azure-Ressourcenanbieter müssen registriert werden:
Ressourcenanbieter Zweck Microsoft.MachineLearningServices Erstellen des Azure Machine Learning-Arbeitsbereichs Microsoft.Storage Das Storage-Konto wird als Standarddatenspeicher für den Arbeitsbereich verwendet. Microsoft.KeyVault Azure Key Vault wird vom Arbeitsbereich zum Speichern von Geheimnissen verwendet. Microsoft.DocumentDB Azure Cosmos DB-Instanz, die Metadaten für den Arbeitsbereich protokolliert Microsoft.Search Azure KI-Suche bietet Indizierungsfunktionen für den Arbeitsbereich. Weitere Informationen zum Registrieren eines Ressourcenanbieters finden Sie unter Beheben von Fehlern bei der Ressourcenanbieterregistrierung.
Begrenzungen
- Nach der Erstellung des Arbeitsbereichs kann der kundenseitig verwaltete Verschlüsselungsschlüssel für Ressourcen, von denen der Arbeitsbereich abhängt, nur auf einen anderen Schlüssel in der ursprünglichen Azure Key Vault-Ressource aktualisiert werden.
- Für Ressourcen, die von Microsoft in Ihrem Abonnement verwaltet werden, kann der Besitz nicht an Sie übertragen werden.
- Sie können von Microsoft verwaltete Ressourcen, die für kundenseitig verwaltete Schlüssel verwendet werden, nicht löschen, ohne auch Ihren Arbeitsbereich zu löschen.
- Der Schlüsseltresor, der Ihren kundenseitig verwalteten Schlüssel enthält, muss sich im selben Azure-Abonnement befinden wie der Azure Machine Learning-Arbeitsbereich.
- Betriebssystemdatenträger für Machine Learning-Compute-Instanzen können nicht mit einem kundenseitig verwalteten Schlüssel verschlüsselt werden, aber mit einem von Microsoft verwalteten Schlüssel verschlüsselt werden, wenn der Arbeitsbereich mit dem auf
TRUE
festgelegtenhbi_workspace
-Parameter erstellt wird. Weitere Informationen finden Sie unter Datenverschlüsselung.
Wichtig
Wenn Sie einen kundenseitig verwalteten Schlüssel verwenden, sind die Kosten für Ihr Abonnement aufgrund der zusätzlichen Ressourcen in Ihrem Abonnement höher. Verwenden Sie den Azure-Preisrechner, um die voraussichtlichen Kosten zu ermitteln.
Azure Key Vault erstellen
Informationen zum Erstellen des Schlüsseltresors finden Sie unter Schnellstart: Erstellen eines Schlüsseltresors über das Azure-Portal. Beim Erstellen der Azure Key Vault-Instanz müssen Sie vorläufiges Löschen und den Schutz vor endgültigem Löschen aktivieren.
Wichtig
Der Schlüsseltresor muss sich in demselben Azure-Abonnement befinden, das Ihren Azure Machine Learning-Arbeitsbereich enthält.
Erstellen eines Schlüssels
Tipp
Wenn beim Erstellen des Schlüssels Probleme auftreten, kann dies durch rollenbasierte Zugriffssteuerungen in Azure verursacht werden, die in Ihrem Abonnement angewendet wurden. Stellen Sie sicher, dass dem Sicherheitsprinzipal (Benutzer, verwaltete Identität, Dienstprinzipal usw.), den Sie zum Erstellen des Schlüssels verwenden, die Rolle Mitwirkender für die Key Vault-Instanz zugewiesen wurde. Darüber hinaus müssen Sie eine Zugriffsrichtlinie in Key Vault konfigurieren, die dem Dienstprinzipal die Autorisierung zum Erstellen, Abrufen, Löschen und Bereinigen erteilt.
Wenn Sie eine benutzerseitig zugewiesene verwaltete Identität für Ihren Arbeitsbereich verwenden möchten, müssen der verwalteten Identität ebenfalls diese Rollen und Zugriffsrichtlinien zugewiesen werden.
Weitere Informationen finden Sie in den folgenden Artikeln:
Wählen Sie im Azure-Portal die Key Vault-Instanz aus. Wählen Sie dann links die Option Schlüssel aus.
Wählen Sie oben auf der Seite + Generieren/Importieren aus. Verwenden Sie die folgenden Werte, um einen Schlüssel zu erstellen:
- Legen Sie Optionen auf Generieren fest.
- Geben Sie unter Name einen Namen für den Schlüssel ein. Beim Namen sollte es sich um eine Bezeichnung handeln, die die geplante Verwendung identifiziert. Beispiel:
my-cosmos-key
. - Legen Sie Schlüsseltyp auf RSA fest.
- Es wird empfohlen, mindestens 3072 als RSA-Schlüsselgröße auszuwählen.
- Lassen Sie Aktiviert auf „Ja“ festgelegt.
Optional können Sie ein Aktivierungsdatum, ein Ablaufdatum und Tags festlegen.
Wählen Sie Erstellen aus, um den Schlüssel zu erstellen.
Zulassen des Zugriffs auf den Schlüssel durch Azure Cosmos DB
- Wählen Sie zum Konfigurieren des Schlüsseltresors diesen im Azure-Portal aus. Wählen Sie anschließend im linken Menü die Option Zugriffsrichtlinien aus.
- Um Berechtigungen für Azure Cosmos DB zu erstellen, wählen Sie oben auf der Seite + Erstellen aus. Wählen Sie unter Schlüsselberechtigungen die Berechtigungen Abrufen, Schlüssel entpacken und Schlüssel packen aus.
- Suchen Sie unter Prinzipal nach Azure Cosmos DB, und wählen Sie den Eintrag aus. Die Prinzipal-ID für diesen Eintrag lautet
a232010e-820c-4083-83bb-3ace5fc29d0b
für alle anderen Regionen als Azure Government. Für Azure Government ist die Prinzipal-ID57506a73-e302-42a9-b869-6f12d9ec29e9
. - Klicken Sie auf Review + Create (Überprüfen und erstellen) und dann auf Create (Erstellen).
Erstellen eines Arbeitsbereichs, der einen kundenseitig verwalteten Schlüssel verwendet
Erstellen Sie einen Azure Machine Learning-Arbeitsbereich. Beim Erstellen des Arbeitsbereichs müssen Sie Azure Key Vault und den Schlüssel auswählen. Je nachdem, wie Sie den Arbeitsbereich erstellen, geben Sie diese Ressourcen auf unterschiedliche Weise an:
Warnung
Der Schlüsseltresor, der Ihren kundenseitig verwalteten Schlüssel enthält, muss sich im selben Azure-Abonnement befinden wie der Arbeitsbereich.
Azure-Portal: Wählen Sie den Schlüsseltresor und den Schlüssel beim Konfigurieren des Arbeitsbereichs aus einem Dropdowneingabefeld aus.
SDK, REST API und Azure Resource Manager-Vorlagen: Geben Sie die Azure Resource Manager-ID des Schlüsseltresors und die URL für den Schlüssel an. Verwenden Sie zum Abrufen dieser Werte die Azure CLI und die folgenden Befehle:
# Replace `mykv` with your key vault name. # Replace `mykey` with the name of your key. # Get the Azure Resource Manager ID of the key vault az keyvault show --name mykv --query id # Get the URL for the key az keyvault key show --vault-name mykv -n mykey --query key.kid
Der Wert der Schlüsseltresor-ID ähnelt dem folgenden Format:
/subscriptions/{GUID}/resourceGroups/{resource-group-name}/providers/Microsoft.KeyVault/vaults/mykv
. Die URL für den Schlüssel sieht ungefähr wie folgt aus:https://mykv.vault.azure.net/keys/mykey/{GUID}
.
Beispiele zum Erstellen des Arbeitsbereichs mit einem kundenseitig verwalteten Schlüssel finden Sie in den folgenden Artikeln:
Erstellungsmethode | Artikel |
---|---|
Befehlszeilenschnittstelle (CLI) | Beispiele für Resource Manager-Vorlagen für Log Analytics-Arbeitsbereiche in Azure Monitor |
Azure-Portal/ Python SDK |
Erstellen und Verwalten eines Arbeitsbereichs |
Azure Resource Manager- Vorlage |
Erstellen eines Arbeitsbereichs mit einer Vorlage |
REST-API | Erstellen, Ausführen und Löschen von Azure Machine Learning-Ressourcen mit REST |
Nachdem der Arbeitsbereich erstellt wurde, werden Sie feststellen, dass die Azure-Ressourcengruppe in Ihrem Abonnement erstellt wird. Diese Gruppe wird zusätzlich zur Ressourcengruppe für Ihren Arbeitsbereich erstellt. Diese Ressourcengruppe enthält die von Microsoft verwalteten Ressourcen, mit denen Ihr Schlüssel verwendet wird. Die Ressourcengruppe wird anhand der Formel <Azure Machine Learning workspace resource group name><GUID>
benannt. Sie enthält eine Azure Cosmos DB-Instanz, ein Azure Storage-Konto und Azure KI Search.
Tipp
- Die Anforderungseinheiten für die Azure Cosmos DB-Instanz werden bei Bedarf automatisch skaliert.
- Wenn Ihr Azure Machine Learning-Arbeitsbereich einen privaten Endpunkt verwendet, enthält diese Ressourcengruppe auch ein von Microsoft verwaltetes virtuelle Azure-Netzwerk. Dieses VNet wird verwendet, um die Kommunikation zwischen den verwalteten Diensten und dem Arbeitsbereich zu sichern. Sie können kein eigenes VNet für die Verwendung mit den von Microsoft verwalteten Ressourcen bereitstellen. Außerdem können Sie das virtuelle Netzwerk nicht ändern. Beispielsweise können Sie den verwendeten IP-Adressbereich nicht ändern.
Wichtig
Wenn Ihr Abonnement nicht über ein ausreichendes Kontingent für diese Dienste verfügt, tritt ein Fehler auf.
Warnung
Löschen Sie weder die Ressourcengruppe, die diese Azure Cosmos DB-Instanz enthält, noch Ressourcen, die automatisch in dieser Gruppe erstellt wurden. Wenn Sie die Ressourcengruppe oder darin enthaltene von Microsoft verwaltete Dienste löschen müssen, müssen Sie den Azure Machine Learning-Arbeitsbereich löschen, der diese verwendet. Die Ressourcengruppenressourcen werden gelöscht, wenn der zugehörige Arbeitsbereich gelöscht wird.
Weitere Informationen zu kundenseitig verwalteten Schlüsseln mit Azure Cosmos DB finden Sie unter Konfigurieren von kundenseitig verwalteten Schlüsseln für Ihr Azure Cosmos DB-Konto.
Azure Container Instances
Wichtig
Die Bereitstellung in Azure Container Instances ist im SDK oder der CLI v2 nicht verfügbar. Nur über SDK und CLI v1.
Wenn Sie ein trainiertes in einer ACI-Instanz (Azure Container Instances) bereitstellen, können Sie die bereitgestellte Ressource mithilfe eines kundenseitig verwalteten Schlüssels verschlüsseln. Informationen zum Generieren eines Schlüssels finden Sie unter Verschlüsseln von Daten mit einem kundenseitig verwalteten Schlüssel.
Erstellen Sie zur Verwendung des Schlüssels bei der Bereitstellung eines Modells in Azure Container Instance eine neue Bereitstellungskonfiguration mit 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:
Bereitstellen eines Modells in Azure Container Instances (SDK/CLI v1)
Weitere Informationen zur Verwendung eines kundenseitig verwalteten Schlüssels mit ACI 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 Prozess funktioniert nur mit AKS K8s Version 1.17 oder höher.