Megosztás a következőn keresztül:


Naplók lekérdezése Azure-erőforrásokhoz

Az Azure Monitor Log Analyticsben a lekérdezések általában egy munkaterület kontextusában futnak. A munkaterületek számos erőforrás adatait tartalmazhatják, ami megnehezíti egy adott erőforrás adatainak elkülönítését. Az erőforrások emellett több munkaterületre is küldhetnek adatokat. A felhasználói élmény egyszerűsítése érdekében a REST API lehetővé teszi az Azure-erőforrások közvetlen lekérdezését a naplóikhoz.

Válaszformátum

Az Azure-erőforrás-lekérdezések ugyanazt a válaszalakzatot állítják elő, mint a Log Analytics-munkaterületet megcélzó lekérdezések.

URL-formátum

Fontolja meg egy teljesen minősített azonosítóval rendelkező Azure-erőforrást:

    /subscriptions/<sid>/resourceGroups/<rg>/providers/<providerName>/<resourceType>/<resourceName>

Az erőforrás naplóinak lekérdezése a közvetlen API-végponton a következő URL-címre kerül:

    https://api.loganalytics.azure.com/v1/subscriptions/<sid>/resourceGroups/<rg>/providers/<providerName>/<resourceType>/<resourceName>/query

Az ARM-en keresztül ugyanarra az erőforrásra vonatkozó lekérdezés a következő URL-címet használja:

    https://management.azure.com/subscriptions/<sid>/resourceGroups/<rg>/providers/<providerName>/<resourceType>/<resourceName>/providers/microsoft.insights/logs?api-version=2018-03-01-preview

Ez az URL-cím lényegében a teljes mértékben minősített Azure-erőforrás és a bővítményszolgáltató: /providers/microsoft.insights/logs.

Táblahozzáférés és RBAC

Az microsoft.insights erőforrás-szolgáltató egy új műveletkészletet tesz elérhetővé a naplókhoz való hozzáférés szabályozásához a tábla szintjén. Ezek a műveletek a következő formátumúak egy nevű tableNametáblához: .

    microsoft.insights/logs/<tableName>/read 

Ez az engedély hozzáadható a szerepkörökhöz a "actions" tulajdonsággal, hogy a megadott táblák és a notActions tulajdonság letilthassa a megadott táblákat.

Munkaterület hozzáférés-vezérlése

Ma az Azure-erőforrás-lekérdezések lehetséges adatforrásként tekintenek a Log Analytics-munkaterületekre. Előfordulhat azonban, hogy a rendszergazdák RBAC-szerepkörök használatával zárolták a munkaterülethez való hozzáférést. Alapértelmezés szerint az API csak olyan munkaterületek eredményeit adja vissza, amelyeket a felhasználó hozzáférésre jogosult.

Előfordulhat, hogy a munkaterület-rendszergazdák a meglévő RBAC feltörése nélkül szeretnének Azure-erőforrás-lekérdezéseket használni, olyan forgatókönyvet hozva létre, amelyben a felhasználónak hozzáférése van egy Azure-erőforrás naplóinak olvasásához, de előfordulhat, hogy nincs engedélye a naplókat tartalmazó munkaterület lekérdezésére. A munkaterület-rendszergazdák erőforrása a naplók a munkaterület logikai tulajdonságán keresztüli megtekintéséhez. Ez lehetővé teszi a felhasználók számára, hogy hozzáférjenek a cél Azure-erőforráshoz tartozó naplókhoz egy adott munkaterületen, amennyiben a felhasználó hozzáfér a cél Azure-erőforrás naplóinak olvasásához.

Ez a művelet a táblákhoz való hozzáférés hatókörének meghatározására a munkaterület szintjén:

    microsoft.operationalinsights/workspaces/query/<tableName>/read 

Hibaválaszok

Az alábbiakban röviden felsoroljuk az Azure-erőforrások lekérdezése során előforduló gyakori hibaforgatókönyveket, valamint a tüneti viselkedés leírását.

Az Azure-erőforrás nem létezik

    HTTP/1.1 404 Not Found 
    { 
        "error": { 
            "message": "The resource /subscriptions/7fd50ca7-1e78-4144-ab9c-0ec2faafa046/resourcegroups/test-rg/providers/microsoft.storage/storageaccounts/exampleResource was not found", 
            "code": "ResourceNotFoundError" 
        }
    }

