Sdílet prostřednictvím


Vytvoření přiřazení konfigurace stroje pomocí rozhraní Azure REST API

Tento článek ukazuje příklady nasazení vestavěných konfigurací, které lze provést pomocí cUrl nebo libovolného klienta HTTP dle vašeho výběru.

V každé z následujících částí příklad obsahuje vlastnost typu , kde název začíná Microsoft.Compute/virtualMachines. Poskytovatel prostředků konfigurace hosta je prostředek Microsoft.GuestConfigurationrozšíření , který musí odkazovat na nadřazený typ.

Pokud chcete upravit příklad pro jiné typy prostředků, jako jsou servery s podporou Arc, změňte nadřazený typ na název poskytovatele prostředků. U serverů s podporou Arc je Microsoft.HybridCompute/machines poskytovatel prostředků.

Nahraďte následující <> pole hodnotami specifickými pro vaše prostředí:

  • <base_url> - Totéž pro všechny požadavky, ale nezapomeňte aktualizovat poskytovatele tak, aby určil mezi Microsoft.Compute/virtualMachines nebo Microsoft.HybridCompute/machines podle potřeby:

    https://management.azure.com/subscriptions/<vm_Subscription>/resourceGroups/<vm_ResourceGroup>/providers/<providerType>
    
  • <vm_name> – Zadejte název výpočetního zdroje pro toto přiřazení.

  • <configuration_name> – Zadejte název konfigurace, která se má použít.

  • <api_version> – Vyberte příslušnou verzi rozhraní API. Nejnovější verze je 2022-01-25.

Přiřazení integrované konfigurace

Následující příklad přiřadí integrovanou konfiguraci AuditSecureServer.

HTTP PUT https://<baseUrl>/<vm_name>/providers/Microsoft.GuestConfiguration/guestConfigurationAssignments/<configuration_Name>?api-version=2022-01-25

Tento požadavek vyžaduje ověření ve formátu autorizační hlavičky. K načtení přístupového tokenu Azure můžete použít rutinu Get-AzAccessToken .

Authorization Bearer <yourTokenHere>

Požadavek se skládá z následujících vlastností, které společně tvoří přiřazení konfigurace počítače.

Vlastnosti prostředků Azure

Tato pole jsou nejvyšší úrovní vlastností, jak je znázorněno v ukázkovém požadavku, a je tvořena následujícími vlastnostmi.

  • Name – Název konfiguračního balíčku počítače Built-In
  • Location – Umístění hybridního výpočetního prostředku nebo prostředku virtuálního počítače
  • Guest Configuration Parameters – Objekt JSON s dalšími parametry specifickými pro konfiguraci hosta.

Tyto parametry představují většinu přiřazení konfigurace počítače a jsou definovány v následujícím seznamu:

  • Name – Název konfiguračního balíčku počítače Built-In
  • Version – Verze balíčku, která se má použít. Můžete použít "1.*" vždy k nasazení nejnovější verze balíčku.
  • ContentUri – Vyžaduje se při přiřazování vlastního balíčku, tato vlastnost definuje identifikátor URI přístupného umístění obsahujícího obsah balíčku.
  • ContentHash – Vyžaduje se při přiřazování vlastního balíčku.
  • ContentType - BuiltIn nebo Custom. Služba nastaví tuto hodnotu automaticky.
  • AssignmentType - Přiřadí jeden z typů přiřazení.
  • ConfigurationParameters - Pole parametrů k předání přiřazení. Tyto rozdíly se liší pro jednotlivé balíčky.
  • ConfigurationSettings – Definuje další možnosti konfigurace pro přiřazení. Další informace najdete v tématu Nastavení konfigurace.

Typ přiřazení

Typ přiřazení definuje, jak má agent konfigurace hosta zpracovat přiřazení. Platné hodnoty jsou:

  • Audit - Posuzujte pouze splnění úkolu. Neprovádejte žádné změny.
  • ApplyAndAutoCorrect – Nepřetržitý audit a automatické opravy pro zajištění souladu.
  • ApplyAndMonitor – Použijte nastavení jednou, pak monitorujte dodržování předpisů, ale neopravujte nastavení.
  • ApplyOnce – Použijte nastavení jednou.

Parametr konfigurace

Pole párů klíč-hodnota, které se předávají do přiřazení konfigurace počítače. Pro každou dvojici:

  • Klíč definuje název parametru, který se má nakonfigurovat.
  • Tato hodnota definuje požadovanou hodnotu, která se má pro přiřazení nastavit nebo auditovat.

Nastavení konfigurace

Tyto vlastnosti představují další konfigurovatelná nastavení prezentovaná konfigurací počítače.

  • ConfigurationMode – Platné hodnoty jsou stejné jako typ Přiřazení. Tato hodnota musí být stejná jako hodnota pro Assignment Type.
  • ActionAfterReboot – Řídí akci agenta konfigurace počítače po použití restartování.
  • RebootIfNeeded – Pokud to modul podporuje, umožňuje potlačení restartů, je-li potřeba restartu.

Příklad požadavku

let baseUrl = https://management.azure.com
let subscription = /subscriptions/<yourSubscription>
let resourceGroup = resourceGroups/<yourResourceGroup>
let provider = providers/Microsoft.Compute
let vm = <yourVm>

curl --request PUT \
  --url '$baseUrl/$subscription/$resourceGroup$/$providers/$vm/providers/Microsoft.GuestConfiguration/guestConfigurationAssignments/AuditSecureProtocol?api-version=2022-01-25' \
  --header 'authorization: Bearer yourKeyHere \
  --header 'content-type: application/json' \
  --data '{
  "properties": {
    "guestConfiguration": {
      "kind": "Machine Configuration",
      "name": "AuditSecureProtocol",
      "version": "1.*",
      "contentType": "Builtin",
      "assignmentType": "Audit",
      "configurationParameter": [
        {
          "name": "[SecureWebServer]s1;MinimumTLSVersion",
          "value": "1.2"
        }
      ],
      "configurationProtectedParameter": [],
      "configurationSetting": {
        "configurationMode": "Audit",
        "allowModuleOverwrite": false,
        "actionAfterReboot": "",
        "refreshFrequencyMins": 5,
        "rebootIfNeeded": true,
        "configurationModeFrequencyMins": 15
      }
    },
    "complianceStatus": "Compliant",
    "assignmentHash": null,
    "provisioningState": "Succeeded",
    "resourceType": null,
    "vmssVMList": null
  },
  "name": "AuditSecureProtocol",
  "location": "westus2"
}'

Odezva

Odpověď obsahuje vytvořené přiřazení. Odpověď automaticky definuje každý požadovaný parametr.

{
  "properties": {
    "name": "AuditSecureProtocol",
    "location": "<vmLocation",
    "guestConfiguration": {
      "name": "AuditSecureProtocol",
      "version": "1.*",
      "contentType": "Builtin",
      "assignmentType": null,
      "configurationParameter": [
        {
          "name": "[SecureWebServer]s1;MinimumTLSVersion",
          "value": "1.2"
        }
      ],
      "configurationSetting": {
        "configurationMode": "MonitorOnly",
        "allowModuleOverwrite": false,
        "actionAfterReboot": "",
        "refreshFrequencyMins": 5,
        "rebootIfNeeded": true,
        "configurationModeFrequencyMins": 15
      }
    }
  },
  "name": "AuditSecureProtocol",
  "location": "westus2"
}