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íčů:
- Řízení přístupu na základě role v Azure (Azure RBAC): Při konfiguraci azure RBAC přidejte spravovanou identitu do role uživatele tajných kódů Key Vault ve vašem trezoru klíčů.
- Zásady přístupu azure Key Vault: Pokud je nakonfigurované používání zásad přístupu, přidejte novou zásadu, která uděluje operaci get pro tajné kódy, a přiřaďte ji spravované identitě.
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ů
azure-keyvault-secrets
Přidejte balíčky aazure-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.
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)
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.