Share via


Szabályzatalapú védőkorlátok bevezetése

A szabályzatok használata előtt tisztában kell lenni azzal, hogy hol használják őket az Azure-beli kezdőzóna referencia-implementációiban, és miért. Ez a cikk segít megérteni, hogy meg szeretné-e akadályozni, hogy a DeployIfNotExists (DINE) vagy a Szabályzatok módosítása módosításokat hajtson végre az Azure-környezetben.

Miért érdemes DINE-t és Modify-szabályzatokat használni?

A DINE és a Modify szabályzatok az Azure célzóna referencia-implementációinak részét képezik. Segítenek Önnek és szervezetének biztosítani a kezdőzónákat, amelyek más néven előfizetések, és a bennük lévő erőforrások megfelelőek. Ezek a szabályzatok a platform- és kezdőzóna-csapatok működési terheit is megszüntetik az Azure-környezet méretezése során.

Vegyük például azt a forgatókönyvet, amikor egy új célzóna-előfizetés ki van építve, és a "corp" felügyeleti csoportba kerül. A DINE és a Modify szabályzatok ezután a következő műveleteket hajtják végre a kezdőzóna-előfizetéshez:

  • Engedélyezze a Felhőhöz készült Microsoft Defender. Konfigurálja Felhőhöz készült Defender exportálásokat a felügyeleti előfizetés központi Log Analytics-munkaterületére.
  • Engedélyezze a Felhőhöz készült Defender a különböző támogatott ajánlatokhoz a szabályzat-hozzárendelésen konfigurált szabályzatparaméterek alapján.
  • Konfigurálja az Azure-tevékenységnaplókat úgy, hogy a felügyeleti előfizetés központi Log Analytics-munkaterületére küldjenek.
  • Konfigurálja a felügyeleti előfizetés központi Log Analytics-munkaterületére küldendő összes erőforrás diagnosztikai beállításait.
  • Telepítse a szükséges Azure Monitor-ügynököket a virtuális gépekhez és az Azure-beli virtuálisgép-méretezési csoportokhoz, beleértve az Azure Arc-hez csatlakoztatott kiszolgálókat is. Csatlakozás őket a felügyeleti előfizetés központi Log Analytics-munkaterületére.

Megjegyzés:

Az előző beállításokat bármikor letilthatja, vagy az Azure-beli célzóna referencia-implementációinak üzembe helyezése során.

Az előző lista az Azure-beli célzónagyorsító részeként hozzárendelt összes szabályzat egy részét jeleníti meg. Az Azure-beli kezdőzóna referencia-implementációja által hozzárendelhető szabályzatok teljes listájáért tekintse meg az Azure-beli célzónák referencia-implementációiban szereplő szabályzatokat.

Az Azure-beli kezdőzónák bicep-adattára moduláris. A fenti alapértelmezett szabályzatok az ALZ Alapértelmezett házirend-hozzárendelések modullal telepíthetők.

Minden hozzárendelt szabályzat segít Önnek és a kezdőzóna-tulajdonosoknak a megfelelőség megőrzésében. A rendszer nem helyez üzembe tényleges számítási feladat-erőforrásokat a DINE-en vagy a Módosítási szabályzaton keresztül. Ezt sem javasoljuk. További információ: Használjuk-e az Azure Policyt számítási feladatok üzembe helyezéséhez? Ezek a DINE-szabályzatok csak kiegészítő vagy támogató erőforrásokat vagy beállításokat helyeznek üzembe vagy konfigurálnak.

Az Azure-beli célzónák referencia-implementációi a DINE Azure-szabályzatokkal segítenek a szabályzatalapú irányítás elérésében az Azure-környezetben. De lehet, hogy nem tudja használni a DINE-t vagy a módosítási szabályzatokat, vagy nem áll készen az ilyen típusú Azure-szabályzatok engedélyezésére a következő miatt:

  • Szabályozási megfelelőségi szabályzatok, szabványok vagy jogi korlátozások.
  • Szigorú változásvezérlési folyamatok, amelyek emberi jóváhagyást igényelnek az Azure-környezet minden műveletéhez.
  • A DINE-szabályzatok kezelésével és használatával kapcsolatos szakértelem, tapasztalat és ismeretek hiánya.
  • A számítási feladatok erőforráskonfigurációját, beleértve a kiegészítő erőforrásokat, a támogató erőforrásokat és a beállításokat, az infrastruktúrában kódként (IaC) definiálják a számítási feladatok alkalmazáscsapatai.

