我的目标是部署 CfnPatchBaseline,它使用 CDK 和 TypeScript 在 Windows Server 上指定 SQL 的批准规则。
我已经使用 CDK 为 Windows 服务器实例成功创建了 CfnPatchBaseline。这意味着我能够控制操作系统层的更新。
现在我也想控制应用层的更新。
在 AWS 控制台(浏览器界面)中,我可以在补丁基准中为 Microsoft 应用程序指定批准规则,它工作得很好。问题是我不知道如何在 CDK 中复制同样的东西。
我试图以PRODUCT_FAMILY作为键和SQL Server作为值来创建新的 patchFilter
const patchFilterProductWindowsServerSQL = {
key: 'PRODUCT_FAMILY',
values: ['SQL Server']
};
但我收到以下错误:“无效的筛选值:用于键的 SQL Server:PRODUCT_FAMILY,有效值为:WINDOWS”。
我用于创建 Windows Server 补丁基准的代码。
const patchFilterProductWindowsServer = {
key: 'PRODUCT',
values: ['WindowsServer2019']
};
const patchFilterClassificationWindowsServer = {
key: 'CLASSIFICATION',
values: [
'CriticalUpdates',
'SecurityUpdates',
'Updates'
]
};
const patchFilterSeverityWindowsServer = {
key: 'MSRC_SEVERITY',
values: [
'Critical',
'Important'
]
};
const patchBaselinePatchFilterGroupWindowsServer = {
patchFilters: [
patchFilterProductWindowsServer,
patchFilterClassificationWindowsServer,
patchFilterSeverityWindowsServer
]
};
const patchBaselineRuleHighWindowsServer = {
approveAfterDays: 7,
complianceLevel: "HIGH",
patchFilterGroup: patchBaselinePatchFilterGroupWindowsServer
};
const patchBaselineRuleGroupWindowsServer = {
patchRules: [
patchBaselineRuleHighWindowsServer
]
};
const patchBaselineWinServer = new ssm.CfnPatchBaseline(this, "Windows-Server-CritImp-CDK", {
name: "Windows-Server-CritImp-CDK",
operatingSystem: "WINDOWS",
patchGroups: "Windows-Server-CDK",
approvalRules: patchBaselineRuleGroupWindowsServer
});
我的批准规则的 AWS 控制台屏幕截图,我可以使用 CDK 创建,以及Microsoft 应用程序的批准规则,我无法使用 CDK 创建。屏幕截图中的规则是从控制台手动创建的。
这个线程是这个线程的后续 - AWS CDK PatchBaseline - TypeScript