Anmärkning
Informationen i den här artikeln är specifik för ett hubbbaserat projekt och gäller inte för ett Azure AI Foundry-projekt. Mer information finns i Typer av projekt.
 
En Azure AI Foundry-hubb använder som standard en delad nyckel för att få åtkomst till standardkontot för Azure Storage. Med nyckelbaserad auktorisering kan alla som har nyckeln och åtkomsten till lagringskontot komma åt data.
Om du vill minska risken för obehörig åtkomst inaktiverar du nyckelbaserad auktorisering och använder i stället Microsoft Entra-ID för auktorisering. Den här konfigurationen använder ett Microsoft Entra-ID-värde för att auktorisera åtkomst till lagringskontot. Identiteten som används för att komma åt lagring är antingen användarens identitet eller en hanterad identitet. Användarens identitet används för att visa data i Azure Machine Learning Studio eller för att köra en notebook-fil när den autentiseras med användarens identitet. Machine Learning använder en hanterad identitet för att komma åt lagringskontot, till exempel när den hanterade identiteten kör ett träningsjobb.
Användningen av din hubb med ett inaktiverat lagringskonto med delad nyckel är för närvarande i förhandsversion.
Viktigt!
Den här funktionen är för närvarande i offentlig förhandsversion. Den här förhandsversionen tillhandahålls utan ett serviceavtal och vi rekommenderar det inte för produktionsarbetsbelastningar. Vissa funktioner kanske inte stöds eller kan vara begränsade.
Mer information finns i Kompletterande villkor för användning av Microsoft Azure-förhandsversioner.
 
Förutsättningar
Du behöver ett befintligt lagringskonto med delad nyckel auktorisering inaktiverad. Mer information om processen och konsekvenserna av att inaktivera auktorisering med delad nyckel för ditt lagringskonto finns i Förhindra auktorisering med delad nyckel för ett Azure Storage-konto.
              Installera SDK v2.
Viktigt!
Stegen i den här artikeln kräver azure-ai-ml Python-paketet version 1.17.0. Om du vill fastställa den installerade paketversionen använder du pip list kommandot från din Python-utvecklingsmiljö.
 
 
Installera azure-identity: pip install azure-identity. Om du arbetar i en notebook-cell använder du %pip install azure-identity.
 
Ange din prenumerationsinformation:
# Enter details of your subscription
subscription_id = "<SUBSCRIPTION_ID>"
resource_group = "<RESOURCE_GROUP>"
 
Få ett grepp om prenumerationen. All Python-kod i den här artikeln använder ml_client.
# get a handle to the subscription
from azure.ai.ml import MLClient
from azure.identity import DefaultAzureCredential
ml_client = MLClient(DefaultAzureCredential(), subscription_id, resource_group)
(Valfritt) Om du har flera konton lägger du till klient-ID:t för det Microsoft Entra-ID som du vill använda i DefaultAzureCredential. Hitta ditt klientorganisations-ID i Azure-portalen underExterna identiteter för >.
DefaultAzureCredential(interactive_browser_tenant_id="<TENANT_ID>")
 
(Valfritt) Om du arbetar i Azure Government – USA eller Azure som drivs av 21Vianet-regioner måste du ange det moln som du vill autentisera till. Du kan ange dessa regioner i DefaultAzureCredential.
from azure.identity import AzureAuthorityHosts
DefaultAzureCredential(authority=AzureAuthorityHosts.AZURE_GOVERNMENT))
 
 
Om du vill använda CLI-kommandona i det här dokumentet behöver du Azure CLI och Azure Machine Learning-tillägget.
Om du använder Azure Cloud Shell nås CLI via webbläsaren och det finns i molnet.
Viktigt!
Stegen i den här artikeln kräver Azure CLI-tillägget för Machine Learning, version 2.27.0 eller senare. Om du vill fastställa vilken version av tillägget som du har installerat använder az version du kommandot från Azure CLI. Leta reda på tillägget i tilläggssamlingen ml som returneras. Det här kodexemplet visar ett exempel på ett returvärde:
{
    "azure-cli": "2.61.0",
    "azure-cli-core": "2.61.0",
    "azure-cli-telemetry": "1.1.0",
    "extensions": {
        "ml": "2.27.0"
    }
}
 
- En befintlig Azure Key Vault-instans.
 
