Megosztás a következőn keresztül:


Az Azure Policy használatával kapcsolatos hibák elhárítása

Amikor szabályzatdefiníciókat hoz létre, SDK-kkal dolgozik, vagy beállítja az Azure Policy for Kubernetes bővítményt, hibákba ütközhet. Ez a cikk különböző általános hibákat ismertet, és megoldási módszereket javasol.

A hiba részleteinek megkeresése

A hiba részleteinek helye attól függ, hogy az Azure Policy mely jellemzőit használja.

  • Ha egyéni szabályzatot használ, lépjen az Azure Portalra a sémával kapcsolatos linting-visszajelzés megtekintéséhez, vagy tekintse meg az eredményül kapott megfelelőségi adatokat, hogy megtudhassa, hogyan történt az erőforrások kiértékelése.
  • Ha a különböző SDK-k valamelyikét használja, az SDK részleteket nyújt a függvény meghiúsulásának okával kapcsolatban.
  • Ha a Kuberneteshez készült bővítményt használja, kezdje a fürtben lévő naplózással.

Általános hibák

Forgatókönyv: Az alias nem található

Probléma

Egy szabályzatdefinícióban helytelen vagy nem létező alias van használatban. Az Azure Policy aliasokat használ az Azure Resource Manager-tulajdonságok leképezéséhez.

Ok

Egy szabályzatdefinícióban helytelen vagy nem létező alias van használatban.

Resolution (Osztás)

Először ellenőrizze, hogy a Resource Manager tulajdonság rendelkezik-e aliasnévvel. Az elérhető aliasok megtekintéséhez navigáljon a Visual Studio Code-hoz készült Azure Policy-bővítményhez vagy az SDK-hoz. Ha egy Resource Manager-tulajdonság aliasa nem létezik, hozzon létre egy támogatási jegyet.

Forgatókönyv: A kiértékelés részletei nem naprakészek

Probléma

Egy erőforrás Nincs elindítva állapotban van, vagy a megfelelőség részletei nem tükrözik a jelenlegi állapotot.

Ok

Egy új szabályzat vagy kezdeményezés hozzárendelésének alkalmazása körülbelül öt percet vesz igénybe. A meglévő hozzárendelés hatókörében lévő új vagy frissített erőforrások körülbelül 15 perc alatt elérhetővé válnak. 24 óránként történik szabványoknak való megfelelőségi vizsgálat. További információért lásd: kiértékelési triggerek.

Resolution (Osztás)

Előbb várja meg, amíg befejeződik az értékelés, és a megfelelőségi eredmények elérhetővé válnak az Azure Portalon vagy az SDK-ban. Új értékelési vizsgálat indításához az Azure PowerShell vagy a REST API használatával lásd: Igény szerinti értékelési vizsgálat.

Forgatókönyv: A megfelelőség nem egyezik a várttal

Probléma

Az erőforrás nem megfelelő vagy nem megfelelő kiértékelési állapotban van az erőforrásra vonatkozóan.

Ok

A erőforrás nincs a megfelelő szabályzat-hozzárendelési hatókörben, vagy a szabályzatdefiníció nem működik megfelelően.

Resolution (Osztás)

A szabályzatdefiníció hibaelhárításához hajtsa végre a következő lépéseket:

  1. Előbb várja meg, amíg befejeződik az értékelés, és a megfelelőségi eredmények elérhetővé válnak az Azure Portalon vagy az SDK-ban.
  2. Új értékelési vizsgálat indításához az Azure PowerShell vagy a REST API használatával lásd: Igény szerinti értékelési vizsgálat.
  3. Győződjön meg arról, hogy a hozzárendelési paraméterek és a hozzárendelés hatóköre megfelelően van beállítva.
  4. Ellenőrizze a szabályzatdefiníciós módot:
    • A módnak minden erőforrástípushoz meg kell lennie all .
    • A módnak akkor kell lennie indexed , ha a szabályzatdefiníció címkéket vagy helyet keres.
  5. Győződjön meg arról, hogy az erőforrás hatóköre nincs kizárva vagy kivétel nélkül.
  6. Ha a szabályzat-hozzárendelések megfelelősége erőforrásokat mutat 0/0 , a rendszer nem állapította meg, hogy az erőforrások alkalmazhatók-e a hozzárendelés hatókörében. Ellenőrizze a szabályzatdefiníciót és a hozzárendelés hatókörét.
  7. A nem megfelelő, de megfelelőnek várt erőforrások esetében lásd a nem megfelelőség okainak meghatározásával foglalkozó részt. A definíció és a kiértékelt tulajdonság értékének összehasonlítása mutatja meg az erőforrás nem megfelelőségének okát.
    • Ha a célérték helytelen, módosítsa a szabályzatdefiníciót.
    • Ha az aktuális érték helytelen, ellenőrizze az erőforrás hasznos adatait resources.azure.com.
  8. RegEx-sztringparamétert támogató erőforrás-szolgáltatói mód-definíciók esetében (például Microsoft.Kubernetes.Data a beépített "Tárolólemezképeket csak megbízható adatbázisból kell üzembe helyezni"), ellenőrizze, hogy a RegEx sztringparaméter helyes-e.
  9. Egyéb gyakori problémákért és megoldásokért lásd: Hibaelhárítás: A betartatás nem a várt módon működik.

