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 pomocí bezpečnostních opatření nasazení vynutit osvědčené postupy v clusteru Azure Kubernetes Service (AKS).
Přehled
Poznámka:
Ochrana nasazení je ve výchozím nastavení zapnutá v AKS Automaticky.
V průběhu životního cyklu vývoje dochází k chybám, problémům a dalším problémům, pokud počáteční nasazení prostředků Kubernetes zahrnuje chybné konfigurace. Kvůli usnadnění zátěže vývoje Kubernetes nabízí Služba Azure Kubernetes Service (AKS) ochranu nasazení. Ochrana nasazení vynucuje osvědčené postupy Kubernetes ve vašem clusteru AKS prostřednictvím ovládacích prvků Azure Policy.
Ochrana nasazení nabízí dvě úrovně konfigurace:
-
Warn: Zobrazí v terminálu kódu upozornění, aby vás upozornily na všechny konfigurace clusteru nesplňující požadavky, ale přesto umožňuje požadavek projít. -
Enforce: Vynucuje souladné konfigurace tím, že zamítá a mutuje nasazení, pokud nedodržují osvědčené postupy.
Jakmile nakonfigurujete ochranu nasazení pro upozornění nebo vynucení, bezpečnostní opatření nasazení programově vyhodnotí prostředky Kubernetes při vytváření nebo aktualizaci kvůli dodržování předpisů. Ochrana nasazení také zobrazuje agregované informace o dodržování předpisů napříč úlohami na úrovni jednotlivých prostředků prostřednictvím řídicího panelu dodržování předpisů služby Azure Policy na webu Azure Portal nebo v rozhraní příkazového řádku nebo terminálu. Spuštění nevyhovující úlohy značí, že váš cluster nedodržuje osvědčené postupy a že úlohy v clusteru jsou ohroženy problémy způsobenými konfigurací clusteru.
Požadavky
Poznámka:
Správci clusteru nepotřebují oprávnění azure Policy k povolení nebo zakázání ochrany nasazení. Vyžaduje se ale, aby byl doplněk Azure Policy nainstalovaný.
- Musíte povolit doplněk Azure Policy pro AKS. Další informace najdete v tématu Povolení služby Azure Policy v clusteru AKS. To zahrnuje registraci poskytovatele prostředků
Microsoft.PolicyInsightsv rámci vašeho předplatného.
Zásady ochrany nasazení
Následující tabulka uvádí zásady, které se stanou aktivními, a prostředky Kubernetes, na které cílí, když povolíte ochranu nasazení. Aktuálně dostupné záruky nasazení můžete zobrazit na webu Azure Portal jako definici služby Azure Policy nebo v předdefinovaných definicích služby Azure Kubernetes Service. Záměrem této kolekce je vytvořit společný a obecný seznam osvědčených postupů použitelných pro většinu uživatelů a případů použití.
| Zásady ochrany nasazení | Výsledek změny, pokud je k dispozici |
|---|---|
| Nejde upravit jednotlivé uzly | není k dispozici |
| Požadavky na prostředky CPU a paměti musí být definovány pro kontejnery v rámci clusteru Kubernetes. | Nastaví výchozí požadavky na procesor a paměť a vynucuje minimum. Další informace naleznete v tématu Žádosti o prostředky mutator. |
| Musí obsahovat pravidla ochrany proti spřažení nebo topologySpreadConstraintsSet. | Přidá pravidla proti spoluvazbě podů a omezení pro šíření topologie, aby se zlepšila distribuce úloh. Další informace naleznete v tématu Anti-afinitu a topologie šíření mutator. |
| Žádné popisky specifické pro AKS | není k dispozici |
| Kontejnery clusteru Kubernetes by měly používat jenom povolené image. | není k dispozici |
| Tainty vyhrazených systémových fondů | Odebere CriticalAddonsOnly taint z fondu uzlů uživatele, pokud není nastavený. AKS používá CriticalAddonsOnly taint k tomu, aby zákaznické pody zůstaly mimo systémový fond. Tato konfigurace zajišťuje jasné oddělení mezi komponentami AKS a pody zákazníků a zabraňuje vysunutí podů zákazníků, které netolerují "taint" CriticalAddonsOnly. |
| Ujistěte se, že kontejnery clusteru mají nakonfigurované testy připravenosti nebo životnosti. | není k dispozici |
| Clustery Kubernetes by měly používat StorageClass ovladače CSI (Container Storage Interface) pro úložiště kontejnerů. | není k dispozici |
| Clusterové služby Kubernetes by měly používat jedinečné selektory. | není k dispozici |
| Image kontejnerů clusteru Kubernetes by neměly obsahovat nejnovější značku image. | není k dispozici |
Pokud chcete odeslat nápad nebo žádost o ochranu nasazení, otevřete problém v úložišti AKS na GitHubu a přidejte [Deployment Safeguards request] ho na začátek názvu.
Mutátor žádostí o prostředky
Když je ochrana nasazení nastavená na Enforce úroveň, mutátor žádostí o prostředky automaticky nastaví požadavky na procesor a paměť a limity pro kontejnery, které je nemají definované nebo mají hodnoty nižší než minimální prahové hodnoty.
Výchozí hodnoty
Pokud nejsou zadány žádné prostředky, mutator nastaví následující výchozí hodnoty:
| Resource | Žádost | Omezení |
|---|---|---|
| CPU | 500 m | 500 m |
| Memory | 2048Mi (2Gi) | 2048Mi (2Gi) |
Minimální vynucování
Pokud jsou prostředky zadané, ale jsou nižší než prahové hodnoty, mutátor vynutí následující minimální hodnoty:
| Resource | Minimální hodnota |
|---|---|
| CPU | 100 m |
| Memory | 100Mi |
Pochopení jednotek prostředků
Jednotky procesoru:
-
m= millicores (1m= 1/1 000 jádra CPU) -
1000m= 1 plné jádro procesoru -
500m= 0,5 jader procesoru (polovina jádra) -
100m= 0,1 jader procesoru (10% jádra)
Paměťové jednotky:
-
Mi= Mebibajtů (binární hodnota: 1 Mi = 1 024 × 1 024 bajtů) -
Gi= Gibibytes (binární: 1 Gi = 1 024 Mi) 2048Mi=2Gi-
100Mi≈ 105 MB
Pravidla mutací CPU
Mutátor použije následující logiku pro prostředky procesoru:
| Scenario | Činnost |
|---|---|
| Chybí požadavek na procesor i limit. | Nastavení obojího na 500m (výchozí) |
Požadavek na procesor existuje, ale je menší než 100m |
Nastavení požadavku na 100m (minimum) |
Limit procesoru existuje, ale je menší než 100m |
Nastavit hodnotu limitu na 100m (minimum) |
| Existuje pouze požadavek na procesor. | Nastavte požadavek rovný limitu |
| Existuje pouze limit procesoru. | Nastavte požadavek na hodnotu limitu |
Pravidla mutací paměti
Mutátor použije pro prostředky paměti následující logiku:
| Scenario | Činnost |
|---|---|
| Chybí požadavek na paměť i limit. | Nastavení obojího na 2048Mi (výchozí) |
Požadavek na paměť existuje, ale je menší než 100Mi |
Nastavení požadavku na 100Mi (minimum) |
Limit paměti existuje, ale je menší než 100Mi |
Nastavit limit na 100Mi (minimum) |
| Existuje pouze požadavek na paměť. | Nechte beze změny (nepřidá se žádný limit) |
| Existuje pouze limit paměti. | Ponechat beze změny (žádná žádost nebude přidána) |
Oprava třídy Kubernetes Quality of Service (QoS)
Po použití mutací procesoru a paměti platí, že pokud hodnota požadavku překročí limit stejného typu prostředku, mutátor limituje požadavek tak, aby odpovídal limitu. Tato oprava udržuje platné konfigurace tříd QoS (Quality of Service) Kubernetes.
Případy, které jsou mutované
Mutátor žádostí o prostředky použije změny v následujících scénářích:
-
Prázdné prostředky: Kontejnery bez požadavků na procesor nebo paměť nebo omezení přijímají výchozí hodnoty (
500mprocesor,2048Mipaměť). -
Nižší než minimální prahové hodnoty: Požadavky na procesor nebo omezení níže
100mse zvýší na100m. Požadavky na paměť nebo omezení níže100Mise zvýší na100Mi. - Neplatné scénáře QoS: Když požadavky překročí limity, požadavky se sníží tak, aby odpovídaly limitům.
- Částečné specifikace prostředků: Kontejnery s pouze požadavky nebo pouze limity (ale ne obojí) mají vynucované minimální hodnoty, pokud jsou zadané.
- Více kontejnerů: Všechny kontejnery v "podu" se zpracují a odpovídajícím způsobem modifikují.
- Povolené obory názvů: Jsou upraveny pouze úlohy v oborech názvů, ve kterých je povolená ochrana.
Případy, které nejsou mutované
Mutátor žádostí o prostředky nepoužije změny v následujících scénářích:
- Vyloučené obory názvů: Úlohy v oborech názvů, kde je ochrana vyloučena, zůstávají beze změny.
- Již vyhovující prostředky: Kontejnery, které již mají požadavky a limity nad minimální prahové hodnoty, zůstávají beze změny.
- Platné konfigurace QoS: Pokud jsou požadavky menší nebo rovny limitům a obě hodnoty jsou nad minimálními hodnotami, nedojde k žádným změnám.
Protikolokace a rozložení v rámci topologie mutátoru
Když je ochrana nasazení nastavena na úroveň Enforce, mutátor rozložení proti afinitě a topologie automaticky přidá pravidla proti afinitě podů a omezení rozložení topologie, aby se zlepšila distribuce pracovní zátěže napříč uzly.
Při spuštění mutátoru
Mutátor běží pouze v případech, kdy jsou splněny všechny následující podmínky:
- Omezení anti-afinitních pravidel podů a rozložení topologie na úloze ještě neexistují.
- Obor názvů není vyloučený z ochranných opatření při nasazení.
- Ochrana nasazení je v
Enforcerežimu. - Pracovní zatížení nemá
kubernetes.azure.com/managedby=aksštítek.
Co mutátor přidá
Identifikace štítku: Mutátor identifikuje pody pomocí následující priority štítků:
-
applabel (první priorita) -
app.kubernetes.io/namepopisek (druhá priorita) - Vytvoří
default-antiaffinity-applabel=<workload-name>štítek (náhradní)
Spřažení podů: Přidá upřednostňované pravidlo anti-spřažení podů s hmotností 100, které dává přednost plánování podů s odpovídajícími popisky na různých uzlech. Používá klíč kubernetes.io/hostnametopologie .
Omezení rozložení topologie: Přidá omezení s následujícími nastaveními:
| Setting | Hodnota |
|---|---|
| MaxSkew | 1 (umožňuje rozdíl maximálně 1 podu na uzel) |
| Kdysi nespokojitelný | ScheduleAnyway (nejlepší úsilí, neblokuje plánování) |
| Klíč topologie | kubernetes.io/hostname |
Případy, které jsou mutované
Mutátor anti-afinity a šíření topologie aplikuje změny v následujících scénářích:
-
Úlohy s
apppopiskem: Používá hodnotu popiskuapppro anti-afinitu a selektory rozšíření topologie. -
Úlohy s
app.kubernetes.io/namepopiskem: Pokud neexistuje žádnýapppopisek, použije se tento popisek pro selektory. - Úlohy bez popisků aplikací: Vytvoří výchozí popisek pomocí názvu úlohy a přidá pravidla antiafinitního a topologického rozložení.
- Čisté úlohy: Úlohy bez existujícího spřažení nebo omezení rozložení topologie přijímají obě konfigurace.
- Částečná afinita: Úlohy s existující afinitou uzlů (ale bez anti-afinity podů) přijímají anti-afinitu podů a pravidla pro rozšíření topologie.
- Povolené obory názvů: Změny se vyskytují pouze v oborech názvů, kde je povolená ochrana.
Případy, které nejsou mutované
Mutátor proti afinitě a rozložení topologie neaplikuje změny v následujících scénářích:
- Existující omezení rozložení topologie: Úlohy, které už mají všechna omezení rozložení topologie, se zcela přeskočí.
- Spřažení stávajících podů: Úlohy s existujícími požadovanými nebo upřednostňovanými pravidly proti spřažení podů se zcela přeskočí.
- Vyloučené obory názvů: Úlohy v oborech názvů, kde je ochrana vyloučena, zůstávají beze změny.
- Úlohy bez identifikovatelných názvů nebo popisků: Případy Edge, u kterých není možné určit žádný název aplikace, se elegantně přeskočí.
Chybové zprávy o bezpečnostních opatřeních při nasazování
Tato část popisuje chybové zprávy, se kterými se můžete setkat, když bezpečnostní opatření nasazení zjistí nekompatibilní konfigurace spolu s doporučenými opravami.
Obecné chybové zprávy o ochraně
Následující tabulka uvádí chybové zprávy pro obecné zásady ochrany nasazení:
| Policy | Zpráva o chybě | Opravit |
|---|---|---|
| Prosazení sond | Container <container_name> in your Pod <pod_name> has no livenessProbe. Required probes: readinessProbe, livenessProbe |
Přidejte do každého kontejneru sondy živosti a připravenosti. |
| Žádný obrázek s označením "Nejnovější" | Please specify an explicit, versioned image tag such as '1.0' for container %v. Using explicit version tags is a best practice to ensure reproducibility, prevent unintended updates, and facilitate easier debugging and rollbacks. Avoid using the 'latest' tag because it can change over time without notice. |
Použijte jinou explicitní značku obrázku než latest nebo prázdnou. Například nginx není povolený, ale nginx:v1.0.0 je povolený. |
| Vynucení ovladače CSI |
Storage class <class_name> use intree provisioner kubernetes.io/azure-file is not allowed nebo Storage class <class_name> use intree provisioner kubernetes.io/azure-disk is not allowed |
Použijte disk.csi.azure.com nebo file.csi.azure.com místo toho. Další informace najdete v tématu Ovladače CSI v AKS. |
| Žádosti o zdroje | container <container_name> has no resource requests |
Přidejte do kontejneru požadavky na procesor a paměť. |
| Pravidla antiaffinity | Deployment with 2 replicas should have either podAntiAffinity or topologySpreadConstraints set to avoid disruptions due to nodes crashing |
Definujte podAntiAffinity nebo topologySpreadConstraints pro úlohu. |
| Omezené popisky | Label kubernetes.azure.com is reserved for AKS use only |
Odeberte popisek z pracovního zatížení. |
| Omezené úpravy uzlů | Tainting or labeling individual nodes is not recommended. Please use Azure CLI to taint/label node pools instead |
Pomocí Azure CLI aplikujte taint nebo label na fondy uzlů místo jednotlivých uzlů. |
| Omezené skvrny | Taint with key CriticalAddonsOnly is reserved for the system pool only |
Neoznačujte uživatelský fond uzlů pomocí CriticalAddonsOnly. |
Chybové zprávy standardů zabezpečení podů
Poznámka:
Standardní standardy zabezpečení podů jsou teď ve výchozím nastavení zapnuté v AKS Automaticky. Standardní standardy zabezpečení podů v AKS Automatic nejde vypnout.
Bezpečnostní opatření nasazení také podporují možnost zapnout standardní hodnoty, omezené a privilegované standardy zabezpečení podů. Aby bylo zajištěno úspěšné nasazení úloh, zajistěte, že každý manifest splňuje požadavky zabezpečení podu podle základní nebo omezené úrovně. Služba Azure Kubernetes Service ve výchozím nastavení používá standardy zabezpečení privilegovaných podů.
| Policy | Zpráva o chybě | Opravit |
|---|---|---|
| AppArmor |
AppArmor annotation values must be undefined/nil, runtime/default, or localhost/* nebo AppArmor profile type must be one of: undefined/nil, RuntimeDefault, or Localhost |
Odeberte jakoukoli specifikaci AppArmoru. Kubernetes ve výchozím nastavení používá nastavení AppArmor. Na podporovaných hostitelích se ve výchozím nastavení použije profil RuntimeDefault AppArmor. |
| Hostující jmenné prostory |
Host network namespaces are disallowed: spec.hostNetwork is set to true nebo Host PID namespaces are disallowed: spec.hostPID is set to true nebo Host IPC namespaces are disallowed: spec.hostIPC is set to true |
Nastavte tyto hodnoty na false hodnotu nebo odeberte specifikaci polí. |
| Privilegované kontejnery | Privileged [ephemeral\|init\|N/A] containers are disallowed: spec.containers[*].securityContext.privileged is set to true |
Nastavte příslušné securityContext.privileged pole na falsehodnotu nebo pole odeberte. |
| Capabilities | Zpráva začíná na Disallowed capabilities detected |
Odeberte funkci zobrazenou v manifestu kontejneru. |
| Svazky HostPath | HostPath volumes are forbidden under restricted security policy unless containers mounting them are from allowed images |
Odeberte svazek HostPath a připojení svazku. |
| Porty hostitele | HostPorts are forbidden under baseline security policy |
Odeberte označení portu hostitele ze problematického kontejneru. |
| SELinux | SELinux type must be one of: undefined/empty, container_t, container_init_t, container_kvm_t, or container_engine_t |
Nastavte pole kontejneru securityContext.seLinuxOptions.type na jednu z povolených hodnot. |
| Typ připojení /proc | ProcMount must be undefined/nil or 'Default' in spec.containers[*].securityContext.procMount |
Nastavte spec.containers[*].securityContext.procMount na Default nebo ponechte bez definování. |
| Sekcomp | Seccomp profile must not be explicitly set to Unconfined. Allowed values are: undefined/nil, RuntimeDefault, or Localhost |
Nastavte securityContext.seccompProfile.type na pod nebo kontejnery na jednu z povolených hodnot. |
| Sysctls | Disallowed sysctl detected. Only baseline Kubernetes pod security standard sysctls are permitted |
Odeberte nepovolené adresáře sysctls. Konkrétní seznam najdete ve specifikaci standardů zabezpečení podů Kubernetes. |
| Typy svazků (pouze PSS) | Only the following volume types are allowed under restricted policy: configMap, csi, downwardAPI, emptyDir, ephemeral, persistentVolumeClaim, projected, secret |
Odeberte všechny svazky, které nepatří mezi povolené typy. |
| Eskalace oprávnění (pouze PSS s omezeným přístupem) | Privilege escalation must be set to false under restricted policy |
Nastavte spec.containers[*].securityContext.allowPrivilegeEscalation na false pro každý kontejner, initContainer a ephemeralContainer. |
| Spuštění jako ne root (pouze pss s omezeným přístupem) | Containers must not run as root user in spec.containers[*].securityContext.runAsNonRoot |
Nastavte spec.containers[*].securityContext.runAsNonRoot na true pro každý kontejner, initContainer a ephemeralContainer. |
| Spustit jako uživatel bez oprávnění root (pouze v omezeném režimu PSS) | Containers must not run as root user: spec.securityContext.runAsUser is set to 0 |
Nastavte securityContext.runAsUser na nenulovou hodnotu nebo ponechte nedefinovanou pro úroveň podu a každý kontejner, initContainer a dočasnýContainer. |
| Seccomp (omezeno pouze na PSS) | Seccomp profile must be "RuntimeDefault" or "Localhost" under restricted policy |
Nastavte securityContext.seccompProfile.type na pod nebo kontejnery na jednu z povolených hodnot. To se liší od základní linie, protože omezená politika neumožňuje nedefinovanou hodnotu. |
| Možnosti (pouze omezeno na PSS) |
All containers must drop ALL capabilities under restricted policy nebo Only NET_BIND_SERVICE may be added to capabilities under restricted policy |
Všechny kontejnery musí odebrat ALL schopnosti a smí přidávat pouze NET_BIND_SERVICE. |
Povolení bezpečnostních opatření nasazení
Poznámka:
Použití úrovně Ochrany Enforce nasazení znamená, že se přihlašujete k blokování a ztlumení nasazení. Než povolíte Enforce, zvažte, jak tyto zásady můžou fungovat s clusterem AKS.
Povolení ochrany nasazení v existujícím clusteru
Povolte ochranu nasazení u existujícího clusteru s povoleným doplňkem Azure Policy pomocí az aks safeguard create příkazu s příznakem --level . Pokud chcete dostávat upozornění na nedodržování předpisů, nastavte --level hodnotu Warn. Pokud chcete zakázat nebo modifikovat všechna nevyhovující nasazení, nastavte to na Enforce.
az aks safeguards create --resource-group <resource-group-name> --name <cluster-name> --level Enforce
Ochranu nasazení můžete také povolit pomocí příznaku --cluster a zadáním ID prostředku clusteru.
az aks safeguards create --cluster <ID> --level Enforce
Pokud chcete aktualizovat úroveň ochrany nasazení existujícího clusteru, spusťte následující příkaz s novou hodnotou pro --level.
az aks safeguards update --resource-group <resource-group-name> --name <cluster-name> --level Warn
Vyloučení oborů názvů
Z bezpečnostních opatření nasazení můžete také vyloučit určité obory názvů. Když vyloučíte obor názvů, na aktivitu v daném oboru názvů nemá vliv upozornění nebo vynucení ochrany nasazení.
Pokud chcete například vyloučit obory ns1 názvů a ns2použít seznam oborů názvů oddělených mezerami s --excluded-ns příznakem, jak je znázorněno v následujícím příkladu:
az aks safeguards update --resource-group <resource-group-name> --name <cluster-name> --level Warn --excluded-ns ns1 ns2
Zapněte standardy zabezpečení podů
Poznámka:
Azure Kubernetes Service (AKS) ve výchozím nastavení používá Privileged standardy zabezpečení podů. Pokud se chcete vrátit k výchozí konfiguraci, nastavte --pss-level flag na Privilegedhodnotu.
Pokud chcete v bezpečnostních opatřeních nasazení povolit standardy zabezpečení podů, vyberte pomocí --pss-level příznaku jednu z následujících úrovní: Baseline, Restrictednebo Privileged.
az aks safeguards update --resource-group <resource-group-name> --name <cluster-name> --level Warn --pss-level <Baseline|Restricted|Privileged>
Aktualizace verze ochrany nasazení
Ochrana nasazení dodržuje schéma správy verzí doplňků AKS. Každá nová verze ochrany Deployment Safeguard bude vydána jako nová podverze v AKS. Tyto aktualizace se budou předávat prostřednictvím poznámek k verzi AKS na GitHubu a projeví se v tabulce Zásady ochrany nasazení v naší dokumentaci.
Další informace o správě verzí a doplňkách AKS najdete v následující dokumentaci: aks-component-versions a aks-versioning-for-addons.
Ověření dodržování předpisů napříč clustery
Po nasazení manifestu Kubernetes se v rozhraní příkazového řádku nebo terminálu zobrazí upozornění nebo potenciální odepření zprávy, pokud cluster nevyhovuje ochraně nasazení, jak je znázorněno v následujících příkladech:
upozornit
$ kubectl apply -f deployment.yaml
Warning: [azurepolicy-k8sazurev1antiaffinityrules-ceffa082711831ebffd1] Deployment with 2 replicas should have either podAntiAffinity or topologySpreadConstraints set to avoid disruptions due to nodes crashing
deployment.apps/simple-web created
vynutit
S mutacemi v rámci úrovně ochrany nasazení Enforce změní prostředky Kubernetes, pokud je to možné. Aby se prostředky Kubernetes mohly úspěšně nasadit, musí stále splnit všechna bezpečnostní opatření. Pokud nějaké zásady ochrany selžou, váš prostředek bude zamítnut a nebude nasazen.
$ kubectl apply -f deployment.yaml
Error from server (Forbidden): error when creating "deployment.yaml": admission webhook "validation.gatekeeper.sh" denied the request: [azurepolicy-k8sazurev1antiaffinityrules-ceffa082711831ebffd1] Deployment with 2 replicas should have either podAntiAffinity or topologySpreadConstraints set to avoid disruptions due to nodes crashing
Pokud vaše prostředky Kubernetes splňují příslušné bezpečnostní opatření pro mutaci a splňují všechny ostatní požadavky na ochranu, budou úspěšně nasazeny, jak je znázorněno v následujícím příkladu:
$ kubectl apply -f deployment.yaml
deployment.apps/simple-web created
Ověření dodržování předpisů napříč clustery pomocí řídicího panelu Azure Policy
Pokud chcete ověřit použití bezpečnostních opatření nasazení a zkontrolovat dodržování předpisů clusteru, přejděte na stránku webu Azure Portal pro váš cluster a vyberte Zásady a pak přejděte na Azure Policy.
V seznamu zásad a iniciativ vyberte iniciativu přidruženou k ochraně nasazení. Zobrazí se řídicí panel zobrazující stav dodržování předpisů v clusteru AKS.
Poznámka:
Aby bylo možné správně vyhodnotit dodržování předpisů v clusteru AKS, musí být iniciativa Azure Policy vymezená na skupinu prostředků vašeho clusteru.
Zakázání bezpečnostních opatření nasazení
Pokud chcete v clusteru zakázat ochranu nasazení, použijte delete příkaz.
az aks safeguards delete --resource-group <resource-group-name> --name <cluster-name>
časté otázky
Můžu si vytvořit vlastní mutaci?
Ne. Pokud máte nápad na ochranu, otevřete problém v úložišti AKS Na GitHubu a přidejte [Deployment Safeguards request] ho na začátek názvu.
Můžu si vybrat, které mutace chci v rámci vymáhání?
Ne. Ochrana nasazení je všechna nebo nic. Po zapnutí režimu Varování nebo Vynucení jsou všechna bezpečnostní opatření aktivní.
Proč byl prostředek nasazení přijat, i když neposlouchal osvědčené postupy?
Ochrana nasazení vynucuje standardy osvědčených postupů prostřednictvím ovládacích prvků Azure Policy a má zásady, které ověřují prostředky Kubernetes. K vyhodnocení a vynucování komponent clusteru, Azure Policy rozšiřuje Gatekeeper. Uplatnění role vrátného v současné době také funguje v fail-open modelu. Protože neexistuje žádná záruka, že Gatekeeper reaguje na naše síťové volání, zajistíme, aby se v takovém případě ověření přeskočilo, aby odepření nezablokovalo vaše nasazení.
Další informace najdete v tématu Ověřování úloh v Gatekeeperu.
Další kroky
- Přečtěte si další informace o osvědčených postupech pro provoz clusteru AKS.