- Azure Resource Manager-ID:t för både lagringskontot och nyckelvalvet som ska användas med hubben.
 
 
Skapa en ny hubb
När du skapar en ny hubb kan skapandeprocessen automatiskt inaktivera åtkomst med delad nyckel. Du kan också skapa ett lagringskonto, inaktivera åtkomst med delad nyckel och använda det när hubben skapas.
Det här avsnittet visar hur du skapar en hubb med identitetsbaserad åtkomst till lagringskontot.
I Azure-portalen söker Azure AI Foundrydu efter . Välj AI Hubs på den vänstra menyn och välj + Skapa>hubb.
              
              
              
              
              
              
            
 
På fliken Grundläggande anger du hubbinformationen och väljer fliken Lagring . Välj det lagringskonto som du skapade tidigare.
              
              
              
              
              
              
            
 
På fliken Identitet anger du Åtkomst till lagringskonto till Identitetsbaserad åtkomst. Aktivera Inaktivera åtkomst till delad nyckel.
              
              
              
              
              
              
            
 
Fortsätt processen för att skapa hubben. När hubben skapas tilldelas den hanterade identiteten automatiskt de behörigheter som krävs för att få åtkomst till lagringskontot.
 
När du skapar din hubb med SDK anger du system_datastores_auth_mode="identity" för hubben. Om du vill använda ett befintligt lagringskonto använder du parametern storage_account för att ange Resource Manager-ID för ett befintligt lagringskonto:
# Creating a unique hub name with current datetime to avoid conflicts
from azure.ai.ml.entities import Hub
import datetime
hub_name = "mlw-hub-prod-" + datetime.datetime.now().strftime(
    "%Y%m%d%H%M"
)
ws_hub = Hub(
    name=hub_name,
    location="eastus",
    display_name="Hub-example",
    description="This example shows how to create a Hub",
    hbi_workspace=False,
    tags=dict(purpose="demo"),
    storage_account="{existing_storage_account with AllowSharedKeyAccess=false}",
    system_datastores_auth_mode="identity",
)
created_hub = ml_client.workspaces.begin_create(ws_hub).result()
print(created_hub)
Om du vill skapa en ny hubb med Microsoft Entra ID-auktorisering för lagringskontot använder du en YAML-konfigurationsfil som anger system_datastores_auth_mode till identity. Du kan också ange Resource Manager-ID för ett befintligt lagringskonto med storage_account posten .
I det här exemplet visar YAML-filen hur du ställer in hubben så att den använder en hanterad identitet och ett befintligt lagringskonto:
$schema: https://azuremlschemas.azureedge.net/latest/workspace.schema.json
name: mlw-basicex-prod
location: eastus
display_name: Bring your own dependent resources-example
description: This configuration specifies a workspace configuration with existing dependent resources
storage_account: <your-storage-account-resource-id>
system_datastores_auth_mode: identity
tags:
  purpose: demonstration
Du kan använda den här YAML-filen med az ml workspace create kommandot och parametern --file :
az ml workspace create -g <resource-group-name> --kind hub --file workspace.yml
I JSON-mallexemplet ersätter du dina egna värden med följande platshållare:
<workspace-name> 
<workspace-friendly-name> 
<storage-account-arm-resource-id> 
<key-vault-arm-resource-id> 
{
    "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "resources":
    [
        {
            "type": "Microsoft.MachineLearningServices/workspaces",
            "apiVersion": "2024-04-01",
            "name": "<workspace-name>",
            "location": "[resourceGroup().location]",
            "sku":
            {
                "name": "Basic",
                "tier": "Basic"
            },
            "kind": "Hub",
            "identity":
            {
                "type": "SystemAssigned"
            },
            "properties":
            {
                "friendlyName": "<workspace-friendly-name>",
                "storageAccount": "<storage-account-arm-resource-id>",
                "keyVault": "<key-vault-arm-resource-id>",
                "systemDatastoresAuthMode": "identity",
                "managedNetwork":
                {
                    "isolationMode": "Disabled"
                },
                "publicNetworkAccess": "Enabled"
            }
        }
    ]
}
Information om hur du distribuerar en Azure Resource Manager-mall (ARM-mall) finns i följande artiklar:
När du har skapat hubben identifierar du alla användare som behöver använda den, till exempel dataforskare. Användarna måste tilldelas rollerna Storage Blob Data Contributor och Storage File Data Privileged Contributor i rollbaserad åtkomstkontroll i Azure (RBAC) för lagringskontot. Om användarna bara behöver läsåtkomst använder du rollerna Storage Blob Data Reader och Storage File Data Privileged Reader i stället. Mer information finns i Rolltilldelningar.
 
