次の方法で共有


Azure Rest API を使用してマシン構成の割り当てを作成する方法

この記事では、組み込みの構成をデプロイする例を示し、 cUrl または任意の任意の http クライアントを使用して実行できます。

次の各セクションでは、この例には、名前が Microsoft.Compute/virtualMachines で始まる type プロパティが含まれています。 ゲスト構成リソース プロバイダー Microsoft.GuestConfiguration は、親の種類を参照する必要がある 拡張機能リソース です。

Arc 対応サーバーなどの他のリソースの種類の例を変更するには、親の種類をリソース プロバイダーの名前に変更します。 Arc 対応サーバーの場合、リソース プロバイダーは Microsoft.HybridCompute/machines

次の <> フィールドを、環境に固有の値に置き換えます。

  • <base_url> - すべての要求で同じですが、必要に応じて、 Microsoft.Compute/virtualMachines または Microsoft.HybridCompute/machines の間で指定するようにプロバイダーを更新してください。

    https://management.azure.com/subscriptions/<vm_Subscription>/resourceGroups/<vm_ResourceGroup>/providers/<providerType>
    
  • <vm_name> - この割り当てのマシン リソースの名前を指定します

  • <configuration_name> - 適用する構成の名前を指定します。

  • <api_version> - 適切な API バージョンを選択します。 最新バージョンは 2022-01-25

組み込み構成を割り当てる

AuditSecureServer 組み込み構成を割り当てる例を次に示します。

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

この要求には、承認ヘッダーの形式での認証が必要です。 Get-AzAccessToken コマンドレットを使用して、Azure アクセス トークンを取得できます。

Authorization Bearer <yourTokenHere>

要求は次のプロパティで構成され、これらが一緒にマシン構成の割り当てを構成します。

Azure リソースのプロパティ

これらのフィールドは、サンプル要求に示されているプロパティの最上位レベルであり、次のプロパティで構成されます。

  • Name - Built-In コンピューター構成パッケージの名前
  • Location - ハイブリッド コンピューティングまたは仮想マシン リソースの場所
  • Guest Configuration Parameters - ゲスト構成に固有の追加パラメーターの JSON オブジェクト。

これらのパラメーターは、コンピューター構成の割り当ての大部分を表し、次の一覧で定義されています。

  • Name - Built-In コンピューター構成パッケージの名前
  • Version - 使用するパッケージのバージョン。 "1.*"を使用して、常に最新バージョンのパッケージをデプロイできます。
  • ContentUri - カスタム パッケージを割り当てるときに必要です。このプロパティは、パッケージコンテンツを含むアクセス可能な場所の URI を定義します。
  • ContentHash - カスタム パッケージを割り当てるときに必要です。
  • ContentType - BuiltIn または Custom。 この値は、サービスによって自動的に設定されます。
  • AssignmentType - 割り当ての種類のいずれかを割り当てます。
  • ConfigurationParameters - 割り当てに渡すパラメーターの配列。 これらはパッケージごとに異なります。
  • ConfigurationSettings - 割り当てのその他の構成オプションを定義します。 詳細については、「構成設定」を参照してください。

割り当ての種類

割り当ての種類は、ゲスト構成エージェントが割り当てを処理する方法を定義します。 有効な値は次のとおりです。

  • Audit - 割り当てに対するコンプライアンスのみを評価します。 変更を加えないでください。
  • ApplyAndAutoCorrect - コンプライアンスを継続的に監視し、自動修正します。
  • ApplyAndMonitor - 設定を 1 回適用し、コンプライアンスを監視しますが、設定は修正しません。
  • ApplyOnce - 設定を 1 回適用します。

構成パラメーター

マシン構成割り当てに渡すキーと値のペアの配列。 各ペアについて:

  • キーは、構成するパラメーターの名前を定義します。
  • この値は、割り当ての設定または監査に必要な値を定義します。

構成設定

これらのプロパティは、マシン構成によって提示されるその他の構成可能な設定を表します。

  • ConfigurationMode - 有効な値は 割り当ての種類と同じです。 この値は、 Assignment Typeの値と同じである必要があります。
  • ActionAfterReboot - 再起動を適用した後のマシン構成エージェントのアクションを制御します。
  • RebootIfNeeded - モジュールでサポートされている場合は、再起動が必要な場合に再起動を抑制できます。

要求の例

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"
}'

応答

応答には、作成された割り当てが含まれます。 応答では、必要なすべてのパラメーターが自動的に定義されます。

{
  "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"
}