Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
In dit artikel leert u hoe u continue patches installeert, inschakelt en configureert. Continu patchen wanneer ingeschakeld voor een containerregister zal beveiligingsproblemen op besturingssysteemniveau automatisch voor containerafbeeldingen detecteren en herstellen.
Vereiste voorwaarden
- U kunt De Azure Cloud Shell of een lokale installatie van de Azure CLI gebruiken met minimaal versie 2.15.0 of hoger.
- U hebt een bestaande resourcegroep met een Azure Container Registry (ACR).
- U hebt een Azure Container Registry waarvoor ACR Tasks is ingeschakeld (ACR Tasks wordt niet ondersteund in de gratis laag van ACR).
Voer de volgende opdracht uit om de CLI-extensie te installeren:
az extension add -n acrcssc
De werkstroom voor continue patches inschakelen
Meld u aan bij Azure CLI met az login.
az loginMeld u aan bij ACR.
az acr login -n <myRegistry>Voer de volgende opdracht uit om een bestand met de naam
continuouspatching.jsonte maken.cat <<EOF > continuouspatching.json { "version": "v1", "tag-convention" : "<incremental|floating>", "repositories": [{ "repository": "<Repository Name>", "tags": ["<comma-separated-tags>"], "enabled": <true|false> }] } EOFHet schema neemt specifieke opslagplaatsen en tags op in een array-indeling. Elke variabele wordt hier gedefinieerd:
versionhiermee kan het ACR-team bijhouden welke schemaversie u gebruikt. Wijzig deze variabele alleen als u hier instructies voor hebt gegeven.tag-conventionis een optioneel veld. Toegestane waarden zijn 'incrementeel' of 'zwevend'. Raadpleeg de belangrijkste concepten van continue patches voor meer informatie.repositoriesis een matrix die gedetailleerde opslagplaats- en taggegevens bevat:-
repositoryverwijst naar de naam van de opslagplaats -
tagsis een matrix met tags, gescheiden door komma's. Het jokerteken*kan worden gebruikt om alle tags in die opslagplaats aan te duiden. -
enabledis een Booleaanse waarde (waar of onwaar) die aangeeft of de opgegeven repository is ingeschakeld.
-
In het onderstaande voorbeeld ziet u een configuratie voor een klant die alle tags wil patchen (gebruik het symbool *) in de opslagplaats
pythonen om specifiek dejammy-20240111tags injammy-20240125de opslagplaatsubuntute patchen.{ "version": "v1", "tag-convention" : "incremental", "repositories": [{ "repository": "python", "tags": ["*"], "enabled": true }, { "repository": "ubuntu", "tags": ["jammy-20240111", "jammy-20240125"], "enabled": true, }] }Nadat u het configuratiebestand hebt gemaakt, voert u een droge uitvoering uit om te controleren of de beoogde artefacten zijn geselecteerd door de JSON-criteria. Voor de dry run is een parameter vereist die wordt aangeroepen
schedule, waarmee wordt aangegeven hoe vaak uw continue patchingcyclus wordt uitgevoerd. De planningsvlag wordt gemeten in dagen, met een minimumwaarde van één dag en een maximumwaarde van 30 dagen. Als u bijvoorbeeld wilt dat een afbeelding elke dag wordt gepatcht, geeft u een planning op als1d, of 1 dag. Als u een wekelijkse patch (eenmaal per week) wilt, vult u het schema in als7d, of 7 dagen.az acr supply-chain workflow create -r myRegistry -g myResourceGroup -t continuouspatchv1 --config ./continuouspatching.json --schedule 1d --dry-runDe
--dry-runvlag voert alle opgegeven artefacten uit door de configuratie van het JSON-bestand. Controleer of de juiste artefacten zijn geselecteerd. Met de ubuntu-voorbeeldconfiguratie moeten de volgende resultaten worden weergegeven als uitvoer:Ubuntu: jammy-20240111 Ubuntu: jammy-20240125Zodra u tevreden bent met de resultaten van de proefrun, voert u de
createopdracht opnieuw uit zonder de--dry-runflag om uw werkstroom voor continue patches te maken.Opmerking
De
--scheduleparameter volgt een vermenigvuldiger met een vaste dag vanaf dag 1 van de maand. Dit betekent:- Als u
--schedule 7dde opdracht opgeeft en uitvoert op de 3e, wordt de volgende geplande uitvoering uitgevoerd op de 7e, omdat 7 het eerste veelvoud is van 7 (dagen) na de 3e, tellend vanaf dag 1 van de maand. - Als
--schedule3d en vandaag de 7e is, komt de volgende geplande uitvoering op de 9e, omdat 9 het volgende veelvoud is van 3 dat volgt op 7. - Als u de vlag toevoegt
--run-immediately, activeert u een onmiddellijke patchuitvoering. De volgende geplande uitvoering blijft uitgelijnd op het dichtstbijzijnde veelvoud van dagen vanaf de eerste van de maand, gebaseerd op uw--schedulewaarde. - De schema teller wordt elke maand opnieuw ingesteld. Ongeacht het aangewezen schema wordt uw werkstroom uitgevoerd op de eerste van elke maand en volgt u vervolgens de opgegeven planningswaarde voor de rest van de maand. Als mijn patches op 28 januari worden uitgevoerd en mijn schema 7 dagen is, wordt mijn volgende patch uitgevoerd op 1 februari, vervolgens op de achtste en zo verder elke 7 dagen.
az acr supply-chain workflow create -r myRegistry -g myResourceGroup -t continuouspatchv1 --config ./continuouspatching.json --schedule 1d --run-immediatelyNa een geslaagd commando (ongeacht of u
--run-immediatelyopneemt of niet), wordt een bericht weergegeven waarin wordt bevestigd dat uw werkstroomtaken in de wachtrij staan. U ziet ook een uitvoerparameter die aangeeft wanneer de volgende uitvoering van uw werkstroom is gepland, zodat u precies kunt bijhouden wanneer patches opnieuw worden uitgevoerd.- Als u
Azure Portal gebruiken om werkstroomtaken weer te geven
Zodra de workflow is gelukt, gaat u naar de Azure Portal om uw actieve taken weer te geven. Selecteer Opslagplaatsen in het servicemenu onder Services. U ziet nu een nieuwe opslagplaats met de naam
csscpolicies/patchpolicy. Deze opslagplaats fungeert als host voor het JSON-configuratieartefact waarnaar continu wordt verwezen voor continue patches.Selecteer vervolgens onder Services de optie Taken. U ziet nu drie nieuwe taken:
-
cssc-trigger-workflow- met deze taak wordt het configuratiebestand gescand en wordt de scantaak op elke betreffende afbeelding aangeroepen. -
cssc-scan-image- deze taak scant de image op kwetsbaarheden van het besturingssysteem. Met deze taak wordt de patchtaak alleen geactiveerd als er beveiligingsproblemen met het besturingssysteem zijn gevonden. -
cssc-patch-image- deze taak patcht de systeemkopie.
Deze taken werken samen om uw werkstroom voor continue patching uit te voeren.
-
Als u specifieke taakuitvoeringen wilt zien, selecteert u Uitvoeringen. Hier kunt u statusinformatie bekijken over of de taak is geslaagd of mislukt, samen met het weergeven van een foutopsporingslogboek.
CLI gebruiken om werkstroomtaken weer te geven
U kunt ook de volgende CLI-opdracht weergeven uitvoeren voor meer informatie over elke taak en de algemene werkstroom. De opdracht voert de planning, de aanmaakdatum en de systeemgegevens uit, zoals de laatste wijzigingsdatum.
Voorbeeld:
az acr supply-chain workflow show -r myRegistry -g myResourceGroup -t continuouspatchv1
Als u alle vereiste en optionele vlaggen wilt zien, gebruikt u de Help-opdracht:
az acr supply-chain workflow show --help
De werkstroom voor continue patches bijwerken
Als u wijzigingen wilt aanbrengen in uw werkstroom voor continue patches, gebruikt u de opdracht Update. U kunt uw plannings- of JSON-configuratieschema rechtstreeks bijwerken met de OPDRACHT CLI bijwerken. Voorbeeld:
az acr supply-chain workflow update -r myRegistry -g myResourceGroup -t continuouspatchv1 --config ./continuouspatching.json --schedule 1d
Als u uw planning wilt bijwerken, voert u de vorige opdracht uit met een nieuwe invoer voor de planning. Als u uw JSON-configuratie wilt bijwerken, raden we u aan om wijzigingen aan te brengen in het bestand, een droge uitvoering uit te voeren en vervolgens de updateopdracht uit te voeren.
De werkstroom voor continue patches verwijderen
Voer de volgende CLI-opdracht uit om de werkstroom voor continue patches te verwijderen:
az acr supply-chain workflow delete -r myregistry -g myresourcegroup -t continuouspatchv1
Zodra een werkstroom is verwijderd, wordt de opslagplaats 'csscpolicies/patchpolicy' automatisch verwijderd. De drie taken die uw werkstroom uitvoeren worden verwijderd, samen met alle momenteel gequeueerde uitvoeringen.
Problemen met continue patching oplossen
Bekijk deze tips om problemen op te lossen die kunnen optreden met continue patches.
Lopende taken weergeven
Als u belangrijke informatie over foutopsporing wilt ophalen, gebruikt u de volgende opdracht om de laatst uitgevoerde taken voor continue patches weer te geven:
az acr supply-chain workflow list -r <registryname> -g <resourcegroup> [--run-status <failed || successful || running>] -t continuouspatchv1
Een geslaagd resultaat retourneert de volgende informatie:
- Naam en tag van afbeelding
- Werkstroomtype
- Scan status
- Datum en tijd van laatste scan (als de status is mislukt, blijft de datum leeg)
- Taak-id scannen (voor verdere foutopsporing)
- Patch Status
- Datum en tijd van laatste patch (als de status is mislukt, blijft de datum leeg)
- Naam van de gepatchte afbeelding + tag
- Patchtaak-id (voor verdere foutopsporing)
Gebruik [--run-status] om alle taakstatussen te retourneren die overeenkomen met het opgegeven filter. Als u bijvoorbeeld opgeeft --run-status failed, worden alleen beelden vermeld die niet zijn geslaagd voor hun patching.
Actieve taken annuleren
Voor bepaalde scenario's moet u mogelijk taken annuleren die momenteel worden uitgevoerd of wachten om te worden uitgevoerd. U ziet bijvoorbeeld een onjuiste configuratie die u liever meteen wilt herstellen, in plaats van te wachten tot de patchtaken zijn voltooid.
Als u actieve taken wilt annuleren, gebruikt u de volgende CLI-opdracht:
az acr supply-chain workflow cancel-run -r <registryname> -g <resourcegroup> --type <continuouspatchv1>
Met deze opdracht worden alle taken voor continue patches met de status Running, Queuedof Started voor de huidige planning geannuleerd. Als u bijvoorbeeld taken annuleert volgens een dagelijks schema (--schedule 1d), worden taken in die statussen geannuleerd voor die dag, en dan weer gepland voor de volgende dag. Als uw planning wekelijks is, worden geannuleerde taken de volgende week opnieuw weergegeven.
Mislukte taken zoeken
Gebruik de opdracht Takenlijst om alle mislukte taken uit te voeren. Het specificeren van de cssc-patch opdracht is het beste bij falen.
Met deze opdracht worden bijvoorbeeld de tien belangrijkste mislukte patchtaken geretourneerd:
az acr task list-runs -r <registryname> -n cssc-patch-image --run-status Failed --top 10
Als u een specifieke fout wilt onderzoeken, noteer dan het runID resultaat van deze opdracht en voer het volgende uit:
az acr task logs -r <registryname> --run-id <run-id>
Onjuist geconfigureerde werkstroom annuleren
Taken in de wachtrij annuleren met het commando annuleren:
az acr supply-chain workflow cancel-run -r <registryname> -g <resourcegroup> --type <continuouspatchv1>