Felügyelt identitás használata az Azure Stream Analytics-feladat Azure Blob Storage-ba való hitelesítéséhez

Az Azure Blob Storage-hoz való kimenet felügyelt identitás-hitelesítése közvetlen hozzáférést biztosít a Stream Analytics-feladatokhoz egy tárfiókhoz a kapcsolati sztring használata helyett. A nagyobb biztonság mellett ez a funkció lehetővé teszi az adatok írását egy azure-beli virtuális hálózat (VNET) tárfiókjába is.

Ez a cikk bemutatja, hogyan engedélyezheti a Felügyelt identitást egy Stream Analytics-feladat blobkimenetéhez az Azure Portalon és egy Azure Resource Manager-üzembe helyezésen keresztül.

A Stream Analytics-feladat létrehozása az Azure Portal használatával

Először létrehoz egy felügyelt identitást az Azure Stream Analytics-feladathoz. 

  1. Az Azure Portalon nyissa meg az Azure Stream Analytics-feladatot. 

  2. A bal oldali navigációs menüben válassza a Konfigurálás területen található Felügyelt identitás lehetőséget. Ezután jelölje be a Rendszer által hozzárendelt felügyelt identitás használata melletti jelölőnégyzetet, és válassza a Mentés lehetőséget.

    System assigned managed identity

  3. A Stream Analytics-feladat identitásához tartozó szolgáltatásnév a Microsoft Entra-azonosítóban jön létre. Az újonnan létrehozott identitás életciklusát az Azure kezeli. A Stream Analytics-feladat törlésekor a társított identitást (azaz a szolgáltatásnevet) az Azure automatikusan törli. 

    A konfiguráció mentésekor a szolgáltatásnév objektumazonosítója (OID) az alábbiak szerint egyszerű azonosítóként jelenik meg:

    Principal ID

    A szolgáltatásnév neve megegyezik a Stream Analytics-feladat nevével. Ha például a feladat neve, MyASAJobakkor a szolgáltatásnév neve is MyASAJob. 

Az Azure Resource Manager üzembe helyezése

