Tárfiók hozzáférési kulcsának újragenerálása
ÉRVÉNYES:Azure CLI ml-bővítmény v2 (aktuális)Python SDK azure-ai-ml v2 (aktuális)
A KÖVETKEZŐKRE VONATKOZIK: Python SDK azure-ai-ml v2 (aktuális)
ÉRVÉNYES:Azure CLI ml-bővítmény v1Python SDK azureml v1
A KÖVETKEZŐKRE VONATKOZIK: Python SDK azureml v1
Megtudhatja, hogyan módosíthatja az Azure Machine Learning által használt Azure Storage-fiókok hozzáférési kulcsait. Az Azure Machine Learning tárfiókokkal tárolhatja az adatokat vagy a betanított modelleket.
Biztonsági okokból előfordulhat, hogy módosítania kell egy Azure Storage-fiók hozzáférési kulcsait. A hozzáférési kulcs újragenerálásakor az Azure Machine Learninget frissíteni kell az új kulcs használatához. Előfordulhat, hogy az Azure Machine Learning a tárfiókot a modelltárhoz és adattárként is használja.
Fontos
Az adattárakban regisztrált hitelesítő adatokat a rendszer a munkaterülethez társított Azure Key Vaultba menti. Ha engedélyezve van a helyreállítható törlés a Key Vaulthoz, ez a cikk útmutatást nyújt a hitelesítő adatok frissítéséhez. Ha törli az adattár regisztrációjának törlését, és ugyanazzal a névvel próbálja újra regisztrálni, ez a művelet sikertelen lesz. Ebben a forgatókönyvben a helyreállítható törlés engedélyezéséről a meglévő kulcstartók helyreállítható törlésének bekapcsolása című témakörben olvashat.
Előfeltételek
- Egy Azure Machine Learning-munkaterület. További információt a Munkaterület erőforrásainak létrehozása című cikkben talál.
Az Azure Machine Learning SDK 2-s verziója.
Az Azure Machine Learning CLI 2-s bővítménye.
Az Azure Machine Learning CLI 1-s bővítménye.
Feljegyzés
A dokumentum kódrészleteit a Python SDK 1.0.83-as verziójával teszteltük.
Mit kell frissíteni?
A tárfiókokat az Azure Machine Learning-munkaterület (naplók, modellek, pillanatképek stb.) és adattárként is használhatja. A munkaterület frissítésének folyamata egyetlen Azure CLI-parancs, amely a tárkulcs frissítése után futtatható. Az adattárak frissítésének folyamata nagyobb szerepet játszik, és meg kell találnia, hogy mely adattárak használják jelenleg a tárfiókot, majd újra regisztrálni kell őket.
Fontos
Frissítse a munkaterületet az Azure CLI és az adattárak Használatával a Python használatával. Csak az egyik vagy a másik frissítése nem elegendő, és mindkettő frissítéséig hibákat okozhat.
Az adattárak által használt tárfiókok felderítéséhez használja a következő kódot:
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)
Ez a kód az Azure Storage-t kulcshitelesítéssel használó regisztrált adattárakat keresi, és a következő információkat sorolja fel:
- Adattár neve: Annak az adattárnak a neve, amely alatt a tárfiók regisztrálva van.
- Tárfiók neve: Az Azure Storage-fiók neve.
- Tároló: A regisztráció által használt tároló a tárfiókban.
- Fájlmegosztás: A regisztráció által használt fájlmegosztás.
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)
Ez a kód megkeresi az Azure Storage-t használó regisztrált adattárakat, és felsorolja a következő információkat:
- Adattár neve: Annak az adattárnak a neve, amely alatt a tárfiók regisztrálva van.
- Tárfiók neve: Az Azure Storage-fiók neve.
- Tároló: A regisztráció által használt tároló a tárfiókban.
Azt is jelzi, hogy az adattár egy Azure-blobhoz vagy egy Azure-fájlmegosztáshoz tartozik-e, mivel különböző módszerek léteznek az egyes típusú adattárak újraregisztrálására.
Ha olyan bejegyzés található a tárfiókhoz, amelyhez a hozzáférési kulcsok újragenerálását tervezi, mentse az adattár nevét, a tárfiók nevét és a tároló nevét.
A hozzáférési kulcs frissítése
Ha frissíteni szeretné az Azure Machine Learninget az új kulcs használatára, kövesse az alábbi lépéseket:
Fontos
Végezze el az összes lépést, frissítse a munkaterületet a parancssori felület használatával, és az adattárakat a Python használatával. Ha csak az egyiket vagy a másikat frissíti, az mindaddig hibákat okozhat, amíg mindkettő nem frissül.
Hozza létre újra a kulcsot. A hozzáférési kulcsok újragenerálásáról további információt a tárfiók hozzáférési kulcsainak kezelése című témakörben talál. Mentse az új kulcsot.
Az Azure Machine Learning-munkaterület automatikusan szinkronizálja az új kulcsot, és egy óra múlva elkezdi használni. Ha a munkaterületet azonnal szinkronizálni szeretné az új kulccsal, kövesse az alábbi lépéseket:
A munkaterületet tartalmazó Azure-előfizetésbe az alábbi Azure CLI-paranccsal jelentkezhet be:
az login
Tipp.
A bejelentkezés után megjelenik az Azure-fiókhoz társított előfizetések listája. Az előfizetés adatai
isDefault: true
az Azure CLI-parancsok jelenleg aktivált előfizetése. Ennek az előfizetésnek ugyanazzal az előfizetéssel kell rendelkeznie, amely az Azure Machine Learning-munkaterületet tartalmazza. Az előfizetéssel kapcsolatos információkat a munkaterület áttekintési oldalán találja az Azure Portalon.Az Azure CLI-parancsokhoz használandó másik előfizetés kiválasztásához futtassa a
az account set -s <subscription>
parancsot, és adja meg az előfizetés nevét vagy azonosítóját, amelyre váltani szeretne. További információ az előfizetés kiválasztásáról: Több Azure-előfizetés használata.Ha frissíteni szeretné a munkaterületet az új kulcs használatára, használja az alábbi parancsot. Cserélje le
myworkspace
az Azure Machine Learning-munkaterület nevét, és cserélje lemyresourcegroup
a munkaterületet tartalmazó Azure-erőforráscsoport nevére.az ml workspace sync-keys -n myworkspace -g myresourcegroup
Ez a parancs automatikusan szinkronizálja a munkaterület által használt Azure Storage-fiók új kulcsait.
A tárfiókot használó adattár(ok) újra regisztrálhatók az SDK-n vagy az Azure Machine Learning Studióban.
Az adattárak Python SDK-val történő újbóli regisztrálásához használja a Frissíteni kívánt szakasz értékeit, valamint az 1. lépésben szereplő kulcsot az alábbi kóddal.
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)
Mivel
overwrite=True
meg van adva, ez a kód felülírja a meglévő regisztrációt, és frissíti az új kulcs használatára.# 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)
Adattárak újbóli regisztrálása a stúdión keresztül
A stúdióban válassza az Adatok lehetőséget a bal oldali panelEn az Eszközök csoportban.
A tetején válassza az Adattárak lehetőséget.
Válassza ki a frissíteni kívánt adattárat.
Válassza a hitelesítő adatok frissítése gombot a bal felső sarokban.
Az 1. lépés új hozzáférési kulcsával töltse ki az űrlapot, és kattintson a Mentés gombra.
Ha az alapértelmezett adattár hitelesítő adatait frissíti, végezze el ezt a lépést, és ismételje meg a 2b. lépést az új kulcs újraszinkronizálásához a munkaterület alapértelmezett adattárával.
Következő lépések
További információ az adattárak használatáról: Adattárak használata.
Az adattárak regisztrálásával kapcsolatos további információkért tekintse meg az osztályreferenciát Datastore
.