Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
V tomto článku se dozvíte, jak nainstalovat, povolit a nakonfigurovat průběžné opravy. Průběžné opravy, pokud jsou povolené pro registr kontejnerů, automaticky rozpozná a opraví ohrožení zabezpečení na úrovni operačního systému pro image kontejnerů.
Požadavky
- Můžete použít Azure Cloud Shell nebo místní instalaci Azure CLI s minimální verzí 2.15.0 nebo novější.
- Máte existující skupinu prostředků, která obsahuje službu Azure Container Registry (ACR).
- Máte službu Azure Container Registry s povolenými úlohami ACR (úlohy ACR se nepodporují na úrovni Free služby ACR).
Instalace pracovního postupu průběžných oprav
Spuštěním následujícího příkazu nainstalujte rozšíření rozhraní příkazového řádku:
az extension add -n acrcssc
Povolení pracovního postupu průběžných oprav
- Přihlaste se k Azure CLI pomocí příkazu az login.
az login
- Přihlaste se k ACR.
az acr login -n <myRegistry>
- Spuštěním následujícího příkazu vytvořte soubor s názvem
continuouspatching.json, který obsahuje JSON průběžné opravy. Název souboru JSON je flexibilní.
cat <<EOF > continuouspatching.json
{
"version": "v1",
"tag-convention" : "<incremental|floating>",
"repositories": [{
"repository": "<Repository Name>",
"tags": ["<comma-separated-tags>"],
"enabled": <true|false>
}]
}
EOF
Schéma ingestuje konkrétní úložiště a značky ve formátu pole. Každá proměnná je definována zde:
versionumožňuje týmu ACR sledovat, jakou verzi schématu používáte. Tuto proměnnou neměňte, pokud nemáte pokyn.tag-conventionje volitelné pole. Povolené hodnoty jsou "přírůstkové" nebo "plovoucí" – další informace najdete v klíčových konceptech kontinuálního záplatování.repositoriesje pole, které se skládá z podrobných informací o úložišti a značkách.-
repositoryodkazuje na název úložiště. -
tagsje pole značek oddělených čárkami. Zástupný znak*lze použít k označení všech značek v daném úložišti. -
enabledje logická hodnota true nebo false určující, jestli je zadané úložiště povolené nebo ne.
-
Následující podrobnosti obsahují příklad konfigurace pro zákazníka, který chce opravit všechny značky (použijte symbol *) v úložišti pythona opravit konkrétně značky jammy-20240111 a jammy-20240125 značky v úložišti ubuntu.
Příklad JSON:
{
"version": "v1",
"tag-convention" : "incremental",
"repositories": [{
"repository": "python",
"tags": ["*"],
"enabled": true
},
{
"repository": "ubuntu",
"tags": ["jammy-20240111", "jammy-20240125"],
"enabled": true,
}]
}
- Po vytvoření konfiguračního souboru se doporučuje spustit suché spuštění a ověřit, jestli jsou požadované artefakty vybrány kritérii JSON. Suchý běh vyžaduje parametr s názvem
schedule, který určuje, jak často běží nepřetržitý opravovací cyklus. Příznak plánu se měří ve dnech, a to s minimální hodnotou jednoho dne a maximální hodnotou 30 dnů. Pokud například chcete, aby se obrázek opravoval každý den, zadali byste plán jako1dnebo 1 den. Pokud chcete týdenní opravu (jednou týdně), vyplňte plán jako7dnebo na 7 dní.
Schéma příkazů:
az acr supply-chain workflow create -r <registryname> -g <resourcegroupname> -t continuouspatchv1 --config <JSONfilepath> --schedule <number of days> --dry-run
Příkladový příkaz:
az acr supply-chain workflow create -r myRegistry -g myResourceGroup -t continuouspatchv1 --config ./continuouspatching.json --schedule 1d --dry-run
Příznak --dry-run zobrazí výstup všech zadaných artefaktů konfigurací souboru JSON. Zákazníci můžou ověřit, že jsou vybrané správné artefakty. S ukázkovou konfigurací Ubuntu by se měly jako výstup zobrazit následující výsledky.
Ubuntu: jammy-20240111
Ubuntu: jammy-20240125
Příkaz nápovědy k zobrazení všech požadovaných nebo nepovinných příznaků:
az acr supply-chain workflow create --help
- Jakmile budete spokojeni s výsledky suchého spuštění, spusťte
createpříkaz znovu bez příznaku--dry-runa oficiálně vytvořte pracovní postup průběžné opravy.
Poznámka:
Parametr --schedule se řídí násobitelem s pevným dnem počínaje dnem 1 v měsíci. To znamená:
- Pokud zadáte
--schedule 7da spustíte příkaz třetího, další naplánované spuštění bude sedmého – protože 7 je první násobek 7 (dnů) po třetím, počítaje od prvního dne v měsíci. - Pokud
--scheduleje 3d a dnes je 7. den, pak další naplánované spuštění přistane na 9. – protože 9 je další násobek 3, který následuje po 7. - Pokud přidáte příznak
--run-immediately, aktivujete okamžité spuštění opravy. Následující naplánované spuštění bude stále zarovnané k nejbližšímu násobku dní od prvního dne v měsíci, na základě vaší--schedulehodnoty. - Čítač plánu se resetuje každý měsíc. Bez ohledu na určený plán se pracovní postup spustí na prvním z každého měsíce a pak se bude řídit zadanou hodnotou plánu po zbytek měsíce. Pokud moje opravy běží 28. ledna a můj plán je 7d, bude moje další oprava spuštěna nejdříve v únoru, pak osmé a pokračovat po 7 dnech.
Schéma příkazů:
az acr supply-chain workflow create -r <registryname> -g <resourcegroupname> -t continuouspatchv1 --config <JSONfilename> --schedule <number of days> --run-immediately
Příkladový příkaz:
az acr supply-chain workflow create -r myRegistry -g myResourceGroup -t continuouspatchv1 --config ./continuouspatching.json --schedule 1d --run-immediately
Po úspěšném příkazu (bez ohledu na to, jestli zahrnete --run-immediately) byste měli vidět:
Úspěšná zpráva potvrzuje, že úkoly vašeho pracovního postupu byly zařazeny do fronty.
Výstupní parametr označující, kdy je naplánované další spuštění pracovního postupu, takže můžete sledovat, kdy se opravy budou opakovat.
Příkaz nápovědy pro všechny povinné nebo volitelné parametry.
az acr supply-chain workflow create --help
Zobrazení úloh pracovního postupu pomocí webu Azure Portal
- Jakmile bude pracovní postup úspěšný, přejděte na web Azure Portal a zobrazte spuštěné úlohy. Vyberte Služby –> Úložiště a měli byste vidět nové úložiště s názvem
csscpolicies/patchpolicy. Toto úložiště hostuje artefakt konfigurace JSON, na který se průběžně odkazuje pro průběžné opravy.
- Dále vyberte "Úkoly" v části "Služby" – měly by se zobrazit tři nové úkoly:
Úkoly:
- cssc-trigger-workflow – tato úloha zkontroluje konfigurační soubor a zavolá úlohu kontroly na každém příslušném obrázku.
- cssc-scan-image – tato úloha skenuje obraz pro zranitelnosti operačního systému. Tato úloha aktivuje úlohu oprav pouze v případě, že byly nalezeny chyby zabezpečení operačního systému.
- cssc-patch-image – tato úloha opraví image. Tyto úlohy fungují ve spojení s prováděním pracovního postupu průběžných oprav.
- Chcete-li zobrazit konkrétní spuštění úloh, můžete v zobrazení „Úkoly“ také vybrat možnost „Spuštění“. Tady můžete zobrazit informace o stavu, jestli úloha proběhla úspěšně nebo selhala, a zobrazit protokol ladění.
Zobrazení úloh pracovního postupu pomocí rozhraní příkazového řádku
Můžete také spustit následující příkaz rozhraní příkazového řádku, který zobrazí další podrobnosti o jednotlivých úlohách a obecném pracovním postupu. Výstup příkazu:
- Rozvrh
- Datum vytvoření
- Systémová data, jako je datum poslední změny, kdo atd.
Schéma příkazů:
az acr supply-chain workflow show -r <registry> -g <resourceGroup> -t continuouspatchv1
Příkladový příkaz:
az acr supply-chain workflow show -r myRegistry -g myResourceGroup -t continuouspatchv1
Příkaz nápovědy pro všechny povinné nebo volitelné příznaky:
az acr supply-chain workflow show --help
Aktualizace pracovního postupu průběžných oprav
Ve scénářích, ve kterých chcete provádět úpravy pracovního postupu průběžných oprav, je příkaz update nejjednodušším způsobem. Můžete aktualizovat svůj rozvrh nebo schéma konfigurace JSON přímo pomocí příkazu update CLI.
Schéma příkazů:
az acr supply-chain workflow update -r <registry> -g <resourceGroup> -t continuouspatchv1 --config <JSONfilename> --schedule <number of days>
Příkladový příkaz:
az acr supply-chain workflow update -r myRegistry -g myResourceGroup -t continuouspatchv1 --config ./continuouspatching.json --schedule 1d
Příkaz nápovědy pro všechny povinné nebo volitelné příznaky:
az acr supply-chain workflow update --help
Pokud chcete plán aktualizovat, spusťte předchozí příkaz s novým vstupem pro plán. Pokud chcete aktualizovat konfiguraci JSON, doporučujeme provést změny v souboru, spustit suchý běh a pak spustit příkaz update.
Odstranění workflowu pro průběžné opravy
Pokud chcete odstranit pracovní postup průběžných oprav, spusťte následující příkaz rozhraní příkazového řádku.
Schéma příkazů:
az acr supply-chain workflow delete -r <registry> -g <resourceGroup> -t continuouspatchv1
Příkladový příkaz:
az acr supply-chain workflow delete -r myregistry -g myresourcegroup -t continuouspatchv1
Příkaz nápovědy pro všechny povinné nebo volitelné příznaky:
az acr supply-chain workflow delete --help
Po úspěšném odstranění pracovního postupu se automaticky odstraní úložiště csscpolicies/patchpolicy. Odstraní se také tři úlohy, které spouští váš pracovní postup, spolu s aktuálně zařazenými spuštěními ve frontě.