Nincs hozzáférés az erőforráshoz

    HTTP/1.1 403 Forbidden 
    { 
        "error": { 
            "message": "The provided credentials have insufficient access to  perform the requested operation", 
            "code": "InsufficientAccessError", 
            "innererror": { 
                "code": "AuthorizationFailedError",
                "message": "User '92eba38a-70da-42b0-ab83-ffe82cce658f' does not have access to read logs for this resource" 
        } 
    }

Nincsenek naplók az erőforrásból, vagy nincs engedély a naplókat tartalmazó munkaterületre

Az adatok és engedélyek pontos kombinációjától függően a válasz egy 200-ból álló, eredményként kapott adatokat nem tartalmazó 200-ás értéket fog tartalmazni, vagy szintaxishibát (4xx hiba) jelez.

Részleges hozzáférés

Bizonyos esetekben előfordulhat, hogy a felhasználó részleges engedélyekkel rendelkezik egy adott erőforrás naplóihoz való hozzáféréshez. Ha egy felhasználó hiányzik:

  • Hozzáférés az Azure-erőforrás naplóit tartalmazó munkaterülethez
  • Hozzáférés a táblák hivatkozásához a lekérdezésben

A felhasználók normál választ kapnak, és az adatforrások esetében a felhasználó nem rendelkezik engedélyekkel a csendes szűréshez való hozzáféréshez. Ha meg szeretné tekinteni egy felhasználó Azure-erőforráshoz, a mögöttes Log Analytics-munkaterületekhez és adott táblákhoz való hozzáférésével kapcsolatos információkat, adja meg a fejlécet Prefer: include-permissions=true a kérésekkel együtt. Ez azt eredményezi, hogy a válasz JSON-jának tartalmaznia kell egy, a következőhöz hasonló szakaszt:

    { 
        "permissions": { 
            "resources": [ 
                { 
                    "resourceId": "/subscriptions/<id>/resourceGroups<id>/providers/Microsoft.Compute/virtualMachines/VM1", 
                    "dataSources": [ 
                        "/subscriptions/<id>/resourceGroups<id>/providers/Microsoft.OperationalInsights/workspaces/WS1" 
                    ] 
                }, 
                { 
                    "resourceId": "/subscriptions/<id>/resourceGroups<id>/providers/Microsoft.Compute/virtualMachines/VM2", 
                    "denyTables": [ 
                        "SecurityEvent", 
                        "SecurityBaseline" 
                    ], 
                    "dataSources": [ 
                        "/subscriptions/<id>/resourceGroups<id>/providers/Microsoft.OperationalInsights/workspaces/WS2",
                        "/subscriptions/<id>/resourceGroups<id>/providers/Microsoft.OperationalInsights/workspaces/WS3" 
                    ] 
                } 
            ], 
            "dataSources": [ 
                { 
                    "resourceId": "/subscriptions/<id>/resourceGroups<id>/providers/Microsoft.OperationalInsights/workspaces/WS1", 
                    "denyTables": [ 
                        "Tables.Custom" 
                    ] 
                }, 
                { 
                    "resourceId": "/subscriptions/<id>/resourceGroups<id>/providers/Microsoft.OperationalInsights/workspaces/WS2" 
                } 
            ] 
        } 
    } 

A resources hasznos adat két virtuális gép lekérdezésére tett kísérletet ismerteti. A VM1 adatokat küld a WS1 munkaterületnek, míg a VM2 két munkaterületnek küld adatokat: WS2 és WS3. Emellett a felhasználónak nincs engedélye az erőforrás vagy SecurityBaseline táblák SecurityEvent lekérdezésére.

A dataSources hasznos adat tovább szűri az eredményeket annak leírásával, hogy a felhasználó mely munkaterületeket kérdezheti le. Itt a felhasználó nem rendelkezik a WS3 lekérdezéséhez szükséges engedélyekkel, és egy további táblát szűrt ki a WS1-ből.

Annak egyértelmű megadása, hogy egy ilyen lekérdezés milyen adatokat ad vissza:

  • A VM1 naplói a WS1-ben, kivéve a Tables.Custom fájlt a munkaterületről.
  • A VM2 naplói, a SecurityEvent és a SecurityBaseline kivételével a WS2-ben.