Machtigingen en beveiliging voor experimenten (klassiek)

Important

Dit artikel is van toepassing op het verouderde resourcemodel Experimenten (klassiek). Microsoft ontwikkelt niet langer functies voor Experimenten (klassiek) en neemt alleen kritieke oplossingen, zoals beveiligingsupdates, in overweging voor backporting. Voor nieuwe tolerantietests gebruikt u Chaos Studio Werkruimten, waar ontwikkeling actief is. Zie Kiezen tussen Chaos Studio Werkruimten en Experimenten (klassiek) als u een resourcemodel wilt kiezen.

Opmerking

Als u Chaos Studio werkruimten gebruikt, voert de beheerde identiteit van de werkruimte namens u foutacties uit. In de portal wordt u gevraagd om ontbrekende rollen toe te wijzen aan de werkruimte-identiteit, zowel in de werkruimte als wanneer u een scenario configureert. Zie Hoe roltoewijzingen plaatsvinden voor meer informatie. De informatie op deze pagina is van toepassing wanneer u rechtstreeks experimenten maakt.

Met Azure Chaos Studio kunt u de servicetolerantie verbeteren door systematisch fouten in uw Azure-resources in te voegen. Foutinjectie is een krachtige manier om de servicetolerantie te verbeteren, maar het kan ook gevaarlijk zijn. Het veroorzaken van fouten in uw toepassing kan meer impact hebben dan oorspronkelijk bedoeld en open kansen voor kwaadwillende actoren om uw toepassingen te infiltreren.

Chaos Studio heeft een gelaagd machtigingsmodel dat voorkomt dat fouten onbedoeld of door een slechte actor worden uitgevoerd. In dit artikel leert u hoe u resources kunt beveiligen die zijn gericht op foutinjectie met behulp van Chaos Studio.

Hoe kan ik de mogelijkheid beperken om fouten met Chaos Studio te injecteren?

Chaos Studio heeft drie beveiligingsniveaus om te bepalen hoe en wanneer foutinjectie kan optreden tegen een resource:

  • Ten eerste is een chaos-experiment een Azure-resource die is geïmplementeerd in een regio, resourcegroep en abonnement. Gebruikers moeten over de juiste Azure Resource Manager-machtigingen beschikken om een experiment te maken, bij te werken, te starten, te annuleren, te verwijderen of weer te geven.

    Elke machtiging is een Resource Manager-bewerking die gedetailleerd kan worden toegewezen aan een identiteit of toegewezen als onderdeel van een rol met machtigingen voor jokertekens. Bijvoorbeeld, de rol Inzender in Azure heeft */write machtigingen voor het toegewezen bereik, waaronder Microsoft.Chaos/experiments/write machtiging.

    Wanneer u probeert de mogelijkheid te beheersen om fouten op een resource te injecteren, is de belangrijkste bewerking die u wilt beperken Microsoft.Chaos/experiments/start/action. Deze bewerking start een chaos-experiment dat fouten injecteert.

  • Ten tweede heeft een chaos-experiment een door het systeem toegewezen beheerde identiteit of een door de gebruiker toegewezen beheerde identiteit die fouten op een resource uitvoert. Als u ervoor kiest om een door het systeem toegewezen beheerde identiteit voor uw experiment te gebruiken, wordt de identiteit gemaakt tijdens het maken van het experiment in uw Microsoft Entra-tenant. Door de gebruiker toegewezen beheerde identiteiten kunnen worden gebruikt voor een willekeurig aantal experimenten.

    Wanneer u een chaos-experiment maakt in Azure Portal, kunt u ervoor kiezen om automatische roltoewijzing in te schakelen met behulp van ingebouwde Azure-rollen of een aangepaste rol op uw door het systeem toegewezen of door de gebruiker toegewezen beheerde identiteitselectie. Als u deze functionaliteit inschakelt, kan Chaos Studio ingebouwde Azure-rollen maken en toewijzen of een aangepaste rol met eventueel benodigde experimentactiemogelijkheden voor de identiteit van uw experiment (die nog niet aanwezig zijn in uw identiteitsselectie). Als een chaos-experiment een door de gebruiker toegewezen beheerde identiteit gebruikt, blijven aangepaste rollen die zijn toegewezen aan de experimentidentiteit door Chaos Studio behouden na verwijdering van het experiment.

    Als u ervoor kiest om de machtigingen voor uw experiment handmatig toe te kennen, moet u de identiteit de juiste machtigingen geven voor alle doelbronnen. Als de experimentidentiteit niet over de juiste machtigingen voor een resource beschikt, kan er geen fout worden uitgevoerd op die resource.

  • Ten derde moet elke resource worden geïmplementeerd in Chaos Studio als een doel waarvoor de bijbehorende mogelijkheden zijn ingeschakeld. Als een doel of de mogelijkheid voor de fout die wordt uitgevoerd niet bestaat, mislukt het experiment zonder dat dit van invloed is op de resource.

Door de gebruiker toegewezen beheerde identiteit

