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"
}