Opětovné generování přístupových klíčů k účtu úložiště
PLATÍ PRO:Rozšíření Azure CLI ml v2 (aktuální)Python SDK azure-ai-ml v2 (aktuální)
PLATÍ PRO: Python SDK azure-ai-ml v2 (aktuální)
PLATÍ PRO:Rozšíření Azure CLI ml v1Python SDK azureml v1
PLATÍ PRO: Python SDK azureml v1
Zjistěte, jak změnit přístupové klíče pro účty Azure Storage používané službou Azure Machine Learning. Azure Machine Learning může k ukládání dat nebo trénovaných modelů používat účty úložiště.
Pro účely zabezpečení možná budete muset změnit přístupové klíče pro účet Azure Storage. Když znovu vygenerujete přístupový klíč, musí být služba Azure Machine Learning aktualizovaná, aby používala nový klíč. Azure Machine Learning může používat účet úložiště pro úložiště modelu i jako úložiště dat.
Důležité
Přihlašovací údaje zaregistrované v úložištích dat se ukládají do služby Azure Key Vault přidružené k pracovnímu prostoru. Pokud máte pro key Vault povolené obnovitelné odstranění , najdete v tomto článku pokyny k aktualizaci přihlašovacích údajů. Pokud zrušíte registraci úložiště dat a pokusíte se ho znovu zaregistrovat pod stejným názvem, tato akce selže. Informace o povolení obnovitelného odstranění v tomto scénáři najdete v tématu Zapnutí obnovitelného odstranění pro existující trezor klíčů.
Požadavky
- Pracovní prostor služby Azure Machine Learning. Další informace najdete v článku Vytvoření prostředků pracovního prostoru.
Rozšíření Azure Machine Learning CLI verze 2.
Rozšíření Azure Machine Learning CLI verze 1
Poznámka:
Fragmenty kódu v tomto dokumentu byly testovány s verzí 1.0.83 sady Python SDK.
Co je potřeba aktualizovat
Účty úložiště můžou používat pracovní prostor Azure Machine Learning (ukládání protokolů, modelů, snímků atd.) a jako úložiště dat. Proces aktualizace pracovního prostoru je jeden příkaz Azure CLI a po aktualizaci klíče úložiště je možné ho spustit. Proces aktualizace úložišť dat je více zapojen a vyžaduje zjištění, které úložiště dat aktuálně používají účet úložiště, a pak je znovu zaregistrovat.
Důležité
Aktualizujte pracovní prostor pomocí Azure CLI a úložišť dat pomocí Pythonu současně. Aktualizace pouze jedné nebo druhé není dostatečná a může způsobit chyby, dokud se oba neaktualizují.
Pokud chcete zjistit účty úložiště používané vašimi úložišti dat, použijte následující kód:
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)
Tento kód vyhledá všechna zaregistrovaná úložiště dat, která používají Azure Storage s ověřováním klíčů, a zobrazí následující informace:
- Název úložiště dat: Název úložiště dat, pod kterým je účet úložiště zaregistrovaný.
- Název účtu úložiště: Název účtu azure Storage.
- Kontejner: Kontejner v účtu úložiště, který tato registrace používá.
- Sdílená složka: Sdílená složka, kterou tato registrace používá.
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)
Tento kód vyhledá všechny registrované úložiště dat, které používají Azure Storage, a zobrazí následující informace:
- Název úložiště dat: Název úložiště dat, pod kterým je účet úložiště zaregistrovaný.
- Název účtu úložiště: Název účtu azure Storage.
- Kontejner: Kontejner v účtu úložiště, který tato registrace používá.
Označuje také, jestli je úložiště dat určené pro objekt blob Azure nebo sdílenou složku Azure, protože existují různé metody opětovné registrace jednotlivých typů úložiště dat.
Pokud pro účet úložiště, pro který plánujete znovu vygenerovat přístupové klíče, uložte název úložiště dat, název účtu úložiště a název kontejneru.
Aktualizace přístupového klíče
Pokud chcete službu Azure Machine Learning aktualizovat tak, aby používala nový klíč, postupujte následovně:
Důležité
Proveďte všechny kroky, aktualizujte pracovní prostor pomocí rozhraní příkazového řádku i úložiště dat pomocí Pythonu. Aktualizace pouze jedné nebo druhé může způsobit chyby, dokud se oba neaktualizují.
Znovu vygenerujte klíč. Informace o opětovném vygenerování přístupového klíče najdete v tématu Správa přístupových klíčů účtu úložiště. Uložte nový klíč.
Pracovní prostor Azure Machine Learning automaticky synchronizuje nový klíč a začne ho používat po hodině. Pokud chcete, aby se pracovní prostor okamžitě synchronizoval s novým klíčem, postupujte následovně:
Pokud se chcete přihlásit k předplatnému Azure, které obsahuje váš pracovní prostor, pomocí následujícího příkazu Azure CLI:
az login
Tip
Po přihlášení se zobrazí seznam předplatných přidružených k vašemu účtu Azure. Informace o
isDefault: true
předplatném jsou aktuálně aktivované předplatné pro příkazy Azure CLI. Toto předplatné musí být stejné, které obsahuje váš pracovní prostor Azure Machine Learning. Informace o předplatném najdete na stránce přehledu vašeho pracovního prostoru na webu Azure Portal.Pokud chcete vybrat jiné předplatné, které se má použít pro příkazy Azure CLI, spusťte
az account set -s <subscription>
příkaz a zadejte název nebo ID předplatného, na které se má přepnout. Další informace o výběru předplatného najdete v tématu Použití více předplatných Azure.Pokud chcete pracovní prostor aktualizovat tak, aby používal nový klíč, použijte následující příkaz. Nahraďte
myworkspace
názvem pracovního prostoru Služby Azure Machine Learning a nahraďtemyresourcegroup
názvem skupiny prostředků Azure, která tento pracovní prostor obsahuje.az ml workspace sync-keys -n myworkspace -g myresourcegroup
Tento příkaz automaticky synchronizuje nové klíče pro účet úložiště Azure používaný pracovním prostorem.
Úložiště dat, která používají účet úložiště, můžete znovu zaregistrovat prostřednictvím sady SDK nebo studio Azure Machine Learning.
Pokud chcete úložiště dat znovu zaregistrovat prostřednictvím sady Python SDK, použijte hodnoty z části Co je potřeba aktualizovat a klíč z kroku 1 s následujícím kódem.
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)
Vzhledem k tomu
overwrite=True
, že je zadaný, tento kód přepíše existující registraci a aktualizuje ho tak, aby používal nový klíč.# 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)
Opětovná registrace úložišť dat prostřednictvím studia
V sadě Studio vyberte v levém podokně v části Prostředky data.
Nahoře vyberte Úložiště dat.
Vyberte úložiště dat, které chcete aktualizovat.
V levém horním rohu vyberte tlačítko Aktualizovat přihlašovací údaje.
K naplnění formuláře použijte nový přístupový klíč z kroku 1 a klikněte na Uložit.
Pokud aktualizujete přihlašovací údaje pro výchozí úložiště dat, dokončete tento krok a opakujte krok 2b a znovu synchronizujte nový klíč s výchozím úložištěm dat pracovního prostoru.
Další kroky
Další informace o používání úložišť dat naleznete v tématu Použití úložišť dat.
Další informace o registraci úložišť dat najdete v referenčních informacích ke Datastore
třídě.