Szerepkörök, engedélyek és biztonság az Azure Monitorban

Ez a cikk bemutatja, hogyan alkalmazhat szerepköralapú hozzáférés-vezérlési (RBAC) figyelési szerepköröket a hozzáférés megadására vagy korlátozására, és ismerteti az Azure Monitorhoz kapcsolódó erőforrások biztonsági szempontjait.

Beépített monitorozási szerepkörök

Azure szerepköralapú hozzáférés-vezérlés (Azure RBAC) beépített szerepköröket biztosít a monitorozáshoz a felhasználókhoz, csoportokhoz, szolgáltatásnevekhez és felügyelt identitásokhoz való hozzárendeléshez. A leggyakoribb szerepkörök a Monitoring Reader és a Monitoring Contributor az olvasási, illetve írási jogosultsághoz. Szerepkör hozzárendelésekor adja meg a szerepkör-hozzárendelés hatókörét. A szerepkörök az előfizetés, az erőforráscsoport vagy az erőforrás szintjén rendelhetők hozzá. Minél szélesebb a hatókör, annál több erőforrásra vonatkozik a szerepkör-hozzárendelés. Rendelje hozzá a szerepkört a megfelelő hatókörhöz, hogy a hozzáférést csak a felhasználó számára szükséges erőforrásokra korlátozza.

A monitorozási szerepkörökről további információt az RBAC monitorozási szerepkörei című témakörben talál.

Monitorozási olvasó és monitorozási közreműködő

A Figyelési közreműködő a Figyelési olvasó szuperhalmaza. Az alábbi táblázat egy pillantással összehasonlítja a két szerepkört. A képességek teljes listáját az alábbi szakaszokban találja.

Capability Figyelési olvasó Monitorozási közreműködő
Figyelési adatok, irányítópultok, metrikák és riasztások megtekintése Igen Igen
A tevékenységnapló és a Log Analytics-munkaterület adatainak lekérdezése Igen Igen
Diagnosztikai beállítások, automatikus méretezési beállítások és Application Insights-adatok megtekintése Igen Igen
Privát monitorozási irányítópultok létrehozása No Igen
Diagnosztikai beállítások létrehozása és szerkesztése No Igen 1
Riasztási szabályok és riasztási beállítások megadása No Igen
Megosztott kulcsok listázása Log Analytics munkaterülethez No Igen
Mentett keresések létrehozása, törlése és futtatása No Igen
Webes tesztek és összetevők létrehozása az Application Insightshoz No Igen

1ListKeys-előfeltétel: Olyan diagnosztikai beállítás létrehozása vagy szerkesztése, amely adatokat küld egy tárfiókba vagy streamel egy eseményközpontba, a Figyelési közreműködő szerepkör mellett a Célerőforrás (tárfiók vagy Event Hubs névtér) ListKeys-engedélyére is szükség van. Adja meg a ListKey-eket az erőforrás- vagy erőforráscsoport-hatókörben, soha ne előfizetési hatókörben azoknak a felhasználóknak, akiknek csak monitorozási hozzáférésre van szükségük. További részletekért tekintse meg az adatok monitorozásának biztonsági szempontjait.

Egyik szerepkör sem biztosít olvasási hozzáférést az eseményközpontba streamelt vagy tárfiókban tárolt naplóadatokhoz. Az adatokhoz való hozzáférés konfigurálásához tekintse meg az adatok monitorozásának biztonsági szempontjait.

Figyelési olvasó

A Figyelési olvasó szerepkörrel rendelkező személyek megtekinthetik az előfizetés összes monitorozási adatát, de nem módosíthatják az erőforrásokat, és nem szerkeszthetik az erőforrások figyelésével kapcsolatos beállításokat. Ez a szerepkör megfelelő a szervezet felhasználóinak, például a támogatási vagy üzemeltetési mérnököknek, akiknek a következőkre van szükségük:

  • Monitorozási irányítópultok megtekintése az Azure Portalon.
  • Az Azure-riasztásokban definiált riasztási szabályok megtekintése.
  • Azure Monitor metrikák lekérdezése a Azure Monitor REST API, PowerShell-parancsmagok vagy Azure CLI használatával.
  • A tevékenységnapló lekérdezése a portál, Azure Monitor REST API, PowerShell-parancsmagok vagy Azure CLI használatával.
  • Az erőforrás diagnosztikai beállításainak megtekintése.
  • Egy előfizetés naplóprofiljának megtekintése. A naplóprofilok régi funkciók a tevékenységnapló irányításához. Ne hozzon létre új függőségeket.
  • Automatikus méretezési beállítások megtekintése.
  • Riasztási tevékenység és beállítások megtekintése.
  • Keresse meg a Log Analytics-munkaterület adatait, beleértve a munkaterület használati adatait is.
  • Kérje le a táblázatsémákat egy Log Analytics-munkaterületen.
  • Naplólekérdezések lekérése és végrehajtása egy Log Analytics-munkaterületről.
  • Az Application Insights-adatok elérése.