Uppdatera en befintlig hubb
Om du har en befintlig Azure AI Foundry-hubb använder du stegen i det här avsnittet för att uppdatera hubben för att använda Microsoft Entra-ID för att auktorisera åtkomst till lagringskontot. Inaktivera sedan åtkomst med delad nyckel på lagringskontot.
Gå till Azure-portalen och välj Azure AI Foundry Hub.
 
Välj Egenskaper på den vänstra menyn. Längst ned i fönstret anger du Åtkomst till lagringskonto till Identitetsbaserad åtkomst. Spara konfigurationen genom att välja Spara överst i fönstret.
              
              
              
              
              
              
            
 
Om du vill uppdatera en befintlig hubb anger du system_datastores_auth_mode = "identity" för hubben. Följande kodexempel visar en uppdatering av en hubb med namnet test-ws1:
ml_client = MLClient(DefaultAzureCredential(), subscription_id, resource_group)
ws = ml_client.workspaces.get(name="test-ws1")
ws.system_datastores_auth_mode = "identity"
ws = ml_client.workspaces.begin_update(workspace=ws).result()
Om du vill uppdatera en befintlig hubb använder du az ml workspace update kommandot och anger --system-datastores-auth-mode identity. I följande exempel visas en uppdatering av en hubb med namnet myhub:
az ml workspace update --name myhub --system-datastores-auth-mode identity
I JSON-mallexemplet ersätter du dina egna värden med följande platshållare:
- 
              [arbetsytans namn]
 
- 
              [Eget namn på arbetsytan]
 
- 
              [ARM-resurs-ID för lagringskonto]
 
- 
              [Key Vault ARM-resurs-ID]
 
{
    "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "resources":
    [
        {
            "type": "Microsoft.MachineLearningServices/workspaces",
            "apiVersion": "2024-04-01",
            "name": "[workspace name]",
            "location": "[resourceGroup().location]",
            "sku":
            {
                "name": "Basic",
                "tier": "Basic"
            },
            "kind": "Hub",
            "identity":
            {
                "type": "SystemAssigned"
            },
            "properties":
            {
                "friendlyName": "[workspace friendly name]",
                "storageAccount": "[Storage Account ARM resource ID]",
                "keyVault": "[Key Vault ARM resource ID]",
                "systemDatastoresAuthMode": "identity",
                "managedNetwork":
                {
                    "isolationMode": "Disabled"
                },
                "publicNetworkAccess": "Enabled"
            }
        }
    ]
}
Information om hur du distribuerar en ARM-mall finns i följande artiklar:
 
Tilldela roller till användare
När du har uppdaterat hubben uppdaterar du lagringskontot för att inaktivera åtkomst med delad nyckel. Mer information finns i Förhindra auktorisering med delad nyckel för ett Azure Storage-konto.
Du måste också identifiera alla användare som behöver åtkomst till standarddatalager, till exempel dataforskare. Användarna måste tilldelas rollerna Storage Blob Data Contributor och Storage File Data Privileged Contributor i Azure RBAC för lagringskontot. Om användarna bara behöver läsåtkomst använder du rollerna Storage Blob Data Reader och Storage File Data Privileged Reader i stället. Mer information finns i avsnittet Rolltilldelningar .
Återgå till att använda delade nycklar
Använd följande information om du vill återställa en hubb till att använda delade nycklar för att komma åt lagringskontot.
Gå till Egenskaper och välj Autentiseringsbaserad åtkomst.
              
              
              
              
              
              
            
 
Välj Spara.
 