Ha továbbra is problémát tapasztal a duplikált és testre szabott beépített szabályzatdefinícióval vagy egyéni definícióval kapcsolatban, a probléma megfelelő kezeléséhez a Szabályzat létrehozása kategóriában hozzon létre támogatási jegyet.

Forgatókönyv: A betartatás nem a várt módon működik

Probléma

Az Azure Policy nem hajtja végre a várt műveleteket egy erőforráson, és az Azure-tevékenységnaplóban nem szerepel bejegyzés.

Ok

A házirend-hozzárendelés a letiltott kényszerítésiMode beállításhoz lett konfigurálva. Amíg enforcementMode le van tiltva, a szabályzat hatása nincs kényszerítve, és nincs bejegyzés a tevékenységnaplóban.

Resolution (Osztás)

A szabályzat-hozzárendelés végrehajtásának hibaelhárítása az alábbi lépések végrehajtásával:

  1. Ellőbb várja meg, amíg befejeződik az értékelés, és a megfelelőségi eredmények elérhetővé válnak az Azure Portalon vagy az SDK-ban.
  2. Új értékelési vizsgálat indításához az Azure PowerShell vagy a REST API használatával lásd: Igény szerinti értékelési vizsgálat.
  3. Győződjön meg arról, hogy a hozzárendelési paraméterek és a hozzárendelés hatóköre helyesen van beállítva, és engedélyezve enforcementModevan.
  4. Ellenőrizze a szabályzatdefiníciós módot:
    • A módnak minden erőforrástípushoz meg kell lennie all .
    • A módnak akkor kell lennie indexed , ha a szabályzatdefiníció címkéket vagy helyet keres.
  5. Győződjön meg arról, hogy az erőforrás hatóköre nincs kizárva vagy kivétel nélkül.
  6. Ellenőrizze, hogy az erőforrás hasznos adatai megegyeznek-e a szabályzatlogikával. Ez az ellenőrzés egy HTTP-archívum (HAR) nyomkövetésének rögzítésével vagy az Azure Resource Manager-sablon (ARM-sablon) tulajdonságainak áttekintésével végezhető el.
  7. Egyéb gyakori problémákért és megoldásokért lásd: Hibaelhárítás: A megfelelőség nem a várt módon működik.

Ha továbbra is problémát tapasztal a duplikált és testre szabott beépített szabályzatdefinícióval vagy egyéni definícióval kapcsolatban, a probléma megfelelő kezeléséhez a Szabályzat létrehozása kategóriában hozzon létre támogatási jegyet.

Forgatókönyv: Az Azure Policy megtagadja a műveletet

Probléma

Az erőforrás létrehozását vagy frissítését a rendszer elutasítja.

Ok

Az új vagy frissített erőforrásra vonatkozó szabályzat-hozzárendelés megfelel egy Megtagadás hatású szabályzatdefiníció feltételeinek. Az e definícióknak megfelelő erőforrások nem hozhatók létre és nem frissíthetők.

Resolution (Osztás)

Az elutasításiszabályzat-hozzárendelésből származó hibaüzenetben szerepel a szabályzatdefiníció és a szabályzat-hozzárendelés azonosítója. Ha nem tekintette meg az üzenetben szereplő hibainformációkat, elérheti azokat a Tevékenységnaplóban is. Ezen információk révén részletesebben tájékozódhat az erőforrás-korlátozásokról, illetve módosíthatja a kérelemben szereplő erőforrás-tulajdonságokat az engedélyezett értékeknek megfelelően.

Forgatókönyv: A definíció több erőforrástípusra vonatkozik

Probléma

A több erőforrástípust tartalmazó szabályzatdefiníció ellenőrzése a létrehozás vagy a frissítés során a következő hibaüzenettel meghiúsul:

The policy definition '{0}' targets multiple resource types, but the policy rule is authored in a way that makes the policy not applicable to the target resource types '{1}'.

