Verificatiereferentiegeheimen gebruiken in Azure Machine Learning-taken
VAN TOEPASSING OP: Python SDK azure-ai-ml v2 (current)
Verificatiegegevens, zoals uw gebruikersnaam en wachtwoord, zijn geheimen. Als u bijvoorbeeld verbinding maakt met een externe database om query's uit te voeren op trainingsgegevens, moet u uw gebruikersnaam en wachtwoord doorgeven aan de context van de externe taak. Het coderen van dergelijke waarden in trainingsscripts in duidelijke tekst is onveilig omdat het geheim hierdoor mogelijk wordt blootgelegd.
Met de Azure Key Vault kunt u geheimen veilig opslaan en ophalen. In dit artikel leert u hoe u geheimen kunt ophalen die zijn opgeslagen in een sleutelkluis uit een trainingstaak die wordt uitgevoerd op een rekencluster.
Belangrijk
De Azure Machine Learning Python SDK v2 en Azure CLI-extensie v2 voor machine learning bieden niet de mogelijkheid om geheimen in te stellen of op te halen. In plaats daarvan maakt de informatie in dit artikel gebruik van de Azure Key Vault Secrets-clientbibliotheek voor Python.
Vereisten
Voordat u de stappen in dit artikel uitvoert, moet u ervoor zorgen dat u aan de volgende vereisten voldoet:
Tip
Voor veel van de vereisten in deze sectie is inzender, eigenaar of gelijkwaardige toegang vereist tot uw Azure-abonnement of de Azure-resourcegroep die de resources bevat. Mogelijk moet u contact opnemen met uw Azure-beheerder om deze acties uit te voeren.
Een Azure-abonnement. Als u geen Azure-abonnement hebt, maakt u een gratis account voordat u begint. Probeer de gratis of betaalde versie van Azure Machine Learning.
Een Azure Machine Learning-werkruimte. Als u er nog geen hebt, gebruikt u de stappen in het artikel Resources maken om aan de slag te gaan om er een te maken.
Een Azure-Key Vault. Als u het artikel Resources maken om aan de slag te gaan hebt gebruikt om uw werkruimte te maken, is er een sleutelkluis voor u gemaakt. U kunt ook een afzonderlijk sleutelkluisexemplaar maken met behulp van de informatie in het artikel Quickstart: Een sleutelkluis maken .
Tip
U hoeft niet dezelfde sleutelkluis te gebruiken als de werkruimte.
Een Azure Machine Learning-rekencluster dat is geconfigureerd voor het gebruik van een beheerde identiteit. Het cluster kan worden geconfigureerd voor een door het systeem toegewezen of door de gebruiker toegewezen beheerde identiteit.
Ververleent de beheerde identiteit voor het rekencluster toegang tot de geheimen die zijn opgeslagen in de sleutelkluis. De methode die wordt gebruikt om toegang te verlenen, is afhankelijk van hoe uw sleutelkluis is geconfigureerd:
- Op rollen gebaseerd toegangsbeheer van Azure (Azure RBAC): wanneer deze is geconfigureerd voor Azure RBAC, voegt u de beheerde identiteit toe aan de rol Key Vault Geheimen-gebruiker in uw sleutelkluis.
- Azure Key Vault-toegangsbeleid: wanneer deze is geconfigureerd voor het gebruik van toegangsbeleid, voegt u een nieuw beleid toe waarmee de bewerking voor het ophalen van geheimen wordt verleend en wijst u dit toe aan de beheerde identiteit.
Een opgeslagen geheime waarde in de sleutelkluis. Deze waarde kan vervolgens worden opgehaald met behulp van een sleutel. Zie Quickstart: Een geheim instellen en ophalen uit Azure Key Vault voor meer informatie.
Tip
De quickstart-koppeling is naar de stappen voor het gebruik van de Azure Key Vault Python SDK. In de inhoudsopgave in het linkernavigatiegebied staan koppelingen naar andere manieren om een sleutel in te stellen.
Geheimen ophalen
Voeg de
azure-keyvault-secrets
pakketten enazure-identity
toe aan de Azure Machine Learning-omgeving die wordt gebruikt bij het trainen van het model. Bijvoorbeeld door ze toe te voegen aan het conda-bestand dat wordt gebruikt om de omgeving te bouwen.De omgeving wordt gebruikt voor het bouwen van de Docker-installatiekopieƫn waarin de trainingstaak wordt uitgevoerd op het rekencluster.
Gebruik vanuit uw trainingscode de Azure Identity SDK en Key Vault clientbibliotheek om de referenties van de beheerde identiteit op te halen en te verifiƫren bij de sleutelkluis:
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)
Na verificatie gebruikt u de Key Vault clientbibliotheek om een geheim op te halen door de bijbehorende sleutel op te geven:
secret = secret_client.get_secret("secret-name") print(secret.value)
Volgende stappen
Zie Modellen trainen met de Python SDK v2 voor een voorbeeld van het indienen van een trainingstaak met behulp van de Azure Machine Learning Python SDK v2.