Tipi di risorse e assegnazioni di ruolo supportati per Chaos Studio
Nella tabella seguente sono elencati i tipi di risorse supportati per gli errori, i tipi di destinazione e i ruoli suggeriti da usare quando si concede a un esperimento un'autorizzazione per una risorsa di tale tipo.
Altre informazioni sulle assegnazioni di ruolo sono disponibili nella pagina dei ruoli predefiniti di Azure.
Tipo di risorsa | Nome/tipo di destinazione | Assegnazione di ruolo suggerita |
---|---|---|
Microsoft.Cache/Redis (diretto al servizio) | Microsoft-AzureCacheForRedis | Collaboratore cache Redis |
Microsoft.ClassicCompute/domainNames (diretto al servizio) | Microsoft-DomainNames | Collaboratore macchine virtuali classiche |
Microsoft.Compute/virtualMachines (basato su agente) | Microsoft-Agent | Lettore |
Microsoft.Compute/virtualMachineScaleSets (basato su agente) | Microsoft-Agent | Lettore |
Microsoft.Compute/virtualMachines (diretto al servizio) | Microsoft-VirtualMachine | Collaboratore macchine virtuali |
Microsoft.Compute/virtualMachineScaleSets (diretto al servizio) | Microsoft-VirtualMachineScaleSet | Collaboratore macchine virtuali |
Microsoft.ContainerService/managedClusters (diretto al servizio) | Microsoft-AzureKubernetesServiceChaosMesh (scelta consigliata) | servizio Azure Kubernetes ruolo amministratore controllo degli accessi in base al ruolo e ruolo utente del cluster servizio Azure Kubernetes |
Microsoft.ContainerService/managedClusters (diretto al servizio) | Microsoft-AzureKubernetesServiceChaosMesh (versione di errore 2.1 solo con account locali Kubernetes) | Ruolo di amministratore del cluster del servizio Azure Kubernetes |
Microsoft.DocumentDb/databaseAccounts (Cosmos DB, diretto al servizio) | Microsoft-Cosmos DB | Operatore di Cosmos DB |
Microsoft.Insights/autoscalesettings (diretto al servizio) | Microsoft-AutoScaleSettings | Collaboratore piani Web |
Microsoft.KeyVault/vaults (diretto al servizio) | Microsoft-KeyVault | Collaboratore di Azure Key Vault |
Microsoft.Network/networkSecurityGroups (diretto al servizio) | Microsoft-NetworkSecurityGroup | Collaboratore di rete |
Microsoft.Web/sites (diretto al servizio) | Microsoft-AppService | Collaboratore siti Web |
Microsoft.ServiceBus/namespaces (diretto al servizio) | Microsoft-ServiceBus | Proprietario dei dati del bus di servizio di Azure |
Microsoft.EventHub/namespaces (diretto al servizio) | Microsoft-EventHub | Proprietario dei dati di Hub eventi di Azure |
Microsoft.LoadTestService/loadtests (diretto al servizio) | Microsoft-AzureLoadTest | Collaboratore test di carico |
Operazioni di ruolo personalizzate
Se si preferisce non usare i ruoli predefiniti elencati, è possibile creare ruoli personalizzati e assegnare le operazioni esatte necessarie per ogni errore. Per eseguire questa operazione è possibile procedere in due modi:
Durante la creazione di un esperimento all'interno del portale di Azure, è possibile selezionare "Abilita creazione e assegnazione di ruoli personalizzati" nella scheda Autorizzazioni per consentire a Chaos Studio di distribuire un ruolo personalizzato con le operazioni necessarie.
In alternativa, se non si usa il portale di Azure o si preferisce gestire le operazioni singolarmente, è possibile trovare le operazioni necessarie per ogni errore e assegnarle manualmente a un ruolo personalizzato. Per vedere quali ruoli sono necessari per un errore di Chaos Studio, eseguire il comando REST dell'interfaccia della riga di comando di Azure seguente:
az rest --method get --uri https://management.azure.com/subscriptions/$SUBSCRIPTION_ID/providers/Microsoft.Chaos/locations/eastus/targetTypes/$TARGET_TYPE/capabilityTypes/$CAPABILITY_NAME?api-version=2024-01-01
Ad esempio, vedere properties.azureRbacActions
e properties.azureRbacDataActions
per l'errore di failover di Cosmos DB.
> az rest --method get --url "https://management.azure.com/subscriptions/$SUBSCRIPTION_ID/providers/Microsoft.Chaos/locations/eastus/targetTypes/Microsoft-CosmosDB/capabilityTypes/Failover-1.0?api-version=2024-01-01"
{
"id": "/subscriptions/$SUBSCRIPTION_ID/providers/Microsoft.Chaos/locations/eastus/targetTypes/CosmosDB/capabilityTypes/Failover-1.0",
"location": "eastus",
"name": "Failover-1.0",
"properties": {
"azureRbacActions": [
"Microsoft.DocumentDB/databaseAccounts/read",
"Microsoft.DocumentDB/databaseAccounts/failoverPriorityChange/action"
],
"azureRbacDataActions": null,
"description": "",
"displayName": "",
"kind": "Fault",
"parametersSchema": "https://schema-tc.eastus.chaos-prod.azure.com/targetTypes/Microsoft-CosmosDB/capabilityTypes/Failover-1.0/parametersSchema.json",
"publisher": "Microsoft",
"runtimeProperties": {
"kind": "Continuous"
},
"targetType": "CosmosDB",
"urn": "urn:csci:microsoft:cosmosDB:failover/1.0"
},
"systemData": {
"createdAt": "2024-10-10T17:28:41.7377834+00:00",
"createdByType": "Application",
"lastModifiedAt": "2024-10-10T17:28:41.7377834+00:00"
},
"type": "Microsoft.Chaos/locations/targetTypes/capabilityTypes"
}