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ű tableName
tá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.
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: