Události
Vytváření inteligentních aplikací
17. 3. 21 - 21. 3. 10
Připojte se k řadě meetupů a vytvořte škálovatelná řešení AI založená na skutečných případech použití s kolegy vývojáři a odborníky.
ZaregistrovatTento prohlížeč se už nepodporuje.
Upgradujte na Microsoft Edge, abyste mohli využívat nejnovější funkce, aktualizace zabezpečení a technickou podporu.
Tento článek ukazuje, jak použít role monitorování řízení přístupu na základě role (RBAC) k udělení nebo omezení přístupu a popisuje aspekty zabezpečení pro prostředky související se službou Azure Monitor.
Řízení přístupu na základě role v Azure (Azure RBAC) poskytuje integrované role pro monitorování, které můžete přiřadit uživatelům, skupinám, instančním objektům a spravovaným identitám. Nejběžnějšími rolemi jsou Čtenář monitorování a Přispěvatel monitorování pro oprávnění ke čtení a zápisu.
Uživatelé s přiřazenou rolí Čtenář monitorování můžou zobrazit všechna data monitorování v předplatném, ale nemůžou upravovat žádné prostředky ani nastavení související s monitorováním prostředků. Tato role je vhodná pro uživatele v organizaci, jako je podpora nebo provozní technici, kteří potřebují:
Poznámka
Tato role neuděluje přístup pro čtení k datům protokolu streamovaným do centra událostí nebo uloženým v účtu úložiště. Informace o tom, jak nakonfigurovat přístup k těmto prostředkům, najdete v části Aspekty zabezpečení pro monitorování dat dále v tomto článku.
Uživatelé s přiřazenou rolí Přispěvatel monitorování můžou zobrazit všechna data monitorování v předplatném. Můžou také vytvářet nebo upravovat nastavení monitorování, ale nemůžou upravovat žádné jiné prostředky.
Tato role je nadmnožinou role Čtenář monitorování. Je vhodné pro členy monitorovacího týmu organizace nebo poskytovatelů spravovaných služeb, kteří kromě výše uvedených oprávnění potřebují:
1 Chcete-li vytvořit nebo upravit nastavení diagnostiky, musí být uživatelům také uděleno oprávnění ListKeys k cílovému prostředku (účet úložiště nebo obor názvů centra událostí).
Poznámka
Tato role neuděluje přístup pro čtení k datům protokolu streamovaným do centra událostí nebo uloženým v účtu úložiště. Informace o tom, jak nakonfigurovat přístup k těmto prostředkům, najdete v části Aspekty zabezpečení pro monitorování dat dále v tomto článku.
Pokud předdefinované role nevyhovují potřebám vašeho týmu, můžete vytvořit vlastní roli Azure s podrobnými oprávněními.
Pomocí podrobných oprávnění můžete například vytvořit vlastní roli Azure pro čtenář protokolu aktivit pomocí následujícího skriptu PowerShellu.
$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
Poznámka
Přístup k upozorněním, nastavením diagnostiky a metrikám prostředku vyžaduje, aby uživatel získal přístup pro čtení k typu prostředku a rozsahu daného prostředku. Vytvoření nastavení diagnostiky, které odesílá data do účtu úložiště nebo datových proudů do center událostí, vyžaduje, aby měl uživatel také oprávnění ListKeys k cílovému prostředku.
Poznámka
Při práci s Azure doporučujeme používat modul Azure Az PowerShellu. Začněte tím, že si projdete téma Instalace Azure PowerShellu. Informace o tom, jak migrovat na modul Az PowerShell, najdete v tématu Migrace Azure PowerShellu z AzureRM na Az.
Pokud chcete přiřadit roli, přečtěte si téma Přiřazení rolí Azure pomocí Azure PowerShellu.
Například následující skript PowerShellu přiřadí zadanému uživateli roli.
Nahraďte <RoleId>
ID role monitorování RBAC, které chcete přiřadit.
Nahraďte a <ResourceGroupName>
<UserPrincipalName>
nahraďte <SubscriptionID>
odpovídajícími hodnotami pro vaše prostředí.
# 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
Role Azure můžete také přiřadit pomocí webu Azure Portal.
Důležité
Může být užitečné generovat seznamy uživatelů, kteří patří do dané role. Pokud chcete pomoct s generováním těchto typů seznamů, můžete upravit následující ukázkové dotazy tak, aby vyhovovaly vašim konkrétním potřebám.
(Get-AzRoleAssignment -IncludeClassicAdministrators | Where-Object {$_.RoleDefinitionName -in @('ServiceAdministrator', 'CoAdministrator', 'Owner', 'Contributor') } | Select -ExpandProperty SignInName | Sort-Object -Unique) -Join ", "
$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 ", "
$resourceGroup = "ResourceGroupName"
(Get-AzRoleAssignment -ResourceGroup $resourceGroup | Where-Object {$_.RoleDefinitionName -in @('Owner', 'Contributor') } | Select -ExpandProperty SignInName | Sort-Object -Unique) -Join ", "
Data ve službě Azure Monitor je možné odesílat v účtu úložiště nebo streamovat do centra událostí, z nichž obě jsou prostředky Azure pro obecné účely. Vytváření, odstraňování a přístup k prostředkům pro obecné účely je privilegovaná operace vyhrazená pro správce. Vzhledem k tomu, že tato data mohou obsahovat citlivé informace, jako jsou IP adresy nebo uživatelská jména, použijte následující postupy pro monitorování prostředků souvisejících s monitorováním, aby se zabránilo zneužití:
Když uživatel nebo aplikace potřebuje přístup k datům monitorování v účtu úložiště, vygenerujte sdílený přístupový podpis (SAS) v účtu úložiště, který obsahuje data monitorování s přístupem jen pro čtení na úrovni služby k úložišti objektů blob. V PowerShellu může SAS účtu vypadat jako následující kód:
$context = New-AzStorageContext -ConnectionString "[connection string for your monitoring Storage Account]"
$token = New-AzStorageAccountSASToken -ResourceType Service -Service Blob -Permission "rl" -Context $context
Token pak můžete dát entitě, která potřebuje číst z daného účtu úložiště. Entita může vypsat a číst ze všech objektů blob v daném účtu úložiště.
Pokud potřebujete toto oprávnění řídit pomocí Azure RBAC, můžete této entitě Microsoft.Storage/storageAccounts/listkeys/action
udělit oprávnění k tomuto konkrétnímu účtu úložiště. Toto oprávnění je nezbytné pro uživatele, kteří potřebují nastavit nastavení diagnostiky pro odesílání dat do účtu úložiště. Můžete například vytvořit následující vlastní roli Azure pro uživatele nebo aplikaci, která potřebuje číst jenom z jednoho účtu úložiště:
$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
Upozornění
Oprávnění ListKeys umožňuje uživateli vypsat primární a sekundární klíče účtu úložiště. Tyto klíče uživateli udělují všechna podepsaná oprávnění (například čtení, zápis, vytváření objektů blob a odstraňování objektů blob) ve všech podepsaných službách (blob, fronta, tabulka, soubor) v tomto účtu úložiště. Pokud je to možné, doporučujeme použít SAS účtu.
U center událostí můžete postupovat podle podobného vzoru, ale nejprve musíte vytvořit vyhrazené autorizační pravidlo pro naslouchání. Pokud chcete udělit přístup k aplikaci, která potřebuje jenom naslouchat centrem událostí souvisejícím s monitorováním, postupujte takto:
Na portálu vytvořte zásadu sdíleného přístupu v centrech událostí, která byla vytvořena pro streamování dat monitorování, pouze s nasloucháním deklarací identity. Můžete ho například volat "monitoringReadOnly". Pokud je to možné, dejte ho přímo příjemci a přeskočte další krok.
Pokud uživatel potřebuje získat klíč na vyžádání, udělte uživateli akci ListKeys pro toto centrum událostí. Tento krok je také nezbytný pro uživatele, kteří potřebují nastavit nastavení diagnostiky nebo profil protokolu pro streamování do center událostí. Můžete například vytvořit pravidlo Azure RBAC:
$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
Události
Vytváření inteligentních aplikací
17. 3. 21 - 21. 3. 10
Připojte se k řadě meetupů a vytvořte škálovatelná řešení AI založená na skutečných případech použití s kolegy vývojáři a odborníky.
ZaregistrovatŠkolení
Modul
Zabezpečení prostředků Azure pomocí řízení přístupu na základě role (RBAC) v Azure - Training
Naučte se používat řízení přístupu na základě role v Azure k efektivní správě přístupu týmu k prostředkům Azure.
Certifikace
Microsoft Certified: Správce Azure - Specialista - Certifications
Předvedení klíčových dovedností ke konfiguraci, správě, zabezpečení a správě klíčových profesionálních funkcí v Microsoft Azure