Ok

A szabályzatdefiníció szabályában van legalább egy olyan feltétel, amelyet a cél erőforrástípusok nem értékelnek.

Resolution (Osztás)

Ha aliast használ, győződjön meg arról, hogy az alias csak a hozzá tartozó erőforrástípussal lesz kiértékelve, ha előtte egy típusfeltételt ad hozzá. Alternatív megoldásként ossza fel a szabályzatdefiníciót több különálló definícióra, így elkerülheti, hogy a definíció több erőforrástípusra vonatkozzon.

Forgatókönyv: Túllépte az előfizetés korlátait

Probléma

Az Azure Portal megfelelőségi oldalán hibaüzenet jelenik meg a szabályzat-hozzárendelések megfelelőségének lekérésekor.

Ok

A kérelemben kiválasztott hatókörökben lévő előfizetések száma meghaladta az 5000 előfizetésre vonatkozó korlátot. Előfordulhat, hogy a megfelelőségi eredmények részben megjelennek.

Resolution (Osztás)

A teljes eredmények megtekintéséhez válasszon ki egy részletesebb hatókört kevesebb gyermek-előfizetéssel.

Sablonhibák

Forgatókönyv: Szabályzat által támogatott függvények sablon alapján feldolgozva

Probléma

Az Azure Policy számos ARM-sablonfüggvényt és függvényt támogat, amelyek csak szabályzatdefiníciókban érhetők el. A Resource Manager ezeket a függvényeket a házirenddefiníció helyett az üzembe helyezés részeként dolgozza fel.

Ok

A támogatott függvények( például parameter() vagy resourceGroup()) használata a függvény feldolgozott eredményét eredményezi az üzembe helyezéskor, ahelyett, hogy lehetővé tenné a függvény feldolgozását a szabályzatdefiníció és az Azure Policy-motor számára.

Resolution (Osztás)