Een chaos-experiment kan gebruikmaken van een door de gebruiker toegewezen beheerde identiteit om voldoende machtigingen te verkrijgen om fouten op de doelbronnen van het experiment in te voeren. Daarnaast kunnen door de gebruiker toegewezen beheerde identiteiten worden gebruikt voor een willekeurig aantal experimenten in Chaos Studio. Als u deze functionaliteit wilt gebruiken, moet u het volgende doen:

  • Maak eerst een door de gebruiker toegewezen beheerde identiteit in de service Beheerde identiteiten . U kunt uw door de gebruiker toegewezen beheerde identiteit de vereiste machtigingen toewijzen om uw chaos-experiment(s) op dit moment uit te voeren.
  • Ten tweede selecteert u bij het maken van uw chaos-experiment in Azure Portal een door de gebruiker toegewezen beheerde identiteit uit uw abonnement. U kunt ervoor kiezen om automatische roltoewijzing in te schakelen met behulp van ingebouwde Azure-rollen of een aangepaste rol in deze stap. Als u deze functionaliteit inschakelt, zou uw identiteitskeuze de vereiste machtigingen kunnen krijgen die nodig zijn op basis van de gebreken in uw experiment.
  • Controleer ten derde, nadat u al uw fouten aan uw chaos-experiment hebt toegevoegd, of uw identiteitsconfiguratie alle benodigde acties bevat om uw chaosexperiment succesvol uit te voeren. Als dit niet het geval is, neemt u contact op met de systeembeheerder voor toegang tot of het bewerken van de foutselecties van uw experiment.

Vertegenwoordigerverificatie

Wanneer u agent-gebaseerde fouten uitvoert, moet u de Chaos Studio-agent installeren op uw virtuele machine (VM) of virtuele machineschaalset. De agent gebruikt een door de gebruiker toegewezen beheerde identiteit om te verifiëren bij Chaos Studio en een agentprofiel om een relatie tot stand te brengen met een specifieke VM-resource.

Wanneer u een VM of virtuele machineschaalset integreert voor agent-gebaseerde fouten, maakt u eerst een agent-doelwit. Het agentdoel moet een verwijzing hebben naar de door de gebruiker toegewezen beheerde identiteit die wordt gebruikt voor authenticatie. Het agentdoel bevat een agentprofiel-id, die wordt geleverd als configuratie wanneer u de agent installeert. Agentprofielen zijn uniek voor elk doel en doelen zijn uniek per resource.

Azure Resource Manager-bewerkingen en -rollen

Chaos Studio heeft de volgende handelingen:

Operatie Omschrijving
Microsoft.Chaos/targets/[Lezen,Schrijven,Verwijderen] Een doel ophalen, maken, bijwerken of verwijderen.
Microsoft.Chaos/targets/capabilities/[Lezen,Schrijven,Verwijderen] Een functie ophalen, maken, bijwerken of verwijderen.
Microsoft.Chaos/locations/targetTypes/Read Haal alle doeltypen op.
Microsoft.Chaos/locations/targetTypes/capabilityTypes/Read Alle capaciteittypen ophalen.
Microsoft.Chaos/experimenten/[Lezen,Schrijven,Verwijderen] Een chaos-experiment ophalen, maken, bijwerken of verwijderen.
Microsoft.Chaos/experimenten/start/actie Begin een chaos-experiment.
Microsoft.Chaos/experimenten/annuleren/actie Stop een chaos-experiment.
Microsoft.Chaos/experimenten/uitvoeringen/Lezen Haal de uitvoeringsstatus op voor een uitvoering van een chaos-experiment.
Microsoft.Chaos/experiments/executions/getExecutionDetails/action Haal de uitvoeringsdetails (status en fouten voor elke actie) op voor een uitvoering van een chaos-experiment.

Als u deze machtigingen gedetailleerd wilt toewijzen, kunt u een aangepaste rol maken. U kunt ook de volgende ingebouwde Azure-rollen gebruiken om de toegang tot Chaos Studio te beheren:

  • Chaos Studio Experiment Inzender: Kan details maken, uitvoeren en bekijken voor experimenten, onboarddoelen en beheermogelijkheden.
  • Chaos Studio Operator: kan details voor experimenten uitvoeren en bekijken, maar kan geen experimenten maken of doelen en mogelijkheden beheren.
  • Chaos Studio Reader: kan doelen, mogelijkheden, experimenten en experimentdetails bekijken.
  • Chaos Studio Target Contributor: Kan doelen onboarden en mogelijkheden beheren, maar kan geen details voor experimenten maken, uitvoeren of bekijken.

Zie RBAC DevOps-rollen voor gedetailleerdere informatie over deze ingebouwde rollen voor Chaos Studio-bewerkingen.

Netwerkbeveiliging

