Gegevensversleuteling met Azure Machine Learning
Azure Machine Learning maakt gebruik van verschillende Azure-services voor gegevensopslag en rekenbronnen bij het trainen van modellen en het uitvoeren van de deferentie. Elk van deze heeft een eigen verhaal over hoe ze versleuteling bieden voor data-at-rest en in transit. In dit artikel leert u over elk van deze en wat het beste is voor uw scenario.
Belangrijk
Voor versleuteling op productiekwaliteit tijdens de training raadt Microsoft aan om een Azure Machine Learning te gebruiken. Voor versleuteling van productiekwaliteit tijdens de decodering raadt Microsoft aan om Azure Kubernetes Service.
Azure Machine Learning compute-exemplaar is een dev/test-omgeving. Wanneer u deze gebruikt, wordt u aangeraden uw bestanden, zoals notebooks en scripts, op te slaan in een bestands share. Uw gegevens moeten worden opgeslagen in een gegevensopslag.
Versleuteling 'at rest'
Belangrijk
Als uw werkruimte gevoelige gegevens bevat, raden we u aan de vlag hbi_workspace maken van uw werkruimte in te stellen. De hbi_workspace vlag kan alleen worden ingesteld wanneer een werkruimte wordt gemaakt. Deze kan niet worden gewijzigd voor een bestaande werkruimte.
De vlag bepaalt de hoeveelheid gegevens die Microsoft verzamelt voor hbi_workspace diagnostische doeleinden en maakt extra versleuteling mogelijk in door Microsoft beheerde omgevingen. Daarnaast worden de volgende acties mogelijk:
- Begint met het versleutelen van de lokale scratchschijf in Azure Machine Learning rekencluster, mits u geen eerdere clusters in dat abonnement hebt gemaakt. Anders moet u een ondersteuningsticket maken om versleuteling van de scratchschijf van uw rekenclusters in te schakelen
- De lokale scratchschijf opschonen tussen uitvoeringen
- Referenties voor uw opslagaccount, containerregister en SSH-account veilig van de uitvoeringslaag naar uw rekenclusters door te geven met behulp van uw sleutelkluis
Wanneer deze vlag is ingesteld op Waar, is het oplossen van problemen mogelijk moeilijker. Dit kan gebeuren omdat sommige telemetrie niet naar Microsoft wordt verzonden en er minder inzicht is in succespercentages of probleemtypen en daarom mogelijk niet zo proactief kan reageren als deze vlag Waar is.
Tip
De hbi_workspace vlag heeft geen invloed op versleuteling tijdens overdracht, alleen versleuteling-at-rest.
Azure Blob Storage
Azure Machine Learning worden momentopnamen, uitvoer en logboeken opgeslagen in het Azure Blob Storage-account dat is gekoppeld aan Azure Machine Learning werkruimte en uw abonnement. Alle gegevens die zijn opgeslagen in Azure Blob Storage, worden at-rest versleuteld met door Microsoft beheerde sleutels.
Zie voor meer informatie over het gebruik van uw eigen sleutels voor gegevens die zijn opgeslagen in Azure Blob Storage Azure Storage versleuteling met door de klant beheerde sleutels in Azure Key Vault.
Trainingsgegevens worden doorgaans ook opgeslagen in Azure Blob Storage, zodat ze toegankelijk zijn voor trainingsrekendoelen. Deze opslag wordt niet beheerd door Azure Machine Learning maar aan rekendoelen als een extern bestandssysteem.
Als u uw sleutel wilt roteren of intrekken, kunt u dit op elk moment doen. Wanneer u een sleutel roteert, gebruikt het opslagaccount de nieuwe sleutel (nieuwste versie) om data-at-rest te versleutelen. Bij het inroepen (uitschakelen) van een sleutel zorgt het opslagaccount voor mislukte aanvragen. Het duurt meestal een uur voordat de rotatie of intrekking van kracht is.
Zie Toegangssleutels voor opslag opnieuw regenereren voor meer informatie over het opnieuw regenereren van de toegangssleutels.
Azure Cosmos DB
Azure Machine Learning slaat metagegevens op in een Azure Cosmos DB-exemplaar. Dit exemplaar is gekoppeld aan een Microsoft-abonnement dat wordt beheerd door Azure Machine Learning. Alle gegevens die zijn opgeslagen in Azure Cosmos DB worden in rust versleuteld met door Microsoft beheerde sleutels.
Als u uw eigen (door de klant beheerde) sleutels wilt gebruiken om het Azure Cosmos DB-exemplaar te versleutelen, kunt u een toegewezen Cosmos DB maken voor gebruik met uw werkruimte. We raden deze methode aan als u uw gegevens, zoals informatie over de rungeschiedenis, wilt opslaan buiten het multi-tenant Cosmos DB-exemplaar dat wordt gehost in ons Microsoft-abonnement.
Als u het inrichten van een Cosmos DB-exemplaar in uw abonnement wilt inschakelen met door de klant beheerde sleutels, voert u de volgende acties uit:
Registreer de resourceproviders Microsoft.MachineLearning en Microsoft.DocumentDB in uw abonnement, als u dit nog niet hebt gedaan.
Gebruik de volgende parameters bij het maken van Azure Machine Learning werkruimte. Beide parameters zijn verplicht en worden ondersteund in SDK, Azure CLI, REST API's en Resource Manager sjablonen.
cmk_keyvault: Deze parameter is de resource-id van de sleutelkluis in uw abonnement. Deze sleutelkluis moet zich in dezelfde regio en hetzelfde abonnement hebben dat u voor de Azure Machine Learning gebruikt.resource_cmk_uri: Deze parameter is de volledige resource-URI van de door de klant beheerde sleutel in uw sleutelkluis, inclusief de versie-informatie voor de sleutel.Notitie
Het inschakelen van de beveiliging voor het veilig verwijderen en opsluizen van het CMK-sleutelkluis-exemplaar is vereist voordat u een versleutelde machine learning-werkruimte maakt ter bescherming tegen onbedoeld gegevensverlies in het geval van verwijdering van de kluis.
Notitie
Deze sleutelkluis-instantie kan anders zijn dan de sleutelkluis die door de Azure Machine Learning wanneer u de werkruimte inrichten. Als u dezelfde sleutelkluis-instantie voor de werkruimte wilt gebruiken, geeft u dezelfde sleutelkluis door tijdens het inrichten van de werkruimte met behulp van key_vault parameter.
Belangrijk
Het Cosmos DB wordt gemaakt in een door Microsoft beheerde resourcegroep in uw abonnement. De volgende services worden ook gemaakt in deze resourcegroep en worden gebruikt door de configuratie van de door de klant beheerde sleutel:
- Azure Storage-account
- Azure Search
Omdat deze services worden gemaakt in uw Azure-abonnement, betekent dit dat er kosten in rekening worden gebracht voor deze service-exemplaren. Als uw abonnement onvoldoende quotum heeft voor de Azure Cosmos DB service, treedt er een fout op. Zie servicequota voor meer Azure Cosmos DB over quota
De naam van de beheerde resourcegroep is in de indeling <AML Workspace Resource Group Name><GUID> . Als uw Azure Machine Learning een privé-eindpunt gebruikt, wordt er ook een virtueel netwerk gemaakt in deze resourcegroep. Dit VNet wordt gebruikt om de communicatie tussen de services in deze resourcegroep en uw werkruimte Azure Machine Learning beveiligen.
- Verwijder niet de resourcegroep die deze Cosmos DB bevat, of een van de resources die automatisch in deze groep worden gemaakt. Als u de resourcegroep, het Cosmos DB, enzovoort wilt verwijderen, moet u de Azure Machine Learning werkruimte verwijderen die deze gebruikt. De resourcegroep, het Cosmos DB en andere automatisch gemaakte resources worden verwijderd wanneer de gekoppelde werkruimte wordt verwijderd.
- De aanvraageenheden die door deze Cosmos DB worden automatisch geschaald als dat nodig is. De minimale RU is 1200. De maximale RU is 12000.
- U kunt uw eigen VNet niet leveren voor gebruik met de Cosmos DB die wordt gemaakt. U kunt het virtuele netwerk ook niet wijzigen. U kunt bijvoorbeeld het IP-adresbereik dat wordt gebruikt niet wijzigen.
Gebruik de Azure-prijscalculator om de Azure Cosmos DB te schatten.
Als u uw sleutel wilt roteren of intrekken, kunt u dit op elk moment doen. Wanneer u een sleutel roteert, Cosmos DB de nieuwe sleutel (nieuwste versie) gebruiken om data-at-rest te versleutelen. Bij het inroepen (uitschakelen) van een sleutel zorgt Cosmos DB voor mislukte aanvragen. Het duurt meestal een uur voordat de rotatie of intrekking van kracht is.
Zie Door de klant beheerde sleutels configureren voor uw Azure Cosmos DB-accountvoor meer informatie over door de klant beheerde sleutels Cosmos DB.
Azure Container Registry
Alle containerafbeeldingen in uw register (Azure Container Registry) worden 'at rest' versleuteld. Azure versleutelt een afbeelding automatisch voordat deze wordt opgeslagen en ontsleutelt deze wanneer Azure Machine Learning de afbeelding opslaat.
Als u uw eigen (door de klant beheerde) sleutels wilt gebruiken om uw Azure Container Registry te versleutelen, moet u uw eigen ACR maken en koppelen tijdens het inrichten van de werkruimte of het standaard exemplaar versleutelen dat wordt gemaakt op het moment van het inrichten van de werkruimte.
Belangrijk
Azure Machine Learning vereist dat het beheerdersaccount is ingeschakeld op uw Azure Container Registry. Deze instelling is standaard uitgeschakeld wanneer u een containerregister maakt. Zie Beheerdersaccount voor meer informatie over het inschakelen van het beheerdersaccount.
Als er een Azure Container Registry voor een werkruimte is gemaakt, moet u deze niet verwijderen. Als u dat doet, werkt de Azure Machine Learning-werkruimte niet meer.
Zie de volgende artikelen voor een voorbeeld van het maken van een werkruimte Azure Container Registry bestaande werkruimte:
- Maak een werkruimte voor Azure Machine Learning met Azure CLI.
- Maak een werkruimte met python-SDK.
- Gebruik een Azure Resource Manager om een werkruimte te maken voor Azure Machine Learning
Azure Container Instance
U kunt een geïmplementeerde ACI-resource (Azure Container Instance) versleutelen met behulp van door de klant beheerde sleutels. De door de klant beheerde sleutel die wordt gebruikt voor ACI, kan worden opgeslagen in de Azure Key Vault voor uw werkruimte. Zie Gegevens versleutelen met een door de klant beheerde sleutel voor meer informatie over het genereren van een sleutel.
Als u de sleutel wilt gebruiken bij het implementeren van een model in Azure Container Instance, maakt u een nieuwe implementatieconfiguratie met behulp van AciWebservice.deploy_configuration() . Geef de belangrijkste informatie op met behulp van de volgende parameters:
cmk_vault_base_url: de URL van de sleutelkluis die de sleutel bevat.cmk_key_name: de naam van de sleutel.cmk_key_version: de versie van de sleutel.
Zie de volgende artikelen voor meer informatie over het maken en gebruiken van een implementatieconfiguratie:
- AciWebservice.deploy_configuration()
- Waar en hoe u implementeert
- Een model implementeren op Azure Container Instances
Zie Gegevens versleutelen met een door de klant beheerde sleutel voor meer informatie over het gebruik van een door de klant beheerde sleutel metACI.
Azure Kubernetes Service
U kunt een geïmplementeerde Azure Kubernetes Service op elk moment versleutelen met behulp van door de klant beheerde sleutels. Zie Bring Your Own Keys with Azure Kubernetes Service voor meer Azure Kubernetes Service.
Met dit proces kunt u zowel de gegevens als de besturingssysteemschijf van de geïmplementeerde virtuele machines in het Kubernetes-cluster versleutelen.
Belangrijk
Dit proces werkt alleen met AKS K8s versie 1.17 of hoger. Azure Machine Learning ondersteuning toegevoegd voor AKS 1.17 op 13 januari 2020.
Machine Learning Berekenen
Rekencluster De besturingssysteemschijf voor elk rekenpunt dat is opgeslagen in Azure Storage is versleuteld met door Microsoft beheerde sleutels in Azure Machine Learning opslagaccounts. Dit rekendoel is kortstondig en clusters worden doorgaans omlaag geschaald wanneer er geen runs in de wachtrij staan. De onderliggende virtuele machine wordt uit de inrichting verwijderd en de besturingssysteemschijf wordt verwijderd. Azure Disk Encryption wordt niet ondersteund voor de besturingssysteemschijf.
Elke virtuele machine heeft ook een lokale tijdelijke schijf voor besturingssysteembewerkingen. Als u wilt, kunt u de schijf gebruiken om trainingsgegevens te faseeren. Als de werkruimte is gemaakt met de hbi_workspace parameter ingesteld op , wordt de tijdelijke schijf TRUE versleuteld. Deze omgeving heeft een korte levensduur (alleen voor de duur van de run) en versleutelingsondersteuning is beperkt tot alleen door het systeem beheerde sleutels.
Reken-exemplaar De besturingssysteemschijf voor het reken exemplaar wordt versleuteld met door Microsoft beheerde sleutels in Azure Machine Learning opslagaccounts. Als de werkruimte is gemaakt met de parameter ingesteld op , wordt de lokale tijdelijke schijf op het hbi_workspace TRUE reken-exemplaar versleuteld met door Microsoft beheerde sleutels. Door de klant beheerde sleutelversleuteling wordt niet ondersteund voor besturingssysteem en tijdelijke schijf.
Azure Databricks
Azure Databricks kunnen worden gebruikt in Azure Machine Learning pijplijnen. Standaard wordt het Databricks File System (DBFS) dat wordt gebruikt door Azure Databricks versleuteld met behulp van een door Microsoft beheerde sleutel. Als u Azure Databricks door de klant beheerde sleutels wilt gebruiken, zie Door de klant beheerde sleutels configureren op standaard DBFS (hoofdmap).
Door Microsoft gegenereerde gegevens
Wanneer u services zoals geautomatiseerde Machine Learning, kan Microsoft tijdelijke, vooraf verwerkte gegevens genereren voor het trainen van meerdere modellen. Deze gegevens worden opgeslagen in een gegevensopslag in uw werkruimte, zodat u toegangsbesturingselementen en versleuteling op de juiste wijze kunt afdwingen.
Mogelijk wilt u ook diagnostische gegevens versleutelen die vanaf uw geïmplementeerde eindpunt in uw Azure-toepassing Insights zijn vastgelegd.
Versleuteling 'in transit'
Azure Machine Learning maakt gebruik van TLS voor het beveiligen van interne communicatie tussen verschillende Azure Machine Learning microservices. Alle Azure Storage toegang vindt ook plaats via een beveiligd kanaal.
Als u externe aanroepen naar het scoring-eindpunt wilt beveiligen, gebruikt Azure Machine Learning TLS. Zie Use TLS to secure a web service through Azure Machine Learning (TLSgebruiken om een webservice te beveiligen via Azure Machine Learning).
Gegevensverzameling en -verwerking
Door Microsoft verzamelde gegevens
Microsoft kan gegevens verzamelen die niet-gebruikers identificeren, zoals resourcenamen (bijvoorbeeld de naam van de gegevensset of de machine learning experimentnaam) of taakomgevingsvariabelen voor diagnostische doeleinden. Al deze gegevens worden opgeslagen met behulp van door Microsoft beheerde sleutels in opslag die worden gehost in abonnementen van Microsoft en voldoen aan de standaardnormen voor privacybeleid en gegevensverwerking van Microsoft. Deze gegevens worden bewaard in dezelfde regio als uw werkruimte.
Microsoft raadt ook aan gevoelige informatie (zoals accountsleutelgeheimen) niet op te slaan in omgevingsvariabelen. Omgevingsvariabelen worden door ons geregistreerd, versleuteld en opgeslagen. Vermijd op dezelfde manier bij run_idgevoelige informatie zoals gebruikersnamen of geheime projectnamen op te geven. Deze informatie kan worden weergegeven in telemetrielogboeken die toegankelijk zijn Microsoft-ondersteuning technici.
U kunt ervoor kiezen om geen diagnostische gegevens te verzamelen door de parameter in te hbi_workspace stellen op tijdens het TRUE inrichten van de werkruimte. Deze functionaliteit wordt ondersteund bij het gebruik van de AzureML Python SDK, de Azure CLI, REST API's of Azure Resource Manager sjablonen.
Met Azure Key Vault
Azure Machine Learning gebruikt het Azure Key Vault dat is gekoppeld aan de werkruimte om referenties van verschillende soorten op te slaan:
- Het gekoppelde opslagaccount connection string
- Wachtwoorden voor exemplaren van Azure Container Repository
- Verbindingsreeksen met gegevensopslag
SSH-wachtwoorden en sleutels voor rekendoelen zoals Azure HDInsight en VM's worden opgeslagen in een afzonderlijke sleutelkluis die is gekoppeld aan het Microsoft-abonnement. Azure Machine Learning worden wachtwoorden of sleutels van gebruikers niet opgeslagen. In plaats daarvan genereert, autoreert en slaat het eigen SSH-sleutels op om verbinding te maken met VM's en HDInsight om de experimenten uit te voeren.
Elke werkruimte heeft een gekoppelde door het systeem toegewezen beheerde identiteit met dezelfde naam als de werkruimte. Deze beheerde identiteit heeft toegang tot alle sleutels, geheimen en certificaten in de sleutelkluis.