Używanie wpisów tajnych poświadczeń uwierzytelniania w zadaniach usługi Azure Machine Learning
DOTYCZY: Zestaw PYTHON SDK azure-ai-ml w wersji 2 (bieżąca)
Informacje uwierzytelniania, takie jak nazwa użytkownika i hasło, są wpisami tajnymi. Jeśli na przykład łączysz się z zewnętrzną bazą danych w celu wykonywania zapytań dotyczących danych szkoleniowych, musisz przekazać nazwę użytkownika i hasło do kontekstu zadania zdalnego. Kodowanie takich wartości do skryptów szkoleniowych w postaci zwykłego tekstu jest niezabezpieczone, ponieważ potencjalnie uwidacznia wpis tajny.
Usługa Azure Key Vault umożliwia bezpieczne przechowywanie i pobieranie wpisów tajnych. W tym artykule dowiesz się, jak pobrać wpisy tajne przechowywane w magazynie kluczy z zadania szkoleniowego uruchomionego w klastrze obliczeniowym.
Ważne
Zestaw SDK języka Python dla usługi Azure Machine Learning w wersji 2 i rozszerzenie interfejsu wiersza polecenia platformy Azure w wersji 2 dla uczenia maszynowego nie zapewniają możliwości ustawiania ani pobierania wpisów tajnych. Zamiast tego informacje przedstawione w tym artykule używają biblioteki klienta usługi Azure Key Vault Secrets dla języka Python.
Wymagania wstępne
Przed wykonaniem kroków opisanych w tym artykule upewnij się, że masz następujące wymagania wstępne:
Porada
Wiele wymagań wstępnych w tej sekcji wymaga dostępu współautora, właściciela lub równoważnego dostępu do subskrypcji platformy Azure lub grupy zasobów platformy Azure zawierającej zasoby. Może być konieczne skontaktowanie się z administratorem platformy Azure i wykonanie tych akcji.
Subskrypcja platformy Azure. Jeśli nie masz subskrypcji platformy Azure, przed rozpoczęciem utwórz bezpłatne konto. Wypróbuj bezpłatną lub płatną wersję usługi Azure Machine Learning.
Obszar roboczy usługi Azure Machine Learning. Jeśli go nie masz, wykonaj kroki opisane w artykule Tworzenie zasobów, aby rozpocząć tworzenie.
Azure Key Vault. Jeśli użyto artykułu Tworzenie zasobów w celu rozpoczęcia tworzenia obszaru roboczego, utworzono dla Ciebie magazyn kluczy. Możesz również utworzyć oddzielne wystąpienie magazynu kluczy, korzystając z informacji w artykule Szybki start: tworzenie magazynu kluczy .
Porada
Nie musisz używać tego samego magazynu kluczy co obszar roboczy.
Klaster obliczeniowy usługi Azure Machine Learning skonfigurowany do korzystania z tożsamości zarządzanej. Klaster można skonfigurować dla tożsamości zarządzanej przypisanej przez system lub przypisanej przez użytkownika.
Udziel tożsamości zarządzanej dla klastra obliczeniowego dostępu do wpisów tajnych przechowywanych w magazynie kluczy. Metoda używana do udzielania dostępu zależy od konfiguracji magazynu kluczy:
- Kontrola dostępu oparta na rolach platformy Azure (RBAC) platformy Azure: po skonfigurowaniu kontroli dostępu opartej na rolach platformy Azure dodaj tożsamość zarządzaną do roli użytkownika wpisów tajnych Key Vault w magazynie kluczy.
- Zasady dostępu usługi Azure Key Vault: po skonfigurowaniu używania zasad dostępu dodaj nowe zasady, które udzielają operacji pobierania dla wpisów tajnych i przypisują je do tożsamości zarządzanej.
Przechowywana wartość wpisu tajnego w magazynie kluczy. Tę wartość można następnie pobrać przy użyciu klucza. Aby uzyskać więcej informacji, zobacz Szybki start: ustawianie i pobieranie wpisu tajnego z usługi Azure Key Vault.
Porada
Link do przewodnika Szybki start zawiera instrukcje dotyczące korzystania z zestawu SDK języka Python usługi Azure Key Vault. W spisie treści w obszarze nawigacji po lewej stronie znajdują się linki do innych sposobów ustawiania klucza.
Pobieranie wpisów tajnych
Dodaj pakiety
azure-keyvault-secrets
iazure-identity
do środowiska usługi Azure Machine Learning używanego podczas trenowania modelu. Na przykład przez dodanie ich do pliku conda użytego do skompilowania środowiska.Środowisko służy do kompilowania obrazu platformy Docker, w ramach którego zadanie trenowania jest uruchamiane w klastrze obliczeniowym.
Z poziomu kodu szkoleniowego użyj zestawu Azure Identity SDK i biblioteki klienta Key Vault, aby uzyskać poświadczenia tożsamości zarządzanej i uwierzytelnić się w magazynie kluczy:
from azure.identity import DefaultAzureCredential from azure.keyvault.secrets import SecretClient credential = DefaultAzureCredential() secret_client = SecretClient(vault_url="https://my-key-vault.vault.azure.net/", credential=credential)
Po uwierzytelnieniu użyj biblioteki klienta Key Vault, aby pobrać wpis tajny, podając skojarzony klucz:
secret = secret_client.get_secret("secret-name") print(secret.value)
Następne kroki
Aby zapoznać się z przykładem przesyłania zadania szkoleniowego przy użyciu zestawu SDK języka Python usługi Azure Machine Learning w wersji 2, zobacz Trenowanie modeli przy użyciu zestawu PYTHON SDK w wersji 2.