Az Azure Resource Manager használatával teljes mértékben automatizálhatja a Stream Analytics-feladat üzembe helyezését. Resource Manager-sablonokat az Azure PowerShell vagy az Azure CLI használatával helyezhet üzembe. Az alábbi példák az Azure CLI-t használják.

  1. A Microsoft.StreamAnalytics/streamingjobs erőforrást felügyelt identitással úgy hozhatja létre, hogy a Resource Manager-sablon erőforrásszakaszában szerepel a következő tulajdonság:

    "Identity": {
      "Type": "SystemAssigned",
    },
    

    Ez a tulajdonság arra utasítja az Azure Resource Managert, hogy hozza létre és kezelje a Stream Analytics-feladat identitását. Az alábbiakban egy példa Resource Manager-sablon látható, amely egy Stream Analytics-feladatot helyez üzembe a Felügyelt identitás engedélyezve van, valamint egy Blob kimeneti fogadót, amely felügyelt identitást használ:

    {
        "$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
        "contentVersion": "1.0.0.0",
        "resources": [
            {
                "apiVersion": "2017-04-01-preview",
                "name": "MyStreamingJob",
                "location": "[resourceGroup().location]",
                "type": "Microsoft.StreamAnalytics/StreamingJobs",
                "identity": {
                    "type": "systemAssigned"
                },
                "properties": {
                    "sku": {
                        "name": "standard"
                    },
                    "outputs":[
                        {
                            "name":"output",
                            "properties":{
                                "serialization": {
                                    "type": "JSON",
                                    "properties": {
                                        "encoding": "UTF8"
                                    }
                                },
                                "datasource":{
                                    "type":"Microsoft.Storage/Blob",
                                    "properties":{
                                        "storageAccounts": [
                                            { "accountName": "MyStorageAccount" }
                                        ],
                                        "container": "test",
                                        "pathPattern": "segment1/{date}/segment2/{time}",
                                        "dateFormat": "yyyy/MM/dd",
                                        "timeFormat": "HH",
                                        "authenticationMode": "Msi"
                                    }
                                }
                            }
                        }
                    ]
                }
            }
        ]
    }
    

    A fenti feladat az alábbi Azure CLI-paranccsal telepíthető az ExampleGroup erőforráscsoportba:

    az deployment group create --resource-group ExampleGroup -template-file StreamingJob.json
    
  2. A feladat létrehozása után az Azure Resource Managerrel lekérheti a feladat teljes definícióját.

    az resource show --ids /subscriptions/{SUBSCRIPTION_ID}/resourceGroups/{RESOURCE_GROUP}/providers/Microsoft.StreamAnalytics/StreamingJobs/{RESOURCE_NAME}
    

    A fenti parancs az alábbihoz hasonló választ ad vissza:

    {
        "id": "/subscriptions/{SUBSCRIPTION_ID}/resourceGroups/{RESOURCE_GROUP}/providers/Microsoft.StreamAnalytics/streamingjobs/{RESOURCE_NAME}",
        "identity": {
            "principalId": "{PRINCIPAL_ID}",
            "tenantId": "{TENANT_ID}",
            "type": "SystemAssigned",
            "userAssignedIdentities": null
        },
        "kind": null,
        "location": "West US",
        "managedBy": null,
        "name": "{RESOURCE_NAME}",
        "plan": null,
        "properties": {
            "compatibilityLevel": "1.0",
            "createdDate": "2019-07-12T03:11:30.39Z",
            "dataLocale": "en-US",
            "eventsLateArrivalMaxDelayInSeconds": 5,
            "jobId": "{JOB_ID}",
            "jobState": "Created",
            "jobStorageAccount": null,
            "jobType": "Cloud",
            "outputErrorPolicy": "Stop",
            "package": null,
            "provisioningState": "Succeeded",
            "sku": {
                "name": "Standard"
            }
        },
        "resourceGroup": "{RESOURCE_GROUP}",
        "sku": null,
        "tags": null,
        "type": "Microsoft.StreamAnalytics/streamingjobs"
    }
    

    Jegyezze fel a feladat definíciójában szereplő principalId azonosítót , amely azonosítja a feladat felügyelt identitását a Microsoft Entra-azonosítón belül, és a következő lépésben a Stream Analytics-feladatnak hozzáférést ad a tárfiókhoz.

  3. A feladat létrehozása után tekintse meg a cikk Tárfiókhoz való hozzáférésének biztosítása a Stream Analytics-feladathoz című szakaszát.

A Stream Analytics-feladat hozzáférésének biztosítása a tárfiókhoz

A Stream Analytics-feladathoz két hozzáférési szint közül választhat:

  1. Tárolószintű hozzáférés: ez a beállítás hozzáférést biztosít a feladatnak egy adott meglévő tárolóhoz.
  2. Fiókszintű hozzáférés: ez a beállítás általános hozzáférést biztosít a feladatnak a tárfiókhoz, beleértve az új tárolók létrehozását is.

Ha nincs szüksége arra a feladatra, hogy tárolókat hozzon létre az Ön nevében, a tárolószintű hozzáférést kell választania, mivel ez a beállítás megadja a feladat számára a minimális hozzáférési szintet. Mindkét lehetőséget az alábbiakban ismertetjük az Azure Portalon és a parancssorban.

Megjegyzés:

A globális replikáció vagy a gyorsítótárazás késése miatt előfordulhat, hogy az engedélyek visszavonása vagy megadása késhet. A módosításoknak 8 percen belül meg kell jelenniük.

Hozzáférés biztosítása az Azure Portalon keresztül

Tárolószintű hozzáférés

  1. Lépjen a tároló konfigurációs paneljére a tárfiókban.

  2. Select Access control (IAM).

  3. Válassza a Szerepkör-hozzárendelés hozzáadása>lehetőséget a Szerepkör-hozzárendelés hozzáadása lap megnyitásához.

  4. Rendelje hozzá a következő szerepkört. A részletes lépésekért tekintse meg az Azure-szerepköröknek az Azure Portalon történő hozzárendelését ismertető cikket.

    Beállítás Value
    Role Storage Blob Data Contributor
    Hozzáférés hozzárendelése a következőhöz: Felhasználó, csoport vagy szolgáltatásnév
    Tagok <A Stream Analytics-feladat neve>

    Screenshot that shows Add role assignment page in Azure portal.