Monitorozási közreműködő

A Figyelési közreműködő szerepkörrel rendelkező személyek megtekinthetik az előfizetés összes monitorozási adatát. Emellett létrehozhatnak és módosíthatnak monitorozási beállításokat, de nem módosíthatnak egyéb erőforrásokat.

Ez a szerepkör magában foglalja a Monitoring Reader szerepkör összes jogosultságát. A szervezet monitorozási csapatának tagjai vagy felügyelt szolgáltatók számára megfelelő, akiknek a korábban említett engedélyeken kívül a következőkre van szükségük:

  • Tekintse meg a monitorozási irányítópultokat a portálon, és hozzon létre saját privát monitorozási irányítópultokat.
  • Diagnosztikai beállítások létrehozása és szerkesztése egy erőforráshoz. A diagnosztikai beállítások létrehozásához vagy szerkesztéséhez a ListKeys előfeltétele is szükséges.
  • Riasztási szabály tevékenységeinek és beállításainak beállítása Az Azure-riasztások használatával.
  • Log Analytics-munkaterület megosztott kulcsainak listázása.
  • Mentett keresések létrehozása, törlése és végrehajtása Egy Log Analytics-munkaterületen.
  • Hozza létre és törölje a Log Analytics munkaterületi tárolókonfigurációját.
  • Webes tesztek és összetevők létrehozása az Application Insightshoz.

Engedélyek és egyéni Azure-szerepkörök figyelése

Ha a beépített szerepkörök nem felelnek meg a csapat igényeinek, hozzon létre egy Azure egyéni szerepkörtrészletes engedélyekkel.

Például részletes engedélyekkel hozzon létre egy Azure egyéni szerepkört egy tevékenységnapló-olvasóhoz az alábbi PowerShell-szkripttel.

$role = Get-AzRoleDefinition "Reader"
$role.Id = $null
$role.Name = "Activity Log Reader"
$role.Description = "Can view activity logs."
$role.Actions.Clear()
$role.Actions.Add("Microsoft.Insights/eventtypes/*")
$role.AssignableScopes.Clear()
$role.AssignableScopes.Add("/subscriptions/<SubscriptionId>")
New-AzRoleDefinition -Role $role 

Az erőforrás riasztásaihoz, diagnosztikai beállításaihoz és metrikáihoz való hozzáférés olvasási hozzáférést igényel az erőforrás erőforrástípusához és hatóköréhez. Egy diagnosztikai beállítás létrehozásához, amely adatokat küld egy tárfiókba vagy streameket egy eseményközpontba, a ListKeys előfeltétele is szükséges.

Szerepkör hozzárendelése

Szerepkör hozzárendelésével kapcsolatban lásd : Azure-szerepkörök hozzárendelése az Azure PowerShell használatával.

Az alábbi PowerShell-szkript például hozzárendel egy szerepkört egy adott felhasználóhoz.

Cserélje le a <RoleId> elemet a hozzárendelni kívánt RBAC Monitoring szerepkör azonosítójára.

Cserélje le a <SubscriptionID>, <ResourceGroupName> és <UserPrincipalName> elemeket a környezetének megfelelő értékre.

# Define variables
$SubscriptionId = "<SubscriptionID>"
$ResourceGroupName = "<ResourceGroupName>"
$UserPrincipalName = "<UserPrincipalName>"  # The UPN of the user to whom you want to assign the role
$RoleId = "<RoleId>"  # The ID of the role

# Get the user object
$User = Get-AzADUser -UserPrincipalName $UserPrincipalName

# Define the scope (e.g., subscription or resource group level)
$Scope = "/subscriptions/$SubscriptionId/resourceGroups/$ResourceGroupName"

# Assign the role
New-AzRoleAssignment -ObjectId $User.Id -RoleDefinitionId $RoleId -Scope $Scope

Ha inkább a portált szeretné használni, olvassa el Azure szerepkörök hozzárendelése a Azure portál használatával című témakört.

