Tipos de recursos e atribuições de função compatíveis com o Chaos Studio
A tabela a seguir lista os tipos de recursos com suporte para falhas, os tipos de destino e as funções sugeridas a serem usadas quando você concede uma permissão de experimento a um recurso desse tipo.
Mais informações sobre atribuições de função podem ser encontradas na página de funções internas do Azure.
Tipo de recurso | Nome/tipo de destino | Atribuição de função sugerida |
---|---|---|
Microsoft.Cache/Redis (direto no serviço) | Microsoft-AzureCacheForRedis | Colaborador do Cache Redis |
Microsoft.ClassicCompute/domainNames (service-direct) | Microsoft-DomainNames | Colaborador de Máquina Virtual Clássica |
Microsoft.Compute/virtualMachines (com base em agente) | Microsoft-Agent | Leitor |
Microsoft.Compute/virtualMachineScaleSets (com base em agente) | Microsoft-Agent | Leitor |
Microsoft.Compute/virtualMachines (direto no serviço) | Microsoft-VirtualMachine | Colaborador de Máquina Virtual |
Microsoft.Compute/virtualMachineScaleSets (direto no serviço) | Microsoft-VirtualMachineScaleSet | Colaborador de Máquina Virtual |
Microsoft.ContainerService/managedClusters (direto no serviço) | Microsoft-AzureKubernetesServiceChaosMesh (recomendado) | Função de administrador do RBAC do Serviço de Kubernetes do Azure e função de usuário do cluster do serviço de Kubernetes do Azure |
Microsoft.ContainerService/managedClusters (direto no serviço) | Microsoft-AzureKubernetesServiceChaosMesh (versão de falha 2.1 somente com contas locais do Kubernetes) | Função de Administrador do Cluster do Serviço de Kubernetes do Azure |
Microsoft.DocumentDb/databaseAccounts (Cosmos DB, service-direct) | Microsoft-Cosmos DB | Operador de Cosmos DB |
Microsoft.Insights/autoscalesettings (service-direct) | Microsoft-AutoScaleSettings | Colaborador do Plano de Web |
Microsoft.KeyVault/vaults (service-direct) | Microsoft-KeyVault | Colaborador do Azure Key Vault |
Microsoft.Network/networkSecurityGroups (direto no serviço) | Microsoft-NetworkSecurityGroup | Colaborador de rede |
Microsoft.Web/sites (service-direct) | Microsoft-AppService | Colaborador do Site |
Microsoft.ServiceBus/namespaces (service-direct) | Microsoft-ServiceBus | Proprietário de dados do Barramento de Serviço do Azure |
Microsoft.EventHub/namespaces (service-direct) | Microsoft-EventHub | Proprietário de dados dos Hubs de Eventos do Azure |
Microsoft.LoadTestService/loadtests (service-direct) | Microsoft-AzureLoadTest | Colaborador do Teste de Carga |
Operações de função personalizadas
Se preferir não usar as funções integradas listadas, você pode criar funções personalizadas e atribuir as operações exatas necessárias para cada falha. Há duas maneiras de fazer isso.
Ao criar um experimento no portal do Azure, você pode selecionar "Habilitar criação e atribuição de função personalizada" na guia Permissões para permitir que o Chaos Studio implante uma função personalizada com as operações necessárias.
Como alternativa, se você não estiver usando o portal do Azure ou preferir gerenciar as operações individualmente, poderá encontrar as operações necessárias para cada falha e atribuí-las manualmente a uma função personalizada. Para ver quais funções são necessárias para uma falha do Chaos Studio, execute o seguinte comando REST da CLI do Azure:
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
Como exemplo, veja properties.azureRbacActions
e properties.azureRbacDataActions
para a falha de failover do 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"
}