你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
本文提供了部署内置配置项的示例,可以使用 cUrl 或任意您选择的 http 客户端来执行。
在以下各节中,示例包含一个类型属性,其名称以Microsoft.Compute/virtualMachines开头。 来宾配置资源提供程序 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 cmdlet 检索 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- 应用设置一次,然后监视符合性,但未更正设置。ApplyOnce- 立即应用设置。
配置参数
要传入机器配置分配的键值对的数组。 对于每对:
- 该键定义要配置的参数的名称。
- 该值定义了要为分配设置或审核的目标值。
配置设置
这些属性表示计算机配置提供的其他可配置设置。
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"
}