Fontos

  • Szerepkörök hozzárendeléséhez tulajdonosi, szerepköralapú Access Control rendszergazdai vagy felhasználói hozzáférés-rendszergazdai szerepkörre vagy egyéni szerepkörre van szükség a Microsoft.Authorization/roleAssignments/write céltartomány engedélyével.
  • Hozzáférés hozzárendelése előfizetéshez, erőforráscsoporthoz vagy erőforrás-hatókörhöz. Használja a követelményeknek leginkább megfelelő hatókört.

PowerShell-lekérdezés a szerepkör-tagság meghatározásához

Hasznos lehet egy adott szerepkörhöz tartozó felhasználók listájának létrehozása. Az ilyen típusú listák létrehozásához az alábbi minta lekérdezések módosíthatók az ön igényeinek megfelelően.

Teljes előfizetés lekérdezése rendszergazdai szerepkörökhöz és közreműködői szerepkörökhöz

A -IncludeClassicAdministrators paraméter, valamint a klasszikus ServiceAdministrator és CoAdministrator szerepkörök örökölt elemek. Azure 2024 augusztusában megszüntette a klasszikus rendszergazdai szerepköröket, így ez a lekérdezés gyakran nem ad vissza klasszikus rendszergazdai bejegyzéseket. Csak olyan környezetek esetében marad itt, amelyek továbbra is hivatkoznak ezekre a szerepkörökre.

(Get-AzRoleAssignment -IncludeClassicAdministrators | Where-Object {$_.RoleDefinitionName -in @('ServiceAdministrator', 'CoAdministrator', 'Owner', 'Contributor') } | Select -ExpandProperty SignInName | Sort-Object -Unique) -Join ", "

Lekérdezés egy adott Application Insights-erőforrás környezetében a tulajdonosok és közreműködők számára

$resourceGroup = "ResourceGroupName"
$resourceName = "AppInsightsName"
$resourceType = "microsoft.insights/components"
(Get-AzRoleAssignment -ResourceGroup $resourceGroup -ResourceType $resourceType -ResourceName $resourceName | Where-Object {$_.RoleDefinitionName -in @('Owner', 'Contributor') } | Select -ExpandProperty SignInName | Sort-Object -Unique) -Join ", "

Lekérdezés egy adott erőforráscsoport környezetében a tulajdonosok és közreműködők számára

$resourceGroup = "ResourceGroupName"
(Get-AzRoleAssignment -ResourceGroup $resourceGroup | Where-Object {$_.RoleDefinitionName -in @('Owner', 'Contributor') } | Select -ExpandProperty SignInName | Sort-Object -Unique) -Join ", "

Biztonsági szempontok az adatok monitorozásához

Az Azure Monitorban lévő adatok elküldhetők egy tárfiókban, vagy streamelhetők egy eseményközpontba, amelyek mindegyike általános célú Azure-erőforrás. Az általános célú erőforrások létrehozása, törlése és elérése egy rendszergazda számára fenntartott kiemelt művelet. Mivel ezek az adatok bizalmas információkat, például IP-címeket vagy felhasználóneveket tartalmazhatnak, a következő eljárásokkal megelőzheti a visszaélést:

  • Egyetlen dedikált tárfiók használata az adatok monitorozásához. Ha több tárfiókra kell különítenie a figyelési adatokat, a tárfiókokat csak az adatok monitorozására kell használni. Ha a tárfiókokat monitorozás céljából és más típusú adatokkal osztja meg, előfordulhat, hogy véletlenül hozzáférést ad más adatokhoz olyan szervezeteknek, amelyek csak a figyelési adatokhoz férhetnek hozzá. Egy nem Microsoft-szervezetnek például a biztonsági információkhoz és az eseménykezeléshez csak a figyelési adatokhoz kell hozzáférnie.
  • Használjon egyetlen dedikált service bus- vagy eseményközpont-névteret az összes diagnosztikai beállításban az előző pontban ismertetett okból.
  • A figyeléssel kapcsolatos tárfiókokhoz vagy eseményközpontokhoz való hozzáférés korlátozásához tartsa őket külön erőforráscsoportban. A figyelési szerepkörök hatókörének használatával korlátozhatja a hozzáférést csak az adott erőforráscsoportra.
  • Soha ne adjon ListKeys-engedélyt sem tárfiókokhoz, sem eseményközpontokhoz előfizetési hatókörben, ha a felhasználónak csak a figyelési adatokhoz kell hozzáférnie. Ehelyett adja meg ezeket az engedélyeket a felhasználónak egy erőforrás- vagy erőforráscsoport-hatókörben (ha dedikált figyelési erőforráscsoportot használ).

Ha egy felhasználónak vagy alkalmazásnak hozzáférésre van szüksége a tárfiókban lévő monitorozási adatokhoz, hozzon létre egy közös hozzáférésű jogosultságkódot (SAS) a tárfiókon, amely a blobtárolóhoz szolgáltatásszintű írásvédett hozzáféréssel rendelkező figyelési adatokat tartalmaz. A PowerShellben a fiók SAS-kódja a következő kódhoz hasonlóan nézhet ki:

$context = New-AzStorageContext -ConnectionString "[connection string for your monitoring Storage Account]"
$token = New-AzStorageAccountSASToken -ResourceType Service -Service Blob -Permission "rl" -Context $context

Adja meg a tokent annak az entitásnak, amelynek olvasnia kell abból a tárolófiókból. Az entitás az adott tárfiókban lévő összes blobból listázhat és olvashat.

Másik lehetőségként, ha ezt az engedélyt Azure RBAC-vel szeretné szabályozni, adja meg az adott entitásnak az Microsoft.Storage/storageAccounts/listkeys/action adott tárfiókra vonatkozó engedélyt. Erre az engedélyre azoknak a felhasználóknak van szükségük, akiknek diagnosztikai beállítást kell beállítaniuk ahhoz, hogy adatokat küldjenek egy tárfiókba. Hozzon létre például a következő Azure egyéni szerepkört egy olyan felhasználó vagy alkalmazás számára, akinek csak egy tárfiókból kell olvasnia:

$role = Get-AzRoleDefinition "Reader"
$role.Id = $null
$role.Name = "Monitoring Storage Account Reader"
$role.Description = "Can get the storage account keys for a monitoring storage account."
$role.Actions.Clear()
$role.Actions.Add("Microsoft.Storage/storageAccounts/listkeys/action")
$role.Actions.Add("Microsoft.Storage/storageAccounts/Read")
$role.AssignableScopes.Clear()
$role.AssignableScopes.Add("/subscriptions/<SubscriptionId>/resourceGroups/myResourceGroup/providers/Microsoft.Storage/storageAccounts/myMonitoringStorageAccount")
New-AzRoleDefinition -Role $role 

Figyelmeztetés

A ListKeys engedély lehetővé teszi, hogy a felhasználó listázhassa az elsődleges és másodlagos tárfiókkulcsokat. Ezek a kulcsok minden aláírt engedélyt (például olvasást, írást, blobok létrehozását és törlését) biztosítanak a felhasználónak az adott tárfiókban található összes aláírt szolgáltatás (blob, üzenetsor, tábla, fájl) között. Javasoljuk, hogy lehetőség szerint használjunk fiók SAS-t.

Kövesse az eseményközpontokhoz hasonló mintát, de először hozzon létre egy dedikált engedélyezési szabályt a figyeléshez. Ha olyan alkalmazáshoz szeretne hozzáférést adni, amely csak figyeléssel kapcsolatos eseményközpontokat szeretne figyelni, kövesse az alábbi lépéseket:

  1. A portálon hozzon létre egy megosztott hozzáférési szabályzatot a streamelési monitorozási adatokhoz létrehozott eseményközpontokban, csak figyelési jogosultságokkal. Nevezheti például "monitoringReadOnly"-nak. Ha lehetséges, adja meg ezt a kulcsot közvetlenül a fogyasztónak, és hagyja ki a következő lépést.

  2. Ha a fogyasztónak igény szerint le kell szereznie a kulcsot, adja meg a felhasználónak az ListKeys eseményközponthoz tartozó műveletet. Ez a lépés azoknak a felhasználóknak is szükséges, akiknek diagnosztikai beállítást kell beállítaniuk ahhoz, hogy eseményközpontba streameljenek. Létrehozhat például egy Azure RBAC-szabályt:

    $role = Get-AzRoleDefinition "Reader"
    $role.Id = $null
    $role.Name = "Monitoring Event Hub Listener"
    $role.Description = "Can get the key to listen to an event hub streaming monitoring data."
    $role.Actions.Clear()
    $role.Actions.Add("Microsoft.EventHub/namespaces/authorizationrules/listkeys/action")
    $role.Actions.Add("Microsoft.EventHub/namespaces/Read")
    $role.AssignableScopes.Clear()
    $role.AssignableScopes.Add("/subscriptions/<SubscriptionId>/resourceGroups/myResourceGroup/providers/Microsoft.EventHub/namespaces/myEventHubNamespace")
    New-AzRoleDefinition -Role $role 
    

Következő lépések