Konfigurera hubben så att den använder en delad nyckel igen genom att ange system_datastores_auth_mode = "accesskey" för hubben. Den här koden uppdaterar en hubb med namnet test-ws1:
ml_client = MLClient(DefaultAzureCredential(), subscription_id, resource_group)
ws = ml_client.workspaces.get(name="test-ws1")
ws.system_datastores_auth_mode = "accesskey"
ws = ml_client.workspaces.begin_update(workspace=ws).result()
Om du vill konfigurera hubben att använda en delad nyckel igen använder du az ml workspace update kommandot och anger --system-datastores-auth-mode accesskey. I det här exemplet uppdateras en hubb med namnet myhub:
az ml workspace update --name myhub --system-datastores-auth-mode accesskey
Om du har en befintlig Azure AI Foundry-hubb använder du stegen i det här avsnittet för att uppdatera hubben för att använda Microsoft Entra-ID för att auktorisera åtkomst till lagringskontot. Inaktivera sedan åtkomst med delad nyckel på lagringskontot.
I JSON-mallexemplet ersätter du dina egna värden med följande platshållare:
- 
              [arbetsytans namn]
 
- 
              [Eget namn på arbetsytan]
 
- 
              [ARM-resurs-ID för lagringskonto]
 
- 
              [Key Vault ARM-resurs-ID]
 
{
    "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "resources":
    [
        {
            "type": "Microsoft.MachineLearningServices/workspaces",
            "apiVersion": "2024-04-01",
            "name": "[workspace name]",
            "location": "[resourceGroup().location]",
            "sku":
            {
                "name": "Basic",
                "tier": "Basic"
            },
            "kind": "Hub",
            "identity":
            {
                "type": "SystemAssigned"
            },
            "properties":
            {
                "friendlyName": "[workspace friendly name]",
                "storageAccount": "[Storage Account ARM resource ID]",
                "keyVault": "[Key Vault ARM resource ID]",
                "systemDatastoresAuthMode": "accesskey",
                "managedNetwork":
                {
                    "isolationMode": "Disabled"
                },
                "publicNetworkAccess": "Enabled"
            }
        }
    ]
}
Information om hur du distribuerar en ARM-mall finns i följande artiklar:
När du har skapat hubben identifierar du alla användare som ska använda den, till exempel dataforskare. Användarna måste tilldelas rollerna Storage Blob Data Contributor och Storage File Data Privileged Contributor i Azure RBAC för lagringskontot. Om användarna bara behöver läsåtkomst använder du rollerna Storage Blob Data Reader och Storage File Data Privileged Reader i stället. Mer information finns i avsnittet Rolltilldelningar .
 
När du har återställt hubben uppdaterar du lagringskontot för att aktivera åtkomst till delad nyckel. Mer information finns i Förhindra auktorisering med delad nyckel för ett Azure Storage-konto.
Scenarier för rolltilldelningar för hubblagringskonto
Om du vill arbeta med ett lagringskonto med inaktiverad åtkomst med delad nyckel måste du bevilja fler roller till dina användare eller den hanterade identiteten för din hubb. Hubbar har en systemtilldelad hanterad identitet som standard. Vissa scenarier kräver en användartilldelad hanterad identitet. Den här tabellen sammanfattar scenarier som kräver extra rolltilldelningar.
| Scenarium | 
Microsoft Entra ID | 
Roller som krävs | 
Noteringar | 
| Azure AI Speech | 
Användarens identitet | 
Lagring Blob Data Bidragsgivare   Lagring Fil Data Privilegierad Bidragsgivare | 
 | 
| Modeller som en tjänst | 
Systemtilldelad hanterad identitet | 
Storage Blob Data-bidragsgivare | 
Hubbens hanterade identitet. 
               Tilldelas rollen automatiskt när du konfigurerar hubben. 
               Ändra inte rolltilldelningen manuellt. | 
| Azure AI-sökning | 
Systemtilldelad hanterad identitet | 
Storage Blob Data-bidragsgivare | 
Hubbens hanterade identitet. 
               Tilldelas rollen automatiskt när du konfigurerar hubben. 
               Ändra inte rolltilldelningen manuellt. | 
| Finjustering av programvarumodeller med öppen källkod | 
Användartilldelad hanterad identitet | 
Storage Blob Data-bidragsgivare | 
 | 
| Promptflöde | 
Användarens identitet | 
Lagring Blob Data Bidragsgivare   Lagring Fil Data Privilegierad Bidragsgivare | 
 | 
| Lägga till och hantera dina egna data | 
Användarens identitet | 
Storage Blob Data-bidragsgivare | 
 | 
Relaterat innehåll