Sdílet prostřednictvím


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

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

Ověřovací informace, jako jsou vaše uživatelské jméno a heslo, jsou tajné kódy. Pokud se například připojujete 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ů ve formátu prostého textu je nezabezpečené, protože by mohlo tajný kód vystavit.

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 úlohy trénování 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í neposkytuje možnost nastavit nebo získat tajné kódy. Místo toho informace v tomto článku používají klientskou knihovnu tajných kódů služby 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

Řada 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 skupině prostředků Azure, která obsahuje prostředky. Možná budete muset kontaktovat správce Azure a nechat ho provést tyto akce.

  • 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 ho nemáte, vytvořte si ho pomocí kroků v článku Vytvoření prostředků .

  • An Azure Key Vault. 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 rychlém startu : Vytvoření článku o trezoru klíčů.

    Tip

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

  • (Volitelné) 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 přiřazenou uživatelem.

  • Pokud vaše úloha běží na výpočetním clusteru, udělte spravované identitě výpočetního clusteru přístup k tajným kódům uloženým v trezoru klíčů. Nebo pokud úloha běží na bezserverovém výpočetním prostředí, udělte spravované identitě zadané pro úlohu přístup k tajným kódům. Metoda použitá k udělení přístupu závisí na konfiguraci vašeho trezoru klíčů:

    • Řízení přístupu na základě role v Azure (Azure RBAC): Pokud je nakonfigurované pro Azure RBAC, přidejte spravovanou identitu do role Uživatele tajných kódů služby Key Vault ve vašem trezoru klíčů.
    • Zásady přístupu ke službě Azure Key Vault: Při konfiguraci pro použití zásad přístupu přidejte novou zásadu, která uděluje operaci získání tajných kódů a přiřadí ji spravované identitě.
  • Uložená hodnota tajného kódu v trezoru klíčů. Tuto hodnotu pak můžete načíst pomocí klíče. Další informace najdete v tématu Rychlý start: Nastavení a načtení tajného kódu ze služby Azure Key Vault.

    Tip

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

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

Během trénování můžete získat tajné kódy dvěma způsoby:

  • Použití spravované identity přidružené k výpočetnímu prostředku, na kterém běží trénovací úloha.
  • Použití vaší identity tím, že výpočetní prostředí spustí úlohu vaším jménem.
  1. Přidejte balíčky azure-identityazure-keyvault-secrets do prostředí Azure Machine Learning používaného při trénování modelu. Můžete je například přidat do souboru conda, který se používá k sestavení prostředí.

    Prostředí se používá k sestavení image Dockeru, ve které se úloha trénování spouští ve výpočetním clusteru.

  2. Z trénovacího kódu použijte sadu Azure Identity SDK a klientskou knihovnu služby 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 služby 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)
    

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.