Fiókszintű hozzáférés

  1. Navigate to your storage account.

  2. Select Access control (IAM).

  3. Válassza a Szerepkör-hozzárendelés hozzáadása>lehetőséget a Szerepkör-hozzárendelés hozzáadása lap megnyitásához.

  4. Rendelje hozzá a következő szerepkört. A részletes lépésekért tekintse meg az Azure-szerepköröknek az Azure Portalon történő hozzárendelését ismertető cikket.

    Beállítás Value
    Role Storage Blob Data Contributor
    Hozzáférés hozzárendelése a következőhöz: Felhasználó, csoport vagy szolgáltatásnév
    Tagok <A Stream Analytics-feladat neve>

    Screenshot that shows Add role assignment page in Azure portal.

Hozzáférés biztosítása a parancssoron keresztül

Tárolószintű hozzáférés

Egy adott tárolóhoz való hozzáférés biztosításához futtassa a következő parancsot az Azure CLI használatával:

az role assignment create --role "Storage Blob Data Contributor" --assignee <principal-id> --scope /subscriptions/<subscription-id>/resourcegroups/<resource-group>/providers/Microsoft.Storage/storageAccounts/<storage-account>/blobServices/default/containers/<container-name>

Fiókszintű hozzáférés

A teljes fiókhoz való hozzáférés biztosításához futtassa a következő parancsot az Azure CLI használatával:

az role assignment create --role "Storage Blob Data Contributor" --assignee <principal-id> --scope /subscriptions/<subscription-id>/resourcegroups/<resource-group>/providers/Microsoft.Storage/storageAccounts/<storage-account>

Blobbemenet vagy -kimenet létrehozása

Most, hogy konfigurálta a felügyelt identitást, készen áll arra, hogy bemenetként vagy kimenetként adja hozzá a bloberőforrást a Stream Analytics-feladathoz.

  1. Az Azure Blob Storage kimeneti fogadójának kimeneti tulajdonságok ablakában válassza a Hitelesítési mód legördülő menüt, és válassza a Felügyelt identitás lehetőséget. A többi kimeneti tulajdonságról további információt az Azure Stream Analytics kimeneteinek ismertetése című témakörben talál. Ha végzett, kattintson a Mentés gombra.

    Configure Azure Blob storage output

VNET-hozzáférés engedélyezése

A tárfiók tűzfalainak és virtuális hálózatainak konfigurálásakor opcionálisan engedélyezheti a hálózati forgalmat más megbízható Microsoft-szolgáltatások. Ha a Stream Analytics felügyelt identitással hitelesít, az igazolja, hogy a kérés megbízható szolgáltatásból származik. Az alábbiakban a virtuális hálózatok hozzáférési kivételének engedélyezésére vonatkozó utasításokat találja.

  1. Lépjen a tárfiók konfigurációs paneljén található "Tűzfalak és virtuális hálózatok" panelre.
  2. Győződjön meg arról, hogy a "Megbízható Microsoft-szolgáltatások hozzáférésének engedélyezése ehhez a tárfiókhoz" beállítás engedélyezve van.
  3. Ha engedélyezte, kattintson a Mentés gombra.

Enable VNET access

Felügyelt identitás eltávolítása

A Stream Analytics-feladathoz létrehozott felügyelt identitás csak a feladat törlésekor törlődik. A felügyelt identitás nem törölhető a feladat törlése nélkül. Ha már nem szeretné használni a felügyelt identitást, módosíthatja a kimenet hitelesítési módját. A felügyelt identitás a feladat törléséig továbbra is létezik, és akkor lesz használatban, ha úgy dönt, hogy ismét használja a felügyelt identitás hitelesítését.

Korlátozások

Az alábbiakban a funkció aktuális korlátait ismertetjük:

  1. Klasszikus Azure Storage-fiókok.

  2. Azure-fiókok Microsoft Entra-azonosító nélkül.

  3. A több-bérlős hozzáférés nem támogatott. Az adott Stream Analytics-feladathoz létrehozott szolgáltatásnévnek ugyanabban a Microsoft Entra-bérlőben kell lennie, amelyben a feladatot létrehozták, és nem használható olyan erőforrással, amely egy másik Microsoft Entra-bérlőben található.

Következő lépések