Ha beleillik az előző példákba vagy hasonló forgatókönyvekbe, ez a cikk segít megérteni az Azure célzóna fogalmi architektúrájának bevezetését és a tervezési alapelvek betartását. Bár kezdetben nem fog bizonyos szabályzatokat használni, a jövőben fokozatosan engedélyezheti őket. A cél az, hogy segítsen a szabályzatalapú irányítás elérésében.

Fontos

Ebben a cikkben két lehetséges értéket láthat a kényszerítési mód kifejezéseihez:

  • Letiltva vagy DoNotEnforce
  • Engedélyezve vagy alapértelmezettként

Az Azure Portal letiltva és engedélyezve van a kényszerítési módhoz. Az Azure Resource Manager- (ARM-) sablonok és más API-felületek a DoNotEnforce és az Alapértelmezett elemet használják ugyanahhoz a beállításhoz.

További információ: Kényszerítési mód.

Ha továbbra is biztos abban, hogy a szervezet nem tudja használni a DINE vagy a Modify szabályzatokat, ez a cikk bemutatja, hogyan akadályozhatja meg (más néven letiltani) a szabályzatokat az Azure-környezet automatikus módosításában.

Megjegyzés:

Ez a művelet nem állandó. A szabályzatok bármikor újra szerkeszthetők a platformcsapat egy tagja által, ha később úgy dönt, hogy a DINE vagy a Modify szabályzatokat használja.

További információ: 2. és 3. fázis.

Az erőforrás-választók támogatása a szabályzatalapú irányítás esetében is alkalmazható, hogy Széf üzembehelyezési eljárások (SDP) betartva legyenek. Az erőforrás-választók a szabályzat-hozzárendelések fokozatos bevezetésének funkcióját hozzák létre olyan tényezők alapján, mint az erőforrás helye, az erőforrás típusa vagy az erőforrás helye. További információ ebben a dokumentumban található.

Megközelítés áttekintése

Az alábbi diagram a javasolt fázisos megközelítést foglalja össze:

Graphic that shows a DINE phases overview.

  1. Állítsa be a kényszerítési módotDoNotEnforce szabályzat-hozzárendelésekre:
    • Ezzel a funkcióval úgy módosíthatja a hozzárendelések viselkedését, hogy az a mögöttes szabályzatdefiníció módosítása nélkül csak naplózási szabályzattá váljon.
    • Ez a módszer lehetővé teszi a nem megfelelő erőforrások manuális szervizelési feladatainak elvégzését is, ha szeretné, szervizelési feladatokat használva.
  2. Állítsa a kényszerítési módot Default a szabályzat-hozzárendelésekre úgy, hogy a DINE-szabályzat-hozzárendelések automatikus szervizelése csökkentett hatókörben történjen:
    • Dönthet úgy, hogy egy teljes környezetet használ, például a Tesztkörnyezet felügyeleti csoportját.
    • Vagy használhat nem kritikus számítási feladatokra vonatkozó előfizetést is.
  3. Állítsa be a kényszerítési módotDefault a fennmaradó DINE-szabályzatok szabályzat-hozzárendelésére a teljes Azure-környezetben.

A jogszabályi megfelelőség korlátozásai miatt egyes ügyfelek soha nem léphetnek át az 1. fázison. Ez nem probléma, és szükség esetén támogatott, hogy ebben az állapotban maradjon. Más ügyfelek továbbléphetnek a 2. és a 3. fázisra, hogy teljes mértékben elfogadják a DINE és a Modify szabályzatokat, hogy segítsenek a szabályzatalapú szabályozásban az Azure-környezetükben.

Megjegyzés:

A cikkben ismertetett forgatókönyv és megközelítés nem az ügyfelek többsége számára készült vagy ajánlott. Mielőtt eldöntené, hogy ezek a szabályzatok megfelelőek-e és szükségesek-e a környezetéhez, tekintse át a Miért érdemes használni a DINE és a Módosítás szabályzatokat? című szakaszt.

1. fázis: A DINE letiltása és a szabályzatok automatikus műveleteinek módosítása

Szabályzat hozzárendelésekor alapértelmezés szerint a szabályzatdefinícióban meghatározott effektus lesz érvényben. Javasoljuk, hogy hagyja meg a szabályzatdefiníciót. Hagyja például a szabályzat-hozzárendelési effektust DeployIfNotExists.

