Použití tajných kódů ověřovacích přihlašovacích údajů v úlohách Služby Azure Machine Learning

PLATÍ PRO: Sada Python SDK azure-ai-ml v2 (aktuální)

Ověřovací informace, jako je vaše uživatelské jméno a heslo, jsou tajné kódy. Pokud se například připojíte k externí databázi, abyste mohli dotazovat trénovací data, budete muset předat své uživatelské jméno a heslo kontextu vzdálené úlohy. Kódování těchto hodnot do trénovacích skriptů v prostém textu je nezabezpečené, protože by to potenciálně odhalilo tajný kód.

Azure Key Vault umožňuje bezpečně ukládat a načítat tajné kódy. V tomto článku se dozvíte, jak načíst tajné kódy uložené v trezoru klíčů z trénovací úlohy spuštěné na výpočetním clusteru.

Důležité

Sada Azure Machine Learning Python SDK v2 a rozšíření Azure CLI v2 pro strojové učení neposkytují možnost nastavení nebo získání tajných kódů. Místo toho informace v tomto článku používají klientskou knihovnu tajných kódů Azure Key Vault pro Python.

Požadavky

Než budete postupovat podle kroků v tomto článku, ujistěte se, že máte následující požadavky:

Tip

Mnoho požadavků v této části vyžaduje přístup přispěvatele, vlastníka nebo ekvivalentního přístupu k vašemu předplatnému Azure nebo ke skupině prostředků Azure, která obsahuje prostředky. Možná budete muset kontaktovat správce Azure a požádat ho o provedení těchto akcí.

  • Předplatné Azure. Pokud ještě nemáte předplatné Azure, vytvořte si napřed bezplatný účet. Vyzkoušejte bezplatnou nebo placenou verzi služby Azure Machine Learning.

  • Pracovní prostor služby Azure Machine Learning. Pokud žádné nemáte, vytvořte je podle pokynů v článku Vytvoření prostředků a začněte je vytvořit.

  • Key Vault Azure. Pokud jste k vytvoření pracovního prostoru použili článek Vytvoření prostředků, vytvořili jste pro vás trezor klíčů. Můžete také vytvořit samostatnou instanci trezoru klíčů pomocí informací v článku Rychlý start: Vytvoření trezoru klíčů .

    Tip

    Nemusíte používat stejný trezor klíčů jako pracovní prostor.

  • Výpočetní cluster Azure Machine Learning nakonfigurovaný tak, aby používal spravovanou identitu. Cluster je možné nakonfigurovat pro spravovanou identitu přiřazenou systémem nebo pro spravovanou identitu přiřazenou uživatelem.

  • Udělte spravované identitě výpočetního clusteru přístup k tajným kódům uloženým v trezoru klíčů. Metoda, která se používá k udělení přístupu, závisí na konfiguraci trezoru klíčů:

  • Hodnota uloženého tajného klíče v trezoru klíčů. Tato hodnota se pak dá načíst pomocí klíče. Další informace najdete v tématu Rychlý start: Nastavení a načtení tajného kódu z Azure Key Vault.

    Tip

    Odkaz rychlý start je na postup použití sady Azure Key Vault Python SDK. V obsahu v levé navigační oblasti jsou odkazy na jiné způsoby nastavení klíče.

Získání tajných kódů

  1. azure-keyvault-secrets Přidejte balíčky a azure-identity do prostředí Azure Machine Learning, které se používá při trénování modelu. Například jejich přidáním do souboru conda použitého k vytvoření prostředí.

    Prostředí se používá k sestavení image Dockeru, ve které běží trénovací úloha na výpočetním clusteru.

  2. Z trénovacího kódu použijte sadu Azure Identity SDK a klientskou knihovnu Key Vault k získání přihlašovacích údajů spravované identity a ověření v trezoru klíčů:

    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 ověření použijte klientskou knihovnu Key Vault k načtení tajného kódu zadáním přidruženého klíče:

    secret = secret_client.get_secret("secret-name")
    print(secret.value)
    

Další kroky

Příklad odeslání trénovací úlohy pomocí sady Azure Machine Learning Python SDK v2 najdete v tématu trénování modelů pomocí sady Python SDK v2.