Поделиться через


Поддерживаемые типы ресурсов и назначения ролей для Chaos Studio

В следующей таблице перечислены поддерживаемые типы ресурсов для сбоев, целевые типы и предлагаемые роли, используемые при получении разрешения эксперимента ресурсу этого типа.

Дополнительные сведения о назначениях ролей можно найти на странице встроенных ролей Azure.

Тип ресурса Целевое имя или тип Предлагаемое назначение ролей
Microsoft.Cache/Redis (service-direct) Microsoft-AzureCacheForRedis Участник кэша Redis
Microsoft.ClassicCompute/domainNames (service-direct) Microsoft-DomainNames Участник классической виртуальной машины
Microsoft.Compute/virtualMachines (на основе агента) Microsoft-Agent Читатель
Microsoft.Compute/virtualMachineScaleSets (на основе агента) Microsoft-Agent Читатель
Microsoft.Compute/virtualMachines (service-direct) Microsoft-VirtualMachine Участник виртуальной машины
Microsoft.Compute/virtualMachineScaleSets (service-direct) Microsoft-VirtualMachineScaleSet Участник виртуальной машины
Microsoft.ContainerService/managedClusters (service-direct) Microsoft-AzureKubernetesServiceChaosMesh (рекомендуется) роль администратора RBAC Служба Azure Kubernetes и роль пользователя кластера Служба Azure Kubernetes
Microsoft.ContainerService/managedClusters (service-direct) Microsoft-AzureKubernetesServiceChaosMesh (только ошибка версии 2.1 с локальными учетными записями Kubernetes) Роль администратора кластера в Службе Azure Kubernetes
Microsoft.DocumentDb/databaseAccounts (Cosmos DB, service-direct) Microsoft-Cosmos DB Оператор Cosmos DB
Microsoft.Insights/autoscalesettings (service-direct) Microsoft-AutoScaleSettings Участник веб-плана
Microsoft.KeyVault/vaults (service-direct) Microsoft-KeyVault Участник Azure Key Vault
Microsoft.Network/networkSecurityGroups (service-direct) Microsoft-NetworkSecurityGroup Участник сети
Microsoft.Web/sites (service-direct) Microsoft-AppService Участник веб-сайта
Microsoft.ServiceBus/namespaces (service-direct) Microsoft-ServiceBus Владелец данных служебной шины Azure
Microsoft.EventHub/namespaces (service-direct) Microsoft-EventHub Владелец данных Центров событий Azure
Microsoft.LoadTestService/loadtests (service-direct) Microsoft-AzureLoadTest Участник нагрузочного теста

Пользовательские операции роли

Если вы предпочитаете не использовать перечисленные встроенные роли, можно создать пользовательские роли и назначить точные операции, необходимые для каждой ошибки. Это можно сделать двумя способами.

При создании эксперимента в портал Azure на вкладке "Разрешения" можно выбрать "Включить создание и назначение настраиваемых ролей", чтобы разрешить Chaos Studio развернуть пользовательскую роль с необходимыми операциями.

Кроме того, если вы не используете портал Azure или предпочитаете управлять операциями по отдельности, можно найти операции, необходимые для каждой ошибки, и вручную назначить их пользовательской роли. Чтобы узнать, какие роли необходимы для сбоя Chaos Studio, выполните следующую команду REST Azure CLI:

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

Пример см. в статье properties.azureRbacActions об properties.azureRbacDataActions ошибке отработки отказа 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"
}