Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
I den här artikeln får du lära dig hur du installerar, aktiverar och konfigurerar kontinuerlig korrigering. Kontinuerlig patchning vid aktivering för ett containerregister identifierar och åtgärdar automatiskt säkerhetsrisker på operativsystemnivå för containerbilder.
Förutsättningar
- Du kan använda Azure Cloud Shell eller en lokal installation av Azure CLI med en lägsta version av 2.15.0 eller senare.
- Du har en befintlig resursgrupp med ett Azure Container Registry (ACR).
- Du har ett Azure Container Registry med ACR Tasks aktiverat (ACR Tasks stöds inte på den kostnadsfria nivån för ACR).
Installera arbetsflödet för kontinuerlig uppdatering
Kör följande kommando för att installera CLI-tillägget:
az extension add -n acrcssc
Aktivera arbetsflödet för kontinuerlig uppdatering
- Logga in på Azure CLI med az login.
az login
- Logga in på ACR.
az acr login -n <myRegistry>
- Kör följande kommando för att skapa en fil med namnet
continuouspatching.json, som innehåller JSON för kontinuerlig uppdatering. JSON-filnamnet är flexibelt.
cat <<EOF > continuouspatching.json
{
"version": "v1",
"tag-convention" : "<incremental|floating>",
"repositories": [{
"repository": "<Repository Name>",
"tags": ["<comma-separated-tags>"],
"enabled": <true|false>
}]
}
EOF
Schemat matar in specifika lagringsplatser och taggar i matrisformat. Varje variabel definieras här:
versiongör att ACR-teamet kan spåra vilken schemaversion du är på. Ändra inte den här variabeln om du inte har instruerats att göra det.tag-conventionär ett valfritt fält. Tillåtna värden är "inkrementella" eller "flytande" – mer information finns i Viktiga begrepp för kontinuerlig korrigering .repositoriesär en matris som består av detaljerad lagringsplats och tagginformation-
repositoryrefererar till lagringsplatsens namn -
tagsär en matris med taggar avgränsade med kommatecken. Jokertecknet*kan användas för att ange alla taggar i lagringsplatsen. -
enabledär ett booleskt värde för sant eller falskt som avgör om den angivna lagringsplatsen är aktiverad eller inte.
-
Följande information är ett exempel på en konfiguration för en kund som vill korrigera alla taggar (använd *-symbolen) på lagringsplatsen pythonoch för att korrigera taggarna jammy-20240111 och jammy-20240125 på lagringsplatsen ubuntu.
JSON-exempel:
{
"version": "v1",
"tag-convention" : "incremental",
"repositories": [{
"repository": "python",
"tags": ["*"],
"enabled": true
},
{
"repository": "ubuntu",
"tags": ["jammy-20240111", "jammy-20240125"],
"enabled": true,
}]
}
- När du har skapat konfigurationsfilen rekommenderar vi att du kör en torr körning för att kontrollera att de avsedda artefakterna har valts av JSON-kriterierna. Den torra körningen kräver en parameter med namnet
schedule, som anger hur ofta din kontinuerliga korrigeringscykel körs. Schemaflaggan mäts i dagar, med ett minsta värde på en dag och ett maximalt värde på 30 dagar. Om du till exempel vill att en bild ska korrigeras varje dag anger du schema som1d, eller 1 dag. Om du vill ha en veckokorrigering (en gång i veckan) fyller du i schemat som7d, eller 7 dagar.
Kommandoschema:
az acr supply-chain workflow create -r <registryname> -g <resourcegroupname> -t continuouspatchv1 --config <JSONfilepath> --schedule <number of days> --dry-run
Exempelkommando:
az acr supply-chain workflow create -r myRegistry -g myResourceGroup -t continuouspatchv1 --config ./continuouspatching.json --schedule 1d --dry-run
Flaggan --dry-run matar ut alla angivna artefakter i JSON-filkonfigurationen. Kunder kan kontrollera att rätt artefakter har valts. Med Ubuntu-exempelkonfigurationen ska följande resultat visas som utdata.
Ubuntu: jammy-20240111
Ubuntu: jammy-20240125
Hjälpkommando för att se alla obligatoriska/valfria flaggor:
az acr supply-chain workflow create --help
- När du är nöjd med torrkörningsresultatet
createkör du kommandot igen utan--dry-runflaggan för att officiellt skapa arbetsflödet för kontinuerlig korrigering.
Anmärkning
Parametern --schedule följer en multiplikator med fast dag som börjar från dag 1 i månaden. Detta innebär att:
- Om du anger
--schedule 7doch kör kommandot den 3: e, kommer nästa schemalagda körning att vara den 7: e eftersom 7 är den första multipeln av 7 (dagar) efter den 3: e, räknar från dag 1 i månaden. - Om
--scheduleär 3d och idag är den 7:e, så landar nästa schemalagda körning den 9:e - eftersom 9 är nästa multipel av 3 efter 7. - Om du lägger till flaggan
--run-immediatelyutlöser du en omedelbar korrigeringskörning. Den efterföljande schemalagda körningen kommer fortfarande att anpassas till närmaste dagintervall från månadens första dag, baserat på ditt--schedulevärde. - Schemaräknaren återställs varje månad. Oavsett det angivna schemat körs arbetsflödet den första varje månad och följer sedan det angivna schemavärdet för resten av månaden. Om min korrigering körs den 28 januari och mitt schema är på 7 dagar, kommer min nästa korrigering att köras den första februari, sedan den åttonde och fortsätta med 7 dagars mellanrum.
Kommandoschema:
az acr supply-chain workflow create -r <registryname> -g <resourcegroupname> -t continuouspatchv1 --config <JSONfilename> --schedule <number of days> --run-immediately
Exempelkommando:
az acr supply-chain workflow create -r myRegistry -g myResourceGroup -t continuouspatchv1 --config ./continuouspatching.json --schedule 1d --run-immediately
Vid ett lyckat kommando (oavsett om du inkluderar --run-immediately) bör du se:
Ett bekräftelsemeddelande om att dina arbetsflödesuppgifter har placerats i kö.
En utdataparameter som anger när nästa körning av arbetsflödet schemaläggs, så att du kan spåra exakt när korrigeringen sker igen.
Hjälpkommando för alla obligatoriska/valfria flaggor.
az acr supply-chain workflow create --help
Använda Azure-portalen för att visa arbetsflödesuppgifter
- När arbetsflödet har slutförts går du till Azure-portalen för att se dina körande uppgifter. Välj Tjänster –> Lagringsplatser och du bör se en ny lagringsplats med namnet
csscpolicies/patchpolicy. Den här lagringsplatsen är värd för JSON-konfigurationsartefakten som kontinuerligt refereras till för kontinuerlig korrigering.
- Välj sedan "Uppgifter" under "Tjänster" – du bör se tre nya uppgifter:
Uppgifter:
- cssc-trigger-workflow – den här uppgiften söker igenom konfigurationsfilen och anropar genomsökningsaktiviteten på varje bild.
- cssc-scan-image – den här uppgiften söker igenom avbildningen efter säkerhetsproblem i operativsystemet. Den här uppgiften utlöser endast korrigeringsaktiviteten om operativsystemets säkerhetsrisker hittades.
- cssc-patch-image – den här uppgiften korrigerar bilden. Dessa uppgifter fungerar tillsammans för att köra arbetsflödet för kontinuerlig korrigering.
- Du kan också välja "Körningar" i vyn Aktiviteter för att se specifika aktivitetskörningar. Här kan du visa statusinformation om uppgiften lyckades eller misslyckades, tillsammans med att visa en felsökningslogg.
Använda CLI för att visa arbetsflödesuppgifter
Du kan också köra följande CLI show-kommando för att se mer information om varje uppgift och det allmänna arbetsflödet. Kommandot utdata:
- Schema
- Skapad datum
- Systemdata, till exempel senaste ändringsdatum, av vem osv.
Kommandoschema:
az acr supply-chain workflow show -r <registry> -g <resourceGroup> -t continuouspatchv1
Exempelkommando:
az acr supply-chain workflow show -r myRegistry -g myResourceGroup -t continuouspatchv1
Hjälpkommando för alla obligatoriska/valfria flaggor:
az acr supply-chain workflow show --help
Uppdatera arbetsflödet för kontinuerlig uppdatering
I scenarier där du vill göra ändringar i arbetsflödet för kontinuerlig korrigering är uppdateringskommandot det enklaste sättet att göra det. Du kan uppdatera schemat eller JSON-konfigurationsschemat med cli-kommandot update direkt.
Kommandoschema:
az acr supply-chain workflow update -r <registry> -g <resourceGroup> -t continuouspatchv1 --config <JSONfilename> --schedule <number of days>
Exempelkommando:
az acr supply-chain workflow update -r myRegistry -g myResourceGroup -t continuouspatchv1 --config ./continuouspatching.json --schedule 1d
Hjälpkommando för alla obligatoriska/valfria flaggor:
az acr supply-chain workflow update --help
Om du vill uppdatera schemat kör du föregående kommando med en ny indata för schema. Om du vill uppdatera JSON-konfigurationen rekommenderar vi att du gör ändringar i filen, kör en torrkörning och sedan kör uppdateringskommandot.
Ta bort arbetsflödet för kontinuerlig uppdatering
Om du vill ta bort arbetsflödet för kontinuerlig uppdatering kör du följande CLI-kommando.
Kommandoschema:
az acr supply-chain workflow delete -r <registry> -g <resourceGroup> -t continuouspatchv1
Exempelkommando:
az acr supply-chain workflow delete -r myregistry -g myresourcegroup -t continuouspatchv1
Hjälpkommando för alla obligatoriska/valfria flaggor:
az acr supply-chain workflow delete --help
När ett arbetsflöde har tagits bort tas lagringsplatsen "csscpolicies/patchpolicy" bort automatiskt. De tre processerna som kör ditt arbetsflöde kommer också att tas bort, tillsammans med alla för närvarande köade jobb.