Ha egy függvényt egy szabályzatdefiníció részeként szeretne átadni, a teljes sztringet [ úgy kell feloldani, hogy a tulajdonság így nézzen [[resourceGroup().tags.myTag]ki. A feloldó karakter hatására a Resource Manager sztringként kezeli az értéket, amikor feldolgozza a sablont. Az Azure Policy ezután a függvényt a szabályzatdefinícióba helyezi, amely lehetővé teszi, hogy a várt módon dinamikus legyen. További információ: Szintaxis és kifejezések az Azure Resource Manager-sablonokban.

A Kubernetes telepítési hibáinak bővítménye

Forgatókönyv: A Helm-diagram használatával történő telepítés jelszóhiba miatt meghiúsul

Probléma

A helm install azure-policy-addon parancs sikertelen, és az alábbi hibák egyikét adja vissza:

  • !: event not found
  • Error: failed parsing --set data: key "<key>" has no value (cannot end with ,)

Ok

A létrehozott jelszó tartalmaz egy vesszőt (,), amelyre a Helm-diagram fel van osztva.

Resolution (Osztás)

Futtatáskor helm install azure-policy-addona jelszóérték vesszőjének (,) feloldása fordított perjellel (\).

Forgatókönyv: A Helm-diagram használatával történő telepítés meghiúsul, mert a név már létezik

Probléma

A helm install azure-policy-addon parancs sikertelen, és a következő hibát adja vissza:

  • Error: cannot re-use a name that is still in use

Ok

A Helm-diagram azure-policy-addon neve már telepítve van, vagy részben telepítve van.

Resolution (Osztás)

Kövesse az utasításokat az Azure Policy for Kubernetes bővítmény eltávolításához, majd futtassa újra a helm install azure-policy-addon parancsot.

Forgatókönyv: Az Azure-beli virtuális gépek felhasználó által hozzárendelt identitásai helyébe rendszer által hozzárendelt felügyelt identitások kerülnek

Probléma

Miután hozzárendelte a vendégkonfigurációs házirend kezdeményezéseit a gép naplózási beállításaihoz, a géphez rendelt felhasználó által hozzárendelt felügyelt identitások már nem lesznek hozzárendelve. Csak rendszer által hozzárendelt felügyelt identitás van hozzárendelve.

Ok

A vendégkonfiguráció-definíciókban deployIfNotExists korábban használt szabályzatdefiníciók gondoskodtak arról, hogy a rendszer által hozzárendelt identitás hozzá legyen rendelve a géphez. De a felhasználó által hozzárendelt identitás-hozzárendeléseket is eltávolították.

Resolution (Osztás)

A korábban ezt a problémát okozó definíciók a \[Deprecated\]felhasználó által hozzárendelt felügyelt identitások eltávolítása nélkül kezelik az előfeltételeket kezelő szabályzatdefiníciókat. Manuális lépésre van szükség. Törölje azokat a meglévő szabályzat-hozzárendeléseket, amelyek a következőként \[Deprecated\]vannak megjelölve, és cserélje le őket a frissített előfeltétel-szabályzat kezdeményezésére és az eredetivel azonos névvel rendelkező szabályzatdefiníciókra.

Részletes leírásért tekintse meg a vendégkonfigurációs naplózási szabályzatokhoz kiadott fontos módosításokat ismertető blogbejegyzést.

A Kubernetes általános hibáinak bővítménye

Forgatókönyv: A bővítmény a kimenő forgalom korlátozásai miatt nem éri el az Azure Policy szolgáltatás végpontját

Probléma

A bővítmény nem éri el az Azure Policy szolgáltatásvégpontot, és az alábbi hibák egyikét adja vissza:

  • failed to fetch token, service not reachable
  • Error getting file "Get https://raw.githubusercontent.com/Azure/azure-policy/master/built-in-references/Kubernetes/container-allowed-images/template.yaml: dial tcp 151.101.228.133.443: connect: connection refused

Ok

Ez a probléma akkor fordul elő, ha a fürt kimenő forgalmát zárolták.

Resolution (Osztás)

Győződjön meg arról, hogy a következő cikkben említett tartományok és portok nyitva vannak:

Forgatókönyv: A bővítmény az aad-pod-identity konfigurációja miatt nem éri el az Azure Policy szolgáltatás végpontját

Probléma

A bővítmény nem éri el az Azure Policy szolgáltatásvégpontot, és az alábbi hibák egyikét adja vissza:

  • azure.BearerAuthorizer#WithAuthorization: Failed to refresh the Token for request to https://gov-prod-policy-data.trafficmanager.net/checkDataPolicyCompliance?api-version=2019-01-01-preview: StatusCode=404
  • adal: Refresh request failed. Status Code = '404'. Response body: getting assigned identities for pod kube-system/azure-policy-8c785548f-r882p in CREATED state failed after 16 attempts, retry duration [5]s, error: <nil>

Ok

Ez a hiba akkor fordul elő, ha aad-pod-identity a fürtre van telepítve, és a kube-rendszer podjai nincsenek kizárva a fájlból aad-pod-identity.

A aad-pod-identity csomópontok felügyelt identitásának (NMI) összetevő podjai úgy módosítják a csomópontok iptable-jait, hogy elfogják az Azure-példány metaadat-végpontjához intézett hívásokat. Ez a beállítás azt jelenti, hogy a metaadat-végpontra irányuló kéréseket az NMI elfogja, még akkor is, ha a pod nem használja aad-pod-identity. A AzurePodIdentityException CustomResourceDefinition (CRD) konfigurálható úgy, hogy tájékoztassa, aad-pod-identity hogy a CRD-ben definiált címkéknek megfelelő podból származó metaadat-végpontra irányuló kéréseket az NMI-ben történő feldolgozás nélkül kell létrehozni.

Resolution (Osztás)

Zárja ki azokat a rendszer podokat, amelyekben a címke szerepel a kubernetes.azure.com/managedby: aks kube-system névtérben aad-pod-identity a AzurePodIdentityException CRD konfigurálásával.

További információ: Az Azure Active Directory (Azure AD) podidentitásának letiltása egy adott pod/alkalmazás esetében.

Kivétel konfigurálásához kövesse az alábbi példát:

apiVersion: "aadpodidentity.k8s.io/v1"
kind: AzurePodIdentityException
metadata:
  name: mic-exception
  namespace: default
spec:
  podLabels:
    app: mic
    component: mic
---
apiVersion: "aadpodidentity.k8s.io/v1"
kind: AzurePodIdentityException
metadata:
  name: aks-addon-exception
  namespace: kube-system
spec:
  podLabels:
    kubernetes.azure.com/managedby: aks

Forgatókönyv: Az erőforrás-szolgáltató nincs regisztrálva

Probléma

A bővítmény elérheti az Azure Policy szolgáltatás végpontját, de a bővítménynaplók az alábbi hibák egyikét jelenítik meg:

  • The resource provider 'Microsoft.PolicyInsights' is not registered in subscription '{subId}'. See https://aka.ms/policy-register-subscription for how to register subscriptions.

  • policyinsightsdataplane.BaseClient#CheckDataPolicyCompliance: Failure responding to request: StatusCode=500 -- Original Error: autorest/azure: Service returned an error. Status=500 Code="InternalServerError" Message="Encountered an internal server error.

Ok

Az Microsoft.PolicyInsights erőforrás-szolgáltató nincs regisztrálva. Regisztrálni kell a bővítményhez a szabályzatdefiníciók lekéréséhez és a megfelelőségi adatok visszaadásához.

Resolution (Osztás)

Regisztrálja az Microsoft.PolicyInsights erőforrás-szolgáltatót a fürt-előfizetésben. Útmutatásért lásd: Erőforrás-szolgáltató regisztrálása.

Forgatókönyv: Az előfizetés le van tiltva

Probléma

A bővítmény elérheti az Azure Policy szolgáltatásvégpontot, de a következő hiba jelenik meg:

The subscription '{subId}' has been disabled for azure data-plane policy. Please contact support.

Ok

Ez a hiba azt jelenti, hogy az előfizetés problémásnak lett megállapítva, és a funkciójelző Microsoft.PolicyInsights/DataPlaneBlocked hozzá lett adva az előfizetés letiltásához.

Resolution (Osztás)

A probléma kivizsgálásához és megoldásához forduljon a szolgáltatáscsoporthoz.

Forgatókönyv: A "Vendégkonfiguráció" kategória definíciói nem duplikálhatók az Azure Portalról

Probléma

Amikor egyéni szabályzatdefiníciót próbál létrehozni az Azure Portal oldaláról a szabályzatdefiníciókhoz, válassza a Duplikált definíció gombot. A szabályzat hozzárendelése után úgy találja, hogy a gépek nem megfelelőek , mert nincs vendégkonfiguráció-hozzárendelési erőforrás.

Ok

A vendégkonfiguráció a szabályzatdefiníciókhoz hozzáadott egyéni metaadatokra támaszkodik a vendégkonfiguráció-hozzárendelési erőforrások létrehozásakor. Az Azure Portal ismétlődő definíciós tevékenysége nem másol egyéni metaadatokat.

Resolution (Osztás)

A portál használata helyett duplikálja a szabályzatdefiníciót a Policy Insights API használatával. Az alábbi PowerShell-minta átmásolhatja a szabályzatdefiníciót, beleértve a metaadatokat az Az.Resources 7.3.0-s vagy újabb verziójával.

# duplicates the built-in policy which audits Windows machines for pending reboots
$def = Get-AzPolicyDefinition -id "/providers/Microsoft.Authorization/policyDefinitions/4221adbc-5c0f-474f-88b7-037a99e6114c"
New-AzPolicyDefinition -name (new-guid).guid -DisplayName "$($def.DisplayName) (Copy)" -Description $def.Description -Metadata ($def.Metadata | convertto-json) -Parameter ($def.Parameter | convertto-json) -Policy ($def.PolicyRule | convertto-json -depth 15)

Forgatókönyv: A Kubernetes-erőforrás a csatlakozási hiba során jön létre annak ellenére, hogy a megtagadási szabályzat hozzárendelése folyamatban van

Probléma

Ha a Kubernetes-fürt csatlakozási hibája van, előfordulhat, hogy az újonnan létrehozott vagy frissített erőforrások kiértékelése megkerülhető a Gatekeeper sikertelen megnyitási viselkedése miatt.

Ok

A GK feladatmegnyitási modell kialakítása és a közösségi visszajelzések alapján történik. A Gatekeeper dokumentációja a következő okokra terjed ki: https://open-policy-agent.github.io/gatekeeper/website/docs/failing-closed#considerations.

Resolution (Osztás)

Az előző eseménynél a hibaeset a bevezetési webhook által biztosított metrikákból figyelhető megkube-apiserver. Ha a kiértékelést megkerülik a létrehozáskor, és létrejön egy objektum, akkor az Azure Policy-megfelelőségről az ügyfelek nem megfelelő jelzőjeként jelentik.

A forgatókönyvtől függetlenül az Azure Policy megtartja a fürt utolsó ismert szabályzatát, és megőrzi a védőkorlátokat.

Következő lépések

Ha a probléma nem szerepel a cikkben, vagy nem tudja megoldani, az alábbi csatornák egyikének felkeresésével kérhet támogatást:

  • Szakértők válaszolnak a Microsoft Q&A-n keresztül.
  • Csatlakozzon @AzureSupport. Ez a hivatalos Microsoft Azure-erőforrás az X-en segít az ügyfélélmény javításában azáltal, hogy összekapcsolja az Azure-közösséget a megfelelő válaszokkal, támogatással és szakértőkkel.
  • Ha továbbra is segítségre van szüksége, lépjen a Azure-támogatás webhelyre, és válassza a Támogatási jegy elküldése lehetőséget.