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:

  • 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

  1. Dodaj pakiety azure-keyvault-secrets i azure-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.

  2. 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)
    
  3. 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.