A szabályzatdefiníció vagy annak hatása módosítása helyett ezt a viselkedést minimális erőfeszítéssel befolyásolhatja a szolgáltatás szabályzat-hozzárendeléseken való használatával.

Az Azure Portal használatával állítsa a kényszerítési módot letiltottra

Ez a képernyőkép bemutatja, hogyan állíthatja be a kényszerítési módot az Azure Portal használatával letiltottra egy szabályzat-hozzárendelésen. A letiltott a DoNotEnforce néven is ismert.

Set the enforcement mode to Disabled in the Azure portal.

Az ARM-sablon használatával állítsa be a kényszerítési módot a DoNotEnforce-ra

Ez a példakód bemutatja, hogyan állíthat be enforcementModeDoNotEnforce ARM-sablont egy szabályzat-hozzárendeléshez. DoNotEnforce más néven Disabled.

{
  "type": "Microsoft.Authorization/policyAssignments",
  "apiVersion": "2019-09-01",
  "name": "PolicyAssignmentName",
  "location": "[deployment().location]",
  "properties": {
    "description": "PolicyAssignmentDescription",
    "policyDefinitionId": "[parameters('policyDefinitionId')]",
    "enforcementMode": "DoNotEnforce"
    … // other properties removed for display purposes
  }
}

A kényszerítési mód használatával a szabályzatok a meglévő erőforrásokra gyakorolt hatását anélkül láthatják, hogy elindítanák, vagy bejegyzéseket indítanának el az Azure-tevékenységnaplóban. Ezt a forgatókönyvet gyakran "What If"-nak is nevezik, és a biztonságos üzembehelyezési eljárásokhoz igazodik.

Még ha a kényszerítési mód is be van állítva DoNotEnforce, a szervizelési feladatok manuálisan is aktiválhatók. Bizonyos nem megfelelő erőforrásokat szervizelhet. Azt is láthatja, hogy a DINE vagy a Modify szabályzat mit tett volna, ha a kényszerítési mód be lett állítva Default.

Fontos

Ha a kényszerítési mód be van állítva DoNotEnforce, az Azure-tevékenységnapló bejegyzései nem jönnek létre. Vegye figyelembe ezt a tényezőt, ha nem megfelelő erőforrás létrehozásakor szeretne értesítést kapni.

Az 1. fázis állapotának állandó megőrzése

A Megközelítés áttekintése szakaszban leírtaknak megfelelően előfordulhat, hogy egyes ügyfeleknek hosszú ideig vagy akár véglegesen is az 1. fázisban kell maradniuk a követelmények miatt. Ez az állapot érvényes, és az ügyfelek bármilyen ideig benne maradhatnak.

Lehet, hogy tartósan vagy hosszú ideig, például évekig kell ebben az állapotban maradnia. Ha igen, akkor jobb lehet, ha elfogadja az AuditIfNotExists (AINE) szabályzat hatását és a kapcsolódó definíciókat, és állítsa vissza Defaulta kényszerítési módot.

Megjegyzés:

Az AINE-szabályzat használatára való váltással és a kényszerítési mód Defaultbeállításával továbbra is ugyanazt a célt érheti el, hogy letiltsa a DINE-t.

Ha a DINE-ről az AINE-ra vált, és az 1. fázishoz visszaállítja a kényszerítési módot Default hosszú távú vagy állandó megközelítésre, a szabályzatmegfeleltségi állapotok Azure-tevékenységnapló-bejegyzéseit fogja visszakapni. Az automatizálási munkafolyamatokat ezekből a naplóbejegyzésekből hozhatja létre az általános platformkezelési műveletekben.

Elveszíti a manuális szervizelési feladatok elvégzésének képességét. A DINE-házirendekkel ellentétben az AINE-szabályzatok nem végeznek üzembe helyezéseket, sem automatizált, sem manuális.

Ne felejtse el frissíteni a szabályzatdefiníciót, hogy elfogadja és engedélyezze a AuditIfNotExists szabályzat-hozzárendelési effektust.

Az alábbi táblázat a szabályzateffektusok és a kényszerítési mód kombinációinak különböző típusaira vonatkozó lehetőségeket és következményeket foglalja össze:

