Szyfrowanie danych za pomocą usługi Azure Machine Learning
Usługa Azure Machine Learning korzysta z różnych usług magazynu danych platformy Azure i zasobów obliczeniowych podczas trenowania modeli i wnioskowania. W tym artykule przedstawiono szyfrowanie danych dla każdej usługi magazynowanych i przesyłanych.
W przypadku szyfrowania klasy produkcyjnej podczas trenowania zalecamy użycie klastra obliczeniowego usługi Azure Machine Learning. W przypadku szyfrowania klasy produkcyjnej podczas wnioskowania zalecamy użycie usługi Azure Kubernetes Service (AKS).
Wystąpienie obliczeniowe usługi Azure Machine Learning to środowisko deweloperskie/testowe. W przypadku korzystania z niego zalecamy przechowywanie plików, takich jak notesy i skrypty, w udziale plików. Przechowywanie danych w magazynie danych.
Szyfrowanie w spoczynku
Kompleksowe projekty usługi Azure Machine Learning integrują się z usługami, takimi jak Azure Blob Storage, Azure Cosmos DB i Azure SQL Database. W tym artykule opisano metody szyfrowania dla takich usług.
Azure Blob Storage
Usługa Azure Machine Learning przechowuje migawki, dane wyjściowe i dzienniki na koncie usługi Azure Blob Storage (domyślne konto magazynu), które jest powiązane z obszarem roboczym usługi Azure Machine Learning i subskrypcją. Wszystkie dane przechowywane w usłudze Azure Blob Storage są szyfrowane w spoczynku przy użyciu kluczy zarządzanych przez firmę Microsoft.
Aby uzyskać informacje na temat używania własnych kluczy do danych przechowywanych w usłudze Azure Blob Storage, zobacz Szyfrowanie usługi Azure Storage przy użyciu kluczy zarządzanych przez klienta w usłudze Azure Key Vault.
Dane szkoleniowe są zwykle również przechowywane w usłudze Azure Blob Storage, dzięki czemu trenowanie obiektów obliczeniowych może uzyskiwać do niego dostęp. Usługa Azure Machine Learning nie zarządza tym magazynem. Ten magazyn jest instalowany do celów obliczeniowych jako zdalnego systemu plików.
Jeśli musisz obrócić lub odwołać klucz, możesz to zrobić w dowolnym momencie. Po obróceniu klucza konto magazynu zacznie używać nowego klucza (najnowszej wersji) do szyfrowania danych magazynowanych. Po odwołaniu (wyłączeniu) klucza konto magazynu zajmuje się żądaniami zakończonymi niepowodzeniem. Zwykle trwa to godzinę, aby rotacja lub odwołanie było skuteczne.
Aby uzyskać informacje na temat ponownego generowania kluczy dostępu, zobacz Ponowne generowanie kluczy dostępu do konta magazynu.
Azure Data Lake Storage
Uwaga
29 lutego 2024 r. usługa Azure Data Lake Storage Gen1 zostanie wycofana. Więcej informacji znajdziesz w oficjalnym ogłoszeniu. Jeśli używasz usługi Azure Data Lake Storage Gen1, przed tą datą upewnij się, że przeprowadzono migrację do usługi Azure Data Lake Storage Gen2. Aby dowiedzieć się, jak to zrobić, zobacz Migrowanie usługi Azure Data Lake Storage z 1. generacji do 2. generacji przy użyciu witryny Azure Portal.
Jeśli nie masz jeszcze konta usługi Azure Data Lake Storage Gen1, nie możesz tworzyć nowych.
Usługa Azure Data Lake Storage Gen2 jest oparta na usłudze Azure Blob Storage i jest przeznaczona do analizy danych big data w przedsiębiorstwach. Usługa Data Lake Storage Gen2 jest używana jako magazyn danych dla usługi Azure Machine Learning. Podobnie jak usługa Azure Blob Storage, dane magazynowane są szyfrowane przy użyciu kluczy zarządzanych przez firmę Microsoft.
Aby uzyskać informacje na temat używania własnych kluczy do danych przechowywanych w usłudze Azure Data Lake Storage, zobacz Szyfrowanie usługi Azure Storage przy użyciu kluczy zarządzanych przez klienta w usłudze Azure Key Vault.
Relacyjne bazy danych platformy Azure
Usługa Azure Machine Learning service obsługuje dane z następujących źródeł danych.
Azure SQL Database
Funkcja Transparent Data Encryption pomaga chronić usługę Azure SQL Database przed zagrożeniem złośliwym działaniem w trybie offline przez szyfrowanie danych magazynowanych. Domyślnie funkcja Transparent Data Encryption jest włączona dla wszystkich nowo wdrożonych baz danych SQL korzystających z kluczy zarządzanych przez firmę Microsoft.
Aby uzyskać informacje na temat używania kluczy zarządzanych przez klienta do przezroczystego szyfrowania danych, zobacz Transparent Data Encryption usługi Azure SQL Database.
Azure Database for PostgreSQL
Domyślnie usługa Azure Database for PostgreSQL używa szyfrowania usługi Azure Storage do szyfrowania danych magazynowanych przy użyciu kluczy zarządzanych przez firmę Microsoft. Jest on podobny do przezroczystego szyfrowania danych w innych bazach danych, takich jak program SQL Server.
Aby uzyskać informacje na temat używania kluczy zarządzanych przez klienta do przezroczystego szyfrowania danych, zobacz Szyfrowanie danych pojedynczego serwera usługi Azure Database for PostgreSQL przy użyciu klucza zarządzanego przez klienta.
Azure Database for MySQL
Azure Database for MySQL to usługa relacyjnej bazy danych w chmurze firmy Microsoft. Jest on oparty na aucie bazy danych MySQL Community Edition. Usługa Azure Database for MySQL używa zweryfikowanego modułu kryptograficznego FIPS 140-2 na potrzeby szyfrowania danych magazynowanych w usłudze Azure Storage.
Aby zaszyfrować dane przy użyciu kluczy zarządzanych przez klienta, zobacz Szyfrowanie danych usługi Azure Database for MySQL przy użyciu klucza zarządzanego przez klienta.
Azure Cosmos DB
Usługa Azure Machine Learning przechowuje metadane w wystąpieniu usługi Azure Cosmos DB. To wystąpienie jest skojarzone z subskrypcją firmy Microsoft zarządzaną przez usługę Azure Machine Learning. Wszystkie dane przechowywane w usłudze Azure Cosmos DB są szyfrowane w spoczynku przy użyciu kluczy zarządzanych przez firmę Microsoft.
Jeśli używasz własnych (zarządzanych przez klienta) kluczy do szyfrowania wystąpienia usługi Azure Cosmos DB, wystąpienie usługi Azure Cosmos DB zarządzane przez firmę Microsoft jest tworzone w ramach subskrypcji. To wystąpienie jest tworzone w grupie zasobów zarządzanej przez firmę Microsoft, która różni się od grupy zasobów dla obszaru roboczego. Aby uzyskać więcej informacji, zobacz Klucze zarządzane przez klienta dla usługi Azure Machine Learning.
Azure Container Registry
Wszystkie obrazy kontenerów w rejestrze kontenerów (wystąpienie usługi Azure Container Registry) są szyfrowane w spoczynku. Platforma Azure automatycznie szyfruje obraz przed zapisaniem go i odszyfrowuje go, gdy usługa Azure Machine Learning ściąga obraz.
Aby zaszyfrować rejestr kontenerów przy użyciu kluczy zarządzanych przez klienta, należy utworzyć i dołączyć rejestr kontenerów podczas aprowizowania obszaru roboczego. Możesz zaszyfrować domyślne wystąpienie utworzone w momencie aprowizacji obszaru roboczego.
Ważne
Usługa Azure Machine Learning wymaga włączenia konta administratora w rejestrze kontenerów. Domyślnie to ustawienie jest wyłączone podczas tworzenia rejestru kontenerów. Aby uzyskać informacje na temat włączania konta administratora, zobacz Konto administratora w dalszej części tego artykułu.
Po utworzeniu rejestru kontenerów dla obszaru roboczego nie usuwaj go. Spowoduje to przerwanie obszaru roboczego usługi Azure Machine Learning.
Przykłady tworzenia obszaru roboczego przy użyciu istniejącego rejestru kontenerów można znaleźć w następujących artykułach:
- Tworzenie obszaru roboczego dla usługi Azure Machine Learning przy użyciu interfejsu wiersza polecenia platformy Azure
- Tworzenie obszaru roboczego przy użyciu zestawu PYTHON SDK
- Tworzenie obszaru roboczego dla usługi Azure Machine Learning za pomocą szablonu usługi Azure Resource Manager
Azure Container Instances
Ważne
Wdrożenia w usłudze Azure Container Instances opierają się na zestawie SDK języka Python usługi Azure Machine Learning i interfejsie wiersza polecenia w wersji 1.
Wdrożony zasób usługi Azure Container Instances można zaszyfrować przy użyciu kluczy zarządzanych przez klienta. Klucze zarządzane przez klienta używane w usłudze Container Instances mogą być przechowywane w magazynie kluczy dla obszaru roboczego.
DOTYCZY: Zestaw SDK języka Python w wersji 1
Aby użyć klucza podczas wdrażania modelu w usłudze Container Instances, utwórz nową konfigurację wdrożenia przy użyciu polecenia AciWebservice.deploy_configuration()
. Podaj kluczowe informacje przy użyciu następujących parametrów:
cmk_vault_base_url
: adres URL magazynu kluczy, który zawiera klucz.cmk_key_name
: nazwa klucza.cmk_key_version
: wersja klucza.
Aby uzyskać więcej informacji na temat tworzenia i używania konfiguracji wdrożenia, zobacz następujące artykuły:
Aby uzyskać więcej informacji na temat używania klucza zarządzanego przez klienta z usługą Container Instances, zobacz Szyfrowanie danych wdrożenia.
Azure Kubernetes Service
W dowolnym momencie można zaszyfrować wdrożony zasób usługi Azure Kubernetes Service przy użyciu kluczy zarządzanych przez klienta. Aby uzyskać więcej informacji, zobacz Bring your own keys with Azure Kubernetes Service (Używanie własnych kluczy za pomocą usługi Azure Kubernetes Service).
Ten proces umożliwia szyfrowanie zarówno danych, jak i dysku systemu operacyjnego wdrożonych maszyn wirtualnych w klastrze Kubernetes.
Ważne
Ten proces działa tylko z usługą AKS w wersji 1.17 lub nowszej. Usługa Azure Machine Learning dodała obsługę usługi AKS 1.17 w dniu 13 stycznia 2020 r.
Obliczenia usługi Machine Learning
Klaster obliczeniowy
Dysk systemu operacyjnego dla każdego węzła obliczeniowego przechowywanego w usłudze Azure Storage jest szyfrowany przy użyciu kluczy zarządzanych przez firmę Microsoft na kontach magazynu usługi Azure Machine Learning. Ten docelowy obiekt obliczeniowy jest efemeryczny, a klastry są zwykle skalowane w dół, gdy żadne zadania nie są kolejkowane. Podstawowa maszyna wirtualna zostanie anulowana, a dysk systemu operacyjnego zostanie usunięty.
Usługa Azure Disk Encryption nie jest domyślnie włączona dla obszarów roboczych. Jeśli utworzysz obszar roboczy z parametrem ustawionym hbi_workspace
na TRUE
wartość , dysk systemu operacyjnego zostanie zaszyfrowany.
Każda maszyna wirtualna ma również lokalny dysk tymczasowy dla operacji systemu operacyjnego. Jeśli chcesz, możesz użyć dysku do przygotowania danych treningowych. Jeśli utworzysz obszar roboczy z parametrem ustawionym hbi_workspace
na TRUE
wartość , dysk tymczasowy zostanie zaszyfrowany. To środowisko jest krótkotrwałe (tylko podczas zadania), a obsługa szyfrowania jest ograniczona tylko do kluczy zarządzanych przez system.
Zarządzane punkty końcowe online i punkty końcowe wsadowe używają obliczeń usługi Azure Machine Learning w zapleczu i korzystają z tego samego mechanizmu szyfrowania.
Wystąpienie obliczeniowe
Dysk systemu operacyjnego dla wystąpienia obliczeniowego jest szyfrowany przy użyciu kluczy zarządzanych przez firmę Microsoft na kontach magazynu usługi Azure Machine Learning. Jeśli utworzysz obszar roboczy z parametrem hbi_workspace
ustawionym na wartość TRUE
, lokalny system operacyjny i dyski tymczasowe w wystąpieniu obliczeniowym będą szyfrowane przy użyciu kluczy zarządzanych przez firmę Microsoft. Szyfrowanie kluczy zarządzanych przez klienta nie jest obsługiwane w przypadku dysków tymczasowych i systemu operacyjnego.
Aby uzyskać więcej informacji, zobacz Klucze zarządzane przez klienta dla usługi Azure Machine Learning.
Azure Data Factory
Potok usługi Azure Data Factory pozyskiwa dane do użycia z usługą Azure Machine Learning. Usługa Azure Data Factory szyfruje dane magazynowane, w tym definicje jednostek i wszystkie dane buforowane podczas wykonywania. Domyślnie dane są szyfrowane przy użyciu losowo wygenerowanego klucza zarządzanego przez firmę Microsoft, który jest jednoznacznie przypisany do fabryki danych.
Aby uzyskać informacje na temat używania kluczy zarządzanych przez klienta do szyfrowania, zobacz Szyfrowanie usługi Azure Data Factory przy użyciu kluczy zarządzanych przez klienta.
Azure Databricks
Usługi Azure Databricks można używać w potokach usługi Azure Machine Learning. Domyślnie system plików usługi Databricks (DBFS), którego używa usługa Azure Databricks, jest szyfrowany za pośrednictwem klucza zarządzanego przez firmę Microsoft. Aby skonfigurować usługę Azure Databricks do używania kluczy zarządzanych przez klienta, zobacz Konfigurowanie kluczy zarządzanych przez klienta w domyślnym systemie plików DBFS (root).
Dane wygenerowane przez firmę Microsoft
W przypadku korzystania z usług takich jak Azure Machine Learning firma Microsoft może generować przejściowe, wstępnie przetworzone dane na potrzeby trenowania wielu modeli. Te dane są przechowywane w magazynie danych w obszarze roboczym, dzięki czemu można odpowiednio wymusić kontrolę dostępu i szyfrowanie.
Możesz również zaszyfrować informacje diagnostyczne zarejestrowane z wdrożonego punktu końcowego w usłudze Application Insights.
Szyfrowanie podczas transferu
Usługa Azure Machine Learning używa protokołu Transport Layer Security (TLS) do zabezpieczania komunikacji wewnętrznej między różnymi mikrousługami usługi Azure Machine Learning. Cały dostęp do usługi Azure Storage odbywa się również za pośrednictwem bezpiecznego kanału.
Aby ułatwić zabezpieczanie wywołań zewnętrznych wykonanych w punkcie końcowym oceniania, usługa Azure Machine Learning używa protokołu TLS. Aby uzyskać więcej informacji, zobacz Zabezpieczanie usługi internetowej za pomocą usługi Azure Machine Learning przy użyciu protokołu TLS.
Zbieranie i obsługa danych
W celach diagnostycznych firma Microsoft może zbierać informacje, które nie identyfikują użytkowników. Na przykład firma Microsoft może zbierać nazwy zasobów (na przykład nazwę zestawu danych lub nazwę eksperymentu uczenia maszynowego) lub zmienne środowiskowe zadania. Wszystkie takie dane są przechowywane za pośrednictwem kluczy zarządzanych przez firmę Microsoft w magazynie hostowanym w subskrypcjach należących do firmy Microsoft. Magazyn jest zgodny ze standardową polityką prywatności firmy Microsoft i standardami obsługi danych. Te dane pozostają w tym samym regionie co obszar roboczy.
Nie zalecamy przechowywania poufnych informacji (takich jak wpisy tajne klucza konta) w zmiennych środowiskowych. Dzienniki, szyfrowanie i przechowywanie zmiennych środowiskowych firmy Microsoft. Podobnie podczas nadawania nazw zadań należy unikać dołączania poufnych informacji, takich jak nazwy użytkowników lub nazwy tajnych projektów. Te informacje mogą być wyświetlane w dziennikach telemetrii, do których mogą uzyskiwać dostęp inżynierowie pomocy technicznej firmy Microsoft.
Możesz zrezygnować z zbierania danych diagnostycznych, ustawiając hbi_workspace
parametr na TRUE
podczas aprowizacji obszaru roboczego. Ta funkcja jest obsługiwana w przypadku korzystania z zestawu SDK języka Python usługi Azure Machine Learning, interfejsu wiersza polecenia platformy Azure, interfejsów API REST lub szablonów usługi Azure Resource Manager.
Magazyn poświadczeń w usłudze Azure Key Vault
Usługa Azure Machine Learning używa wystąpienia usługi Azure Key Vault skojarzonego z obszarem roboczym do przechowywania poświadczeń różnych rodzajów:
- Skojarzona parametry połączenia dla konta magazynu
- Hasła do wystąpień usługi Azure Container Registry
- Parametry połączenia z magazynami danych
Hasła i klucze protokołu Secure Shell (SSH) do celów obliczeniowych, takich jak usługa Azure HDInsight i maszyny wirtualne, są przechowywane w oddzielnym magazynie kluczy skojarzonym z subskrypcją firmy Microsoft. Usługa Azure Machine Learning nie przechowuje żadnych haseł ani kluczy, które udostępniają użytkownicy. Zamiast tego generuje, autoryzuje i przechowuje własne klucze SSH w celu nawiązania połączenia z maszynami wirtualnymi i usługą HDInsight w celu uruchomienia eksperymentów.
Każdy obszar roboczy ma skojarzona tożsamość zarządzana przypisana przez system, która ma taką samą nazwę jak obszar roboczy. Ta tożsamość zarządzana ma dostęp do wszystkich kluczy, wpisów tajnych i certyfikatów w magazynie kluczy.