Alle gebruikersinteracties met Chaos Studio vinden plaats via Azure Resource Manager. Als een gebruiker een experiment start, kan het experiment communiceren met andere eindpunten dan Resource Manager, afhankelijk van de fout:

  • Service-directe fouten: de meeste service-directe fouten worden uitgevoerd via Azure Resource Manager en vereisen geen toegestane netwerkeindpunten op de lijst.
  • Service-directe AKS Chaos Mesh-fouten: Service-directe fouten voor Azure Kubernetes Service waarvoor Chaos Mesh wordt gebruikt, vereisen toegang tot de Kubernetes-API-server van het AKS-cluster. Verschillende methoden om de benodigde IP-adressen toe te voegen, zijn opgenomen in Het IP-adres van Chaos Studio autoriseren voor een AKS-cluster.
  • Agentgebaseerde fouten: Om agentgebaseerde fouten te gebruiken, moet de agent toegang hebben tot de Chaos Studio-agentservice. Een VM of virtuele machineschaalset moet uitgaande toegang hebben naar het agentdienst-eindpunt zodat de agent succesvol verbinding kan maken. Het service-eindpunt van de agent is https://acs-prod-<region>.chaosagent.trafficmanager.net. U moet de <region> tijdelijke aanduiding vervangen door de regio waar uw VIRTUELE machine is geïmplementeerd. Een voorbeeld is https://acs-prod-eastus.chaosagent.trafficmanager.net voor een VM in Oost US.
  • Privénetwerken op basis van agents: de Chaos Studio-agent ondersteunt nu privénetwerken. Zie Privénetwerken voor Chaos Agent.

Servicetags

Een servicetag is een groep IP-adresvoorvoegsels die kunnen worden toegewezen aan inkomende en uitgaande regels voor netwerkbeveiligingsgroepen. Het verwerkt automatisch updates van de groep IP-adresvoorvoegsels zonder tussenkomst. Omdat servicetags voornamelijk IP-adresfilters inschakelen, zijn servicetags alleen niet voldoende om verkeer te beveiligen.

U kunt servicetags gebruiken om binnenkomend verkeer vanuit Chaos Studio expliciet toe te staan zonder dat u de IP-adressen van het platform hoeft te kennen. Chaos Studio's servicetag is ChaosStudio.

Een beperking van servicetags is dat ze alleen kunnen worden gebruikt met toepassingen die een openbaar IP-adres hebben. Als een resource alleen een privé-IP-adres heeft, kunnen servicetags er geen verkeer naar routeren.

Gebruiksgevallen

Chaos Studio maakt gebruik van servicetags voor verschillende gebruiksvoorbeelden.

  • Als u gebruik wilt maken van fouten op basis van agents, moet de Chaos Studio-agent, die wordt uitgevoerd binnen de virtuele machines van de klant, communiceren met de back-endservice van Chaos Studio. Met de Service Tag kunnen klanten het verkeer van de virtuele machine naar de Chaos Studio-service op de whitelist zetten.
  • Als u bepaalde fouten wilt gebruiken die communicatie buiten de management.azure.com naamruimte vereisen, zoals Chaos Mesh-fouten voor Azure Kubernetes Service, komt verkeer van de Chaos Studio-service naar de klantresource. Met de servicetag kunnen klanten het verkeer van de Chaos Studio-service op de allowlist zetten voor toegang tot de doelresource.
  • Klanten kunnen andere servicetags gebruiken als onderdeel van de functionaliteit van netwerkbeveiligingsgroepsregels om het netwerkverkeer naar/van bepaalde Azure-services te beïnvloeden.

Door de ChaosStudio servicetag op te geven in beveiligingsregels, kan verkeer worden toegestaan of geweigerd voor de Chaos Studio-service zonder dat u afzonderlijke IP-adressen hoeft op te geven.

Beveiligingsoverwegingen

Bij het evalueren en gebruiken van servicetags is het belangrijk te weten dat ze geen gedetailleerde controle bieden over afzonderlijke IP-adressen en niet als enige methode voor het beveiligen van een netwerk moeten worden gebruikt. Ze zijn geen vervanging voor de juiste netwerkbeveiligingsmaatregelen.

Gegevensversleuteling

Chaos Studio versleutelt standaard alle gegevens. Chaos Studio accepteert alleen invoer voor systeemeigenschappen, zoals id's van beheerde identiteitsobjecten, experiment-/stap-/vertakkingsnamen en foutparameters. Een voorbeeld is het netwerkpoortbereik dat geblokkeerd moet worden bij een netwerkfout.

Deze eigenschappen mogen niet worden gebruikt voor het opslaan van gevoelige gegevens, zoals betalingsgegevens of wachtwoorden. Zie Azure-klantgegevensbescherming voor meer informatie over hoe Chaos Studio uw gegevens beveiligt.

Klantenkluis

Lockbox geeft u de controle om een verzoek van een Microsoft-ingenieur goed te keuren of af te wijzen om toegang te krijgen tot uw experimentgegevens bij een ondersteuningsverzoek.

Lockbox kan worden ingeschakeld voor informatie over chaos-experimenten en machtigingen voor toegang tot gegevens worden verleend door de klant op abonnementsniveau als lockbox is ingeschakeld.

Meer informatie over Customer Lockbox voor Microsoft Azure

Volgende stappen

Nu u begrijpt hoe u uw chaos-experiment kunt beveiligen, kunt u het volgende doen: