A Azure Policy használata az Azure Cosmos DB-erőforrások szabályozásának és vezérlőinek implementálásához

A KÖVETKEZŐKRE VONATKOZIK: Nosql MongoDB Cassandra Gremlin Táblázat

Azure Policy segít kikényszeríteni a szervezeti szabályozási szabványokat, felmérni az erőforrás-megfelelőséget, és implementálni az automatikus szervizelést. A gyakori használati esetek közé tartozik a biztonság, a költségkezelés és a konfigurációs konzisztencia.

Azure Policy beépített szabályzatdefiníciókat biztosít. Létrehozhat egyéni szabályzatdefiníciókat olyan forgatókönyvekhez, amelyeket a beépített szabályzatdefiníciók nem kezelnek. További részletekért tekintse meg a Azure Policy dokumentációját.

Fontos

Azure Policy az Azure-szolgáltatások erőforrás-szolgáltatói szintjén van kényszerítve. Az Azure Cosmos DB SDK-k az Azure Cosmos DB erőforrás-szolgáltatóját megkerülő adatbázis-, tároló- és átviteli sebességű erőforrásokon hajthatják végre a legtöbb felügyeleti műveletet, így figyelmen kívül hagyják az Azure Policy használatával létrehozott szabályzatokat. A szabályzatok érvényesítésének biztosítása érdekében lásd: Az Azure Cosmos DB SDK-k módosításainak megakadályozása

Beépített szabályzatdefiníció hozzárendelése

A szabályzatdefiníciók ismertetik az erőforrás-megfelelőségi feltételeket és a feltételek teljesülésekor kiváltandó hatást. A szabályzat-hozzárendelésekszabályzatdefiníciókból jönnek létre. Az Azure Cosmos DB-erőforrásokhoz beépített vagy egyéni szabályzatdefiníciókat is használhat. A szabályzat-hozzárendelések hatóköre egy Azure-felügyeleti csoportra, egy Azure-előfizetésre vagy egy erőforráscsoportra vonatkozik, és a kiválasztott hatókörön belüli erőforrásokra lesznek alkalmazva. Ha szeretné, kizárhat bizonyos erőforrásokat a hatókörből.

Szabályzat-hozzárendeléseket a Azure Portal, Azure PowerShell, Azure CLI vagy ARM sablonnal hozhat létre.

Ha szabályzat-hozzárendelést szeretne létrehozni az Azure Cosmos DB beépített szabályzatdefiníciójából, használja a szabályzat-hozzárendelések létrehozásának lépéseit a Azure Portal cikkben.

A szabályzatdefiníció kiválasztásának lépésekor írja be Azure Cosmos DB a Keresőmezőbe az elérhető beépített szabályzatdefiníciók listáját. Válassza ki az elérhető beépített szabályzatdefiníciók egyikét, majd válassza a Kiválasztás lehetőséget a szabályzat-hozzárendelés létrehozásának folytatásához.

Tipp

A szabályzat-hozzárendelések létrehozásához az Elérhető definíciók panelen látható beépített szabályzatdefiníciók neveit is használhatja Azure PowerShell, Azure CLI- vagy ARM-sablonokkal.

Az Azure Cosmos DB beépített szabályzatdefinícióinak keresése

Egyéni szabályzatdefiníció létrehozása

A beépített szabályzatok által nem kezelt konkrét forgatókönyvek esetében létrehozhat egyéni szabályzatdefiníciót. Később létrehoz egy szabályzat-hozzárendelést az egyéni szabályzatdefinícióból.

Tulajdonságtípusok és tulajdonságaliasok a szabályzatszabályokban

Az egyéni szabályzatdefiníciós lépésekkel azonosíthatja azokat az erőforrás-tulajdonságokat és tulajdonságaliasokat, amelyek a szabályzatszabályok létrehozásához szükségesek.

Az Azure Cosmos DB-hez tartozó tulajdonságaliasok azonosításához használja a névteret Microsoft.DocumentDB az egyéni szabályzatdefiníciós lépésekről szóló cikkben szereplő módszerek egyikével.

Az Azure CLI használata:

# Login first with az login if not using Cloud Shell

# Get Azure Policy aliases for namespace Microsoft.DocumentDB
az provider show --namespace Microsoft.DocumentDB --expand "resourceTypes/aliases" --query "resourceTypes[].aliases[].name"

Használja Azure PowerShell:

# Login first with Connect-AzAccount if not using Cloud Shell

# Use Get-AzPolicyAlias to list aliases for Microsoft.DocumentDB namespace
(Get-AzPolicyAlias -NamespaceMatch 'Microsoft.DocumentDB').Aliases

Ezek a parancsok az Azure Cosmos DB tulajdonság tulajdonsága aliasneveinek listáját kimenetelik. Az alábbiakban egy részletet talál a kimenetből:

[
  "Microsoft.DocumentDB/databaseAccounts/sku.name",
  "Microsoft.DocumentDB/databaseAccounts/virtualNetworkRules[*]",
  "Microsoft.DocumentDB/databaseAccounts/virtualNetworkRules[*].id",
  "Microsoft.DocumentDB/databaseAccounts/isVirtualNetworkFilterEnabled",
  "Microsoft.DocumentDB/databaseAccounts/consistencyPolicy.defaultConsistencyLevel",
  "Microsoft.DocumentDB/databaseAccounts/enableAutomaticFailover",
  "Microsoft.DocumentDB/databaseAccounts/Locations",
  "Microsoft.DocumentDB/databaseAccounts/Locations[*]",
  "Microsoft.DocumentDB/databaseAccounts/Locations[*].locationName",
  "..."
]

A tulajdonságaliasnevek bármelyikét használhatja az egyéni szabályzatdefiníciós szabályokban.

Az alábbi példaházirend-definíció ellenőrzi, hogy egy Azure Cosmos DB-fiók több írási helyre van-e konfigurálva. Az egyéni szabályzatdefiníció két szabályt tartalmaz: az egyik a tulajdonságalias típusának ellenőrzésére, a második pedig a típus adott tulajdonságára vonatkozik, ebben az esetben a több írási hely beállítását tároló mezőre. Mindkét szabály az aliasneveket használja.

"policyRule": {
  "if": {
    "allOf": [
      {
        "field": "type",
        "equals": "Microsoft.DocumentDB/databaseAccounts"
      },
      {
        "field": "Microsoft.DocumentDB/databaseAccounts/enableMultipleWriteLocations",
        "notEquals": true
      }
    ]
  },
  "then": {
    "effect": "Audit"
  }
}

Az egyéni szabályzatdefiníciók ugyanúgy használhatók szabályzat-hozzárendelések létrehozására, mint a beépített szabályzatdefiníciók.

Szabályzatmegfelelőség

A szabályzat-hozzárendelések létrehozása után Azure Policy kiértékeli a hozzárendelés hatókörében lévő erőforrásokat. Minden erőforrás megfelel a szabályzatnak. A szabályzatban megadott hatás a nem megfelelő erőforrásokra lesz alkalmazva.

A megfelelőségi eredményeket és a szervizelési adatokat az Azure Portal vagy az Azure CLI-vel vagy az Azure Monitor-naplókkal tekintheti át.

Az alábbi képernyőképen két példaszabályzat-hozzárendelés látható.

Az egyik hozzárendelés egy beépített szabályzatdefiníción alapul, amely ellenőrzi, hogy az Azure Cosmos DB-erőforrások csak az engedélyezett Azure-régiókban vannak-e üzembe helyezve. Az erőforrás-megfelelőség a szabályzatértékelés eredményét jeleníti meg (megfelelő vagy nem megfelelő) a hatókörön belüli erőforrások esetében.

A másik hozzárendelés egy egyéni szabályzatdefiníción alapul. Ez a hozzárendelés ellenőrzi, hogy az Azure Cosmos DB-fiókok több írási helyre vannak-e konfigurálva.

A szabályzat-hozzárendelések üzembe helyezése után a megfelelőségi irányítópult kiértékelési eredményeket jelenít meg. Vegye figyelembe, hogy ez a szabályzat-hozzárendelés üzembe helyezése után akár 30 percet is igénybe vehet. Emellett a szabályzatértékelési vizsgálatok azonnal elindíthatók igény szerint a szabályzat-hozzárendelések létrehozása után.

A képernyőképen a hatókörön belüli Azure Cosmos DB-fiókok következő megfelelőségi kiértékelési eredményei láthatók:

  • Két fiók közül nulla felel meg egy olyan szabályzatnak, amelyet Virtual Network (VNet) szűrést kell konfigurálni.
  • Két fiókból nulla felel meg egy olyan szabályzatnak, amely megköveteli, hogy a fiókot több írási helyre konfigurálják
  • Két fiók közül nulla felel meg egy olyan szabályzatnak, amely szerint az erőforrások az engedélyezett Azure-régiókban lettek üzembe helyezve.

A felsorolt Azure Policy-hozzárendelések megfelelőségi eredményei

A nem megfelelő erőforrások szervizeléséhez tekintse meg, hogyan szervizelhet erőforrásokat Azure Policy.

Következő lépések