Szabályzateffektus Kényszerítési mód Tevékenységnapló-bejegyzés Szervizelési művelet
VACSORÁZHATNAK Engedélyezve vagy alapértelmezettként Igen Platform által aktivált szervizelés nagy léptékben a létrehozás vagy az erőforrás-frissítés után. Szükség van egy szervizelési feladat manuális létrehozására, ha a függő erőforrás a szabályzat-hozzárendelés előtt módosul vagy már létezik.
VACSORÁZHATNAK Letiltva vagy DoNotEnforce Nem Szervizelési feladat manuális létrehozása szükséges.
Módosítás Engedélyezve vagy alapértelmezettként Igen Automatikus szervizelés a létrehozás vagy frissítés során.
Módosítás Letiltva vagy DoNotEnforce Nem Szervizelési feladat manuális létrehozása szükséges.
Megtagadás Engedélyezve vagy alapértelmezettként Igen Létrehozás vagy frissítés megtagadva.
Megtagadás Letiltva vagy DoNotEnforce Nem Létrehozás vagy frissítés engedélyezett. Manuális szervizelés szükséges.
Naplózás/AINE Engedélyezve vagy alapértelmezettként Igen Manuális szervizelés szükséges.
Naplózás/AINE Letiltva vagy DoNotEnforce Nem Manuális szervizelés szükséges.

Megjegyzés:

Tekintse át az Azure Policy állapotváltozási eseményeire való reagálással kapcsolatos útmutatást, amelyből megtudhatja, hogy az Azure Event Grid és az Azure Policy integrációja megfelelő megközelítést biztosít-e, ha saját automatizálást tervez létrehozni a szabályzatállapot-események alapján.

2. fázis: A DINE és a szabályzatok módosítása egy adott szabályzaton vagy csökkentett hatókörön

Ebben a fázisban megtudhatja, hogyan állíthatja be a kényszerítési módot Default szabályzat-hozzárendelésekre.

Az 1. fázis befejezése után úgy dönt, hogy tesztelni és kipróbálni szeretné a DINE és a Módosítás szabályzatok teljes automatizálási képességeit egy adott szabályzaton vagy korlátozott hatókörön. A tesztkörnyezet felügyeleti csoportját vagy egy nem gyártási számítási feladatra vonatkozó előfizetést szeretné használni.

Az eljárás elvégzéséhez először azonosítania kell a szabályzatot vagy a korlátozott hatókört, amelyet a DINE és a Szabályzatok teljes automatizálási képességeinek teszteléséhez és kipróbálásához használunk.

Megjegyzés:

Érdemes lehet áttekinteni és implementálni egy nagyvállalati szintű platform tesztelési megközelítését . Ily módon tesztelheti a szabályzatokat és más platformmódosításokat egy külön felügyeleti csoport hierarchiájában ugyanazon a bérlőn belül.

Ezt a megközelítést "kanári" üzemelő példánynak is nevezik.

Néhány javasolt hatókör- és szabályzat-példa az alábbi táblázatban látható:

Ha szeretné... ... válasszon ezek közül a hatókörök közül Használandó példaszabályzatok
- Tesztelje a DINE/Modify automatizált szervizelési képességeket.
– Ellenőrizze, hogy a teljes üzembehelyezési folyamatokat és a CI/CD-folyamatokat, köztük a teszteket hogyan érintheti.
– Ellenőrizze, hogy milyen hatással lehet a számítási feladatra.
- Tesztkörnyezet-előfizetés
- Tesztkörnyezet felügyeleti csoport
- Nem gyártási számítási feladat kezdőzóna-előfizetése
- Nagyvállalati szintű "kanári" környezet
– Azure-tevékenységnaplók konfigurálása egy adott Log Analytics-munkaterületre való streameléshez.
– Felhőhöz készült Defender konfiguráció üzembe helyezése.
– Engedélyezze az Azure Monitort virtuális gépekhez vagy virtuálisgép-méretezési csoportokhoz.
– Diagnosztikai beállítások üzembe helyezése az Azure-szolgáltatásokban.
- Lehetséges, hogy csak a kezdeményezésen belüli bizonyos szolgáltatásokhoz engedélyezhető.

Dönthet úgy is, hogy manuális szervizelési feladatot használ korlátozott hatókörön vagy erőforráskészleten annak teszteléséhez, hogy ezek a szabályzatok hogyan befolyásolják a környezetet. A szervizelési feladat létrehozásával kapcsolatos további információkért tekintse meg az Azure Policy szervizelési feladat létrehozása című dokumentációját.

Miután azonosított egy szabályzatot vagy szabályzatot, és csökkentett hatókört rendelt hozzájuk, a következő lépés a szabályzat hozzárendelése és a kényszerítési mód Defaultbeállítása. Hagyja meg például a szabályzat hatását, DeployIfNotExists vagy Modifya kiválasztott korlátozott hatókörhöz hasonlóan.

A kényszerítési mód engedélyezése az Azure Portal használatával

Ez a képernyőkép bemutatja, hogyan állíthatja be a kényszerítési módot az Azure Portal használatával engedélyezettre egy szabályzat-hozzárendelésen. Az engedélyezve van alapértelmezettként is ismert.

Screenshot that shows setting the enforcement mode to Enabled in the Azure portal.

Arm-sablon használata a kényszerítési mód alapértelmezett értékre történő beállításához

Ez a példakód bemutatja, hogyan állíthat be enforcementModeDefault ARM-sablont egy szabályzat-hozzárendeléshez. Default más néven Enabled.

{
  "type": "Microsoft.Authorization/policyAssignments",
  "apiVersion": "2019-09-01",
  "name": "PolicyAssignmentName",
  "location": "[deployment().location]",
  "properties": {
    "description": "PolicyAssignmentDescription",
    "policyDefinitionId": "[parameters('policyDefinitionId')]",
    "enforcementMode": "Default"
    … // other properties removed for display purposes
  }
}

Tesztelés

Ebben a fázisban az utolsó lépés a szükséges tesztelés elvégzése. Ellenőrizni szeretné, hogy a DINE- vagy módosítási szabályzatok hatással lehetnek-e a számítási feladatokra, a kódra, az eszközökre és a folyamatokra, és módosították-e azokat.

Több teszt végrehajtásával rögzítheti a számítási feladat teljes életciklusát. Biztosítani szeretné, hogy teljes mértékben tisztában legyen azzal, hogy a DINE vagy a Modify szabályzatok módosítottak-e.

Néhány példa a tesztelésre:

  • A számítási feladat kezdeti üzembe helyezése.
  • Kód/alkalmazás üzembe helyezése számítási feladatra.
  • A 2. nap műveletei és a számítási feladatok kezelése.
  • A számítási feladatok leszerelése.

3. fázis: A DINE engedélyezése és a szabályzatok módosítása mindenhol

Ebben a fázisban megtudhatja, hogyan állíthatja be a kényszerítési módot Default szabályzat-hozzárendelésekre.

Feltételezzük, hogy a 2. fázis végén végzett tesztelés sikeres volt. Vagy talán elégedett azzal, hogy most már tisztában van azzal, hogy a DINE vagy a Modify szabályzatok hogyan működnek együtt a számítási feladattal. Most már kibővítheti a DINE és a Módosítás szabályzatok használatát az Azure-környezet többi részén.

A folytatáshoz kövesse a 2. fázis lépéseihez hasonló lépéseket. Ezúttal a kényszerítési módot Default állítja be az összes DINE- és módosítási szabályzat-hozzárendelésre a teljes Azure-környezetben.

Íme egy magas szintű áttekintés az ebben a fázisban végzett lépésekről:

  • Távolítsa el a kifejezetten a 2. fázisban történő teszteléshez használt hozzárendeléseket.
  • Az Azure-környezetben tekintse át az egyes DINE-hozzárendeléseket, és módosítsa a szabályzat-hozzárendeléseket, és állítsa a kényszerítési módot a következőre Default: . Ez a folyamat a 2. fázis példáiban látható.
  • Hozzon létre szervizelési feladatokat olyan meglévő erőforrásokhoz, amelyek nem megfelelőek a szervizelési tevékenység létrehozása című útmutatót követve. Az új erőforrások automatikusan szervizelhetők, ha megfelelnek a szabályzatszabályoknak és a létezési feltételeknek.

Bár a 3. fázisban azt javasoljuk, hogy állítsa be a kényszerítési módot Default az Azure-környezetben lévő összes DINE- és módosítási szabályzathoz, ez a lehetőség továbbra is választható. Ezt a döntést szabályzatonként, az igényeinek és igényeinek megfelelően hozhatja meg.

Speciális szabályzatkezelés

Az Azure Policy nagy léptékű felügyeletéhez fontolja meg az Enterprise Policy code (EPAC) implementálását a szabályzatok kezeléséhez. Az EPAC állapotalapú felügyeleti felületet biztosít, amely IaC-t használ. Általában összetett követelményekkel rendelkező, nagy szabályzatkezelési forgatókönyvekhez illeszkedik.