Machtigingen en beveiliging in Azure Chaos Studio
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 robuust 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. De rol Inzender in Azure heeft
*/write
bijvoorbeeld machtigingen voor het toegewezen bereik, inclusiefMicrosoft.Chaos/experiments/write
machtigingen.Wanneer u probeert de mogelijkheid te bepalen om fouten op een resource te injecteren, is
Microsoft.Chaos/experiments/start/action
de belangrijkste bewerking die u wilt beperken. 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 id's kunnen worden gebruikt voor een willekeurig aantal experimenten.
In een chaos-experiment kunt u ervoor kiezen om aangepaste roltoewijzing in te schakelen voor uw door het systeem toegewezen of door de gebruiker toegewezen beheerde identiteit. Als u deze functionaliteit inschakelt, kan Chaos Studio een aangepaste rol maken en toewijzen die alle benodigde experimentactiemogelijkheden bevat 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 uw experimentmachtigingen handmatig te verlenen, moet u de identiteit de juiste machtigingen verlenen 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 onboardd naar Chaos Studio als 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 een door de gebruiker toegewezen beheerde identiteit uit uw abonnement. U kunt ervoor kiezen om aangepaste roltoewijzing in te schakelen in deze stap. Als u deze functionaliteit inschakelt, verleent u uw identiteitsselectie alle vereiste machtigingen die nodig zijn op basis van de fouten 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.
Agentverificatie
Wanneer u op agents 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 onboardt voor fouten op basis van agents, maakt u eerst een agentdoel. Het agentdoel moet een verwijzing hebben naar de door de gebruiker toegewezen beheerde identiteit die wordt gebruikt voor verificatie. 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 bewerkingen:
Operation | Omschrijving |
---|---|
Microsoft.Chaos/targets/[Lezen,Schrijven,Verwijderen] | Een doel ophalen, maken, bijwerken of verwijderen. |
Microsoft.Chaos/targets/capabilities/[Lezen,Schrijven,Verwijderen] | Een mogelijkheid ophalen, maken, bijwerken of verwijderen. |
Microsoft.Chaos/locations/targetTypes/Read | Haal alle doeltypen op. |
Microsoft.Chaos/locations/targetTypes/capabilityTypes/Read | Alle mogelijkheidstypen ophalen. |
Microsoft.Chaos/experimenten/[Lezen,Schrijven,Verwijderen] | Een chaos-experiment ophalen, maken, bijwerken of verwijderen. |
Microsoft.Chaos/experimenten/start/action | 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.
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.
- Fouten op basis van agents: als u op agents gebaseerde fouten wilt gebruiken, moet de agent toegang hebben tot de Chaos Studio-agentservice. Een VM of virtuele-machineschaalset moet uitgaande toegang hebben tot het service-eindpunt van de agent om verbinding te kunnen maken met de agent. 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 hiervan ishttps://acs-prod-eastus.chaosagent.trafficmanager.net
voor een VIRTUELE machine in VS - oost. - 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 fouten op basis van agents wilt gebruiken, moet de Chaos Studio-agent die binnen virtuele machines van de klant wordt uitgevoerd, communiceren met de back-endservice van Chaos Studio. Met de servicetag kunnen klanten het verkeer van de virtuele machine naar de Chaos Studio-service toestaan.
- 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 naar de doelresource vermelden. - Klanten kunnen andere servicetags gebruiken als onderdeel van de fout netwerkbeveiligingsgroepsregels om het verkeer 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 moet worden geblokkeerd in een netwerkverbindingsfout.
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.
Klanten-lockbox
Lockbox geeft u het beheer om microsoft-engineeraanvraag goed te keuren of af te wijzen voor toegang tot uw experimentgegevens tijdens een ondersteuningsaanvraag.
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: