Régénérer des clés d’accès de compte de stockage
S’APPLIQUE À :Extension Azure CLI v2 (actuelle)Kit de développement logiciel (SDK) Python azure-ai-ml v2 (version actuelle)
S’APPLIQUE À : Kit de développement logiciel (SDK) Python azure-ai-mlv2 (préversion)
S’APPLIQUE À :extension Azure CLI ml v1Kit de développement logiciel (SDK) Python azureml v1
S’APPLIQUE À : SDK Python azureml v1
Découvrez comment changer les clés d’accès des comptes Stockage Azure utilisées par Azure Machine Learning. Azure Machine Learning peut utiliser des comptes de stockage pour stocker des données ou des modèles formés.
Pour des raisons de sécurité, vous devrez peut-être modifier les clés d’accès d’un compte Stockage Azure. Lorsque vous régénérez la clé d’accès, Azure Machine Learning doit être mis à jour pour utiliser la nouvelle clé. Azure Machine Learning peut utiliser le compte de stockage à la fois pour le stockage des modèles et comme banque de données.
Important
Les informations d’identification enregistrées avec les magasins de données sont enregistrées dans votre coffre de clés Azure associé à l’espace de travail. Si la suppression réversible est activée pour votre coffre de clés, cet article fournit des instructions pour la mise à jour des informations d’identification. Si vous désinscrivez le magasin de données et essayez de le réinscrire sous le même nom, l’action échoue. Consultez Activer la suppression réversible pour un coffre de clés existant pour savoir comment activer la suppression réversible dans ce scénario.
Prérequis
- Un espace de travail Azure Machine Learning. Pour plus d’informations, consultez l’article Créer des ressources d’espace de travail.
Notes
Les extraits de code de ce document ont été testés avec la version 1.0.83 du Kit de développement logiciel (SDK) Python.
Éléments à mettre à jour
Les comptes de stockage peuvent être utilisés par l’espace de travail Azure Machine Learning (stockage des journaux, modèles, instantanés, etc.) et comme magasin de données. Le processus de mise à jour de l’espace de travail est une commande unique de l’interface de ligne de commande Azure et peut être exécuté après la mise à jour de la clé de stockage. Le processus de mise à jour des banques de données est plus complexe et nécessite de découvrir quelles banques de données utilisent actuellement le compte de stockage, puis de les réinscrire.
Important
Mettez à jour l’espace de travail à l’aide de l’interface de ligne de commande Azure, et les banques de données à l’aide de Python simultanément. La mise à jour de l’un ou l’autre n’est pas suffisante et peut entraîner des erreurs tant que les deux ne sont pas mis à jour.
Pour découvrir les comptes de stockage qui sont utilisés par vos banques de données, utilisez le code suivant :
from azure.ai.ml import MLClient
from azure.identity import DefaultAzureCredential
#Enter details of your Azure Machine Learning workspace
subscription_id = '<SUBSCRIPTION_ID>'
resource_group = '<RESOURCE_GROUP>'
workspace_name = '<AZUREML_WORKSPACE_NAME>'
ml_client = MLClient(credential=DefaultAzureCredential(),
subscription_id=subscription_id,
resource_group_name=resource_group,
workspace_name=workspace_name)
# list all the datastores
datastores = ml_client.datastores.list()
for ds in datastores:
if ds.credentials.type == "account_key":
if ds.type.name == "AZURE_BLOB":
print("Blob store - datastore name: " + ds.name + ", storage account name: " +
ds.account_name + ", container name: " + ds.container_name)
if ds.type.name == "AZURE_FILE":
print("Blob store - datastore name: " + ds.name + ", storage account name: " +
ds.account_name + ", file share name: " + ds.file_share_name)
Ce code recherche les magasins de données inscrits qui utilisent Stockage Azure avec clé d’authentification et répertorie les informations suivantes :
- Nom de la banque de données : nom de la base de données sous laquelle le compte de stockage est inscrit.
- Nom du compte de stockage : Nom du compte Stockage Azure.
- Conteneur : conteneur dans le compte de stockage qui est utilisé par cette inscription.
- Partage de fichiers : Le partage de fichiers utilisé par cette inscription.
import azureml.core
from azureml.core import Workspace, Datastore
ws = Workspace.from_config()
default_ds = ws.get_default_datastore()
print("Default datstore: " + default_ds.name + ", storage account name: " +
default_ds.account_name + ", container name: " + default_ds.container_name)
datastores = ws.datastores
for name, ds in datastores.items():
if ds.datastore_type == "AzureBlob":
print("Blob store - datastore name: " + name + ", storage account name: " +
ds.account_name + ", container name: " + ds.container_name)
if ds.datastore_type == "AzureFile":
print("File share - datastore name: " + name + ", storage account name: " +
ds.account_name + ", container name: " + ds.container_name)
Ce code recherche les banques de données inscrites qui utilisent Stockage Azure et répertorie les informations suivantes :
- Nom de la banque de données : nom de la base de données sous laquelle le compte de stockage est inscrit.
- Nom du compte de stockage : Nom du compte Stockage Azure.
- Conteneur : conteneur dans le compte de stockage qui est utilisé par cette inscription.
Il indique également si le magasin de stockage est destiné à un objet blob Azure ou à un partage de fichiers Azure, car il existe différentes méthodes pour réinscrire chaque type de magasin de stockage.
S’il existe une entrée pour le compte de stockage dont vous prévoyez de régénérer les clés d’accès, enregistrez le nom de la banque de données, le nom du compte de stockage et le nom du conteneur.
Mettre à jour la clé d’accès
Pour mettre à jour Azure Machine Learning afin d’utiliser la nouvelle clé, effectuez les étapes suivantes :
Important
Effectuez toutes les étapes, en mettant à jour l’espace de travail à l’aide de l’interface de ligne de commande et les bases de données à l’aide de Python. La mise à jour de l’un ou l’autre peut entraîner des erreurs tant que les deux ne sont pas mis à jour.
Générez à nouveau la clé. Pour plus d’informations sur la regénération d’une clé d’accès, consultez Gérer les clés d’accès d’un compte de stockage. Enregistrez la nouvelle clé.
L’espace de travail Azure Machine Learning synchronise automatiquement la nouvelle clé et commence à l’utiliser après une heure. Pour forcer l’espace de travail à synchroniser la nouvelle clé immédiatement, suivez les étapes suivantes :
Pour vous connecter à l’abonnement Azure qui contient votre espace de travail en utilisant la commande Azure CLI suivante :
az login
Conseil
Une fois que vous vous êtes connecté, la liste des abonnements associés à votre compte Azure s’affiche. Les informations d’abonnement avec
isDefault: true
correspond à l’abonnement actuellement activé pour les commandes Azure CLI. Cet abonnement doit être le même que celui qui contient votre espace de travail Azure Machine Learning. Vous trouverez les informations relatives à l’abonnement dans la page de vue d’ensemble de votre espace de travail dans le portail Azure.Pour sélectionner un autre abonnement à utiliser pour les commandes Azure CLI, exécutez la commande
az account set -s <subscription>
et indiquez le nom ou l’ID de l’abonnement vers lequel vous voulez basculer. Pour plus d’informations sur la sélection d’abonnements, consultez Utiliser plusieurs abonnements Azure.Pour mettre à jour l’espace de travail afin d’utiliser la nouvelle clé, utilisez la commande suivante. Remplacez
myworkspace
par le nom de votre espace de travail Azure Machine Learning et remplacezmyresourcegroup
par le nom du groupe de ressources Azure qui contient l’espace de travail.az ml workspace sync-keys -n myworkspace -g myresourcegroup
Cette commande synchronise automatiquement les nouvelles clés du compte de stockage Azure utilisé par l’espace de travail.
Vous pouvez réenregistrer les magasins de données qui utilisent le compte de stockage via le kit de développement logiciel (SDK) ou le studio Azure Machine Learning.
Pour réinscrire les magasins de données via le kit de développement logiciel (SDK) Python, utilisez les valeurs de la section Éléments à mettre à jour et la clé de l’étape 1 avec le code suivant.
from azure.ai.ml.entities import AzureBlobDatastore, AccountKeyConfiguration from azure.ai.ml import MLClient from azure.identity import DefaultAzureCredential subscription_id = '<SUBSCRIPTION_ID>' resource_group = '<RESOURCE_GROUP>' workspace_name = '<AZUREML_WORKSPACE_NAME>' ml_client = MLClient(credential=DefaultAzureCredential(), subscription_id=subscription_id, resource_group_name=resource_group, workspace_name=workspace_name) blob_datastore1 = AzureBlobDatastore( name="your datastore name", description="Description", account_name="your storage account name", container_name="your container name", protocol="https", credentials=AccountKeyConfiguration( account_key="new storage account key" ), ) ml_client.create_or_update(blob_datastore1)
Puisque
overwrite=True
est spécifié, ce code écrase l’inscription existante et la met à jour pour utiliser la nouvelle clé.# Re-register the blob container ds_blob = Datastore.register_azure_blob_container(workspace=ws, datastore_name='your datastore name', container_name='your container name', account_name='your storage account name', account_key='new storage account key', overwrite=True) # Re-register file shares ds_file = Datastore.register_azure_file_share(workspace=ws, datastore_name='your datastore name', file_share_name='your container name', account_name='your storage account name', account_key='new storage account key', overwrite=True)
Pour réinscrire des magasins de données via le studio
Dans le studio, dans le volet gauche sous Ressources, sélectionnez Données.
En haut, sélectionnez Magasins de données.
Sélectionnez le magasin de données à mettre à jour.
Sélectionnez le bouton Mettre à jour les informations d’identification en haut à gauche.
Utilisez votre nouvelle clé d’accès de l’étape 1 pour remplir le formulaire et cliquez sur Enregistrer.
Si vous mettez à jour les informations d’identification de votre magasin de données par défaut, effectuez cette étape et répétez l’étape 2b pour resynchroniser votre nouvelle clé avec le magasin de données par défaut de l’espace de travail.
Étapes suivantes
Pour plus d’informations sur l’utilisation de magasins de données, consultez Utiliser des magasins de données.
Pour plus d’informations sur l’inscription des banques de données, consultez la documentation de référence de la classe Datastore
.