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
Az Azure szerepköralapú hozzáférés-vezérlés (Azure RBAC) beépített szerepköröket biztosít a figyeléshez, amelyeket hozzárendelhet a felhasználókhoz, csoportokhoz, szolgáltatásnevekhez és felügyelt identitásokhoz. A leggyakoribb szerepkörök az olvasási és írási engedélyek figyelése és a figyelési közreműködők .
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.
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 az Azure Monitor REST API-val, PowerShell-parancsmagokkal vagy platformfüggetlen parancssori felülettel.
- A tevékenységnapló lekérdezése a portál, az Azure Monitor REST API, a PowerShell-parancsmagok vagy a platformfüggetlen parancssori felület használatával.
- Az erőforrás diagnosztikai beállításainak megtekintése.
- Előfizetés naplóprofiljának megtekintése.
- 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ületen.
- Access Application Insights-adatok.
Feljegyzés
Ez a szerepkör nem biztosít olvasási hozzáférést az eseményközpontba streamelt vagy tárfiókban tárolt naplóadatokhoz. Az erőforrásokhoz való hozzáférés konfigurálásáról a jelen cikk későbbi, az adatok monitorozásával kapcsolatos biztonsági szempontok című szakaszában olvashat.
Figyelé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 a Figyelési olvasó szerepkör egy szuperhalmaza. 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. 1
- 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.
1 Diagnosztikai beállítás létrehozásához vagy szerkesztéséhez a felhasználóknak külön kell megadniuk a ListKeys-engedélyt a célerőforráson (tárfiók vagy eseményközpont névterén).
Feljegyzés
Ez a szerepkör nem biztosít olvasási hozzáférést az eseményközpontba streamelt vagy tárfiókban tárolt naplóadatokhoz. Az erőforrásokhoz való hozzáférés konfigurálásáról a jelen cikk későbbi, az adatok monitorozásával kapcsolatos biztonsági szempontok című szakaszában olvashat.
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, létrehozhat egy azure-beli egyéni szerepkört részletes engedélyekkel.
Részletes engedélyekkel például létrehozhat egy Egyéni Azure-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/mySubscription")
New-AzRoleDefinition -Role $role
Feljegyzés
Az erőforrások riasztásaihoz, diagnosztikai beállításaihoz és metrikáihoz való hozzáféréshez a felhasználónak olvasási hozzáféréssel kell rendelkeznie az erőforrás erőforrástípusához és hatóköréhez. Ha olyan diagnosztikai beállítást hoz létre, amely adatokat küld egy tárfiókba vagy streameket az eseményközpontokba, a felhasználónak ListKeys-engedéllyel kell rendelkeznie a célerőforráson.
Szerepkör hozzárendelése
Feljegyzés
Javasoljuk, hogy az Azure Az PowerShell modult használja az Azure-ral való interakcióhoz. Első lépésként tekintse meg az Azure PowerShell telepítését ismertető témakört. Az Az PowerShell-modulra történő migrálás részleteiről lásd: Az Azure PowerShell migrálása az AzureRM modulból az Az modulba.
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 <RoleId>
a hozzárendelni kívánt RBAC monitorozási szerepkör-azonosítóra .
Cserélje le <SubscriptionID>
a , <ResourceGroupName>
és <UserPrincipalName>
a környezetének megfelelő értékeket.
# 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
Azure-szerepköröket is hozzárendelhet az Azure Portalon.
Fontos
- Győződjön meg arról, hogy rendelkezik a szerepkörök adott hatókörben való hozzárendeléséhez szükséges engedélyekkel. Tulajdonosi jogosultságokkal kell rendelkeznie az előfizetéshez vagy az erőforráscsoporthoz.
- A hozzáférés hozzárendelése abban az erőforráscsoportban vagy előfizetésben, amelyhez az erőforrás tartozik, és nem magában az erőforrásban.
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
(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, mindig használjon különböző tárfiókokat az adatok és más típusú adatok figyeléséhez. 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).
A figyeléssel kapcsolatos tárfiókokhoz való hozzáférés korlátozása
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
Ezután átadhatja a jogkivonatot annak az entitásnak, amelyet be kell olvasnia a tárfió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 az Azure RBAC-vel kell szabályoznia, akkor az adott entitásnak megadhatja 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. Létrehozhatja például a következő egyéni Azure-szerepkört egy olyan felhasználóhoz vagy alkalmazáshoz, 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/mySubscription/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.
A figyeléssel kapcsolatos eseményközpontokhoz való hozzáférés korlátozása
Hasonló mintát követhet az eseményközpontokkal, de először létre kell hoznia 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:
A portálon hozzon létre egy megosztott hozzáférési szabályzatot az eseményközpontokon, amelyek csak figyelési jogcímekkel rendelkező streamelési figyelési adatokhoz lettek létrehozva. 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.
Ha a fogyasztónak igény szerint le kell kérnie a kulcsot, adja meg a felhasználónak az adott eseményközpontHoz tartozó ListKeys műveletet. Ez a lépés azoknak a felhasználóknak is szükséges, akiknek diagnosztikai beállítást vagy naplóprofilt kell beállítaniuk az eseményközpontokba való streameléshez. 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/mySubscription/resourceGroups/myResourceGroup/providers/Microsoft.ServiceBus/namespaces/mySBNameSpace") New-AzRoleDefinition -Role $role