Azure Policy Visual Studio Code 扩展:简化 Azure 环境的政策管理和创作
Azure Policy 是一款强大的工具,用于在您的 Azure 环境中执行标准和大规模评估合规性。Azure Policy Visual Studio Code 扩展旨在简化资源管理模式政策定义和分配的管理与创作过程。
概览:
Azure Policy Visual Studio Code 扩展通过将政策定义、分配、倡议以及您的资源以 JSON 格式呈现在便捷的树视图中,简化了查找、理解和创作政策的体验。您可以快速浏览资源及其别名,发现可用的别名,并针对特定资源评估政策合规性。此外,您还可以从约束模板 YAML 文件快速生成 Azure Policy 定义,用于 Azure 启用的 Kubernetes 集群。
注意:Azure Policy Visual Studio Code 扩展仅支持评估资源管理模式政策。某些命名空间还支持资源提供者模式政策,但扩展目前不支持此类政策的评估。我们正在研究支持这种情况的方法。
新功能:
我们推出了一款新工具:从约束模板 YAML 创建 Azure Policy 定义。为 Kubernetes 创作政策可能非常困难,特别是对于来自 Kubernetes 背景的用户。如果您熟悉 Gatekeeper 约束模板,并希望通过 Azure 监控 Kubernetes 集群的合规状态并执行政策,您可以通过从约束模板生成 Azure Policy 来开始。一旦政策生成,只需填写缺失的部分,并像处理任何其他类型的 Azure Policy 一样在 Azure 中创建政策定义。
如何使用 Azure Policy 扩展:
Azure Policy VSCode 扩展是开发政策定义的有用工具。主要有两种使用场景:查看资源或政策对象的 JSON 内容,以及评估政策定义对资源的影响。
在左上角的“资源”树视图中,每个订阅下有两个文件夹:“资源提供者”和“资源组”。“资源提供者”下的资源按注册到该订阅的资源提供者(如“Microsoft.Compute”或“Microsoft.Network”)分类。此视图显示所有资源,包括代理资源,按资源提供者命名空间和资源类型层次结构组织。“资源组”下的资源按资源组分类。此视图仅显示跟踪资源(属于资源组的资源)。要查看代理资源,您需要浏览到“资源提供者”文件夹下的资源类型。
选择一个资源会在右侧的编辑器选项卡中显示其 JSON 内容。默认情况下,它将以预览模式打开,这意味着当树视图中选择另一个节点时,新资源的内容将替换前一个内容在同一编辑器选项卡中。如果您希望在导航离开后保持特定资源的选项卡打开,请在树视图中的项目上选择“将此资源固定在选项卡中”命令。如果您想保存和/或编辑资源的副本,请使用“将此资源另存为...”命令。编辑资源是测试不同资源值上的政策合规性评估的快速方法。
在中间左侧的“政策”树视图中,每个订阅下有四个文件夹:“分配”、“内置定义”、“自定义定义”和“倡议”。此视图显示给定订阅的所有政策对象,按这些类型分类。
与查看资源类似,选择树视图中的政策项目会在右侧的选项卡中显示其 JSON 内容。政策树视图项目具有类似的命令:“将此政策项目固定在选项卡中”和“将此政策项目另存为...”,用于保持项目在其选项卡中或将其保存到文件以便单独存储或编辑。当您对政策定义的内容满意时,可以将其复制到剪贴板并粘贴到门户中以创建新政策或更新现有政策。
以前,您必须具有包含特定属性的给定资源类型的实例才能发现其属性的别名,或从命令行运行 Powershell cmdlet。现在,您可以在编辑政策定义时内联发现别名。只需在“field”: 关键字后开始输入,全完成列表将显示可用的匹配字段,包括政策别名。
在左下角的“评估”视图中,您将看到当前打开的资源和政策项目列表。该视图内的命令允许您选择政策定义和资源进行评估。如果政策定义需要参数值,您还需要选择分配以提供参数值。如果政策定义效果为 DeployIfNotExists 或 AuditIfNotExists,您还需要选择相关资源进行存在检查。选择这些项目后,在评估窗格右上角运行“评估政策选择对资源选择”命令以获取评估结果。
您可以使用“另存为”命令将任何政策项目或资源保存到本地文件,并继续将其用于政策内循环测试。随着您对政策定义或资源进行更改,您可以立即重新评估资源的合规性,而无需在 Azure 中更新政策并等待 Azure Policy 服务每次执行合规性评估。
这对于尝试不同的参数值特别有帮助。首先将政策分配保存到文件,然后在手动编辑后使用它进行评估以尝试不同的值。这也是一种无需创建新政策分配即可添加和删除参数值的简单方法。
在您对政策定义的操作满意后,可以将其复制粘贴到 Azure Policy 门户中以在 Azure 中更新。
评估结果包含与真实服务中返回的评估相同的 JSON 信息。主要要查看的是“policyEvaluations”数组,通常包含 0 或 1 个对象。没有政策评估意味着政策不适用于该资源。一个政策评估通常包含“evaluationResult”值为 Compliant 或 NonCompliant 以及有关评估的政策的一些详细信息。“modifiedFields”表示政策将更新哪些字段(如果有的话),而“updatedRequestContent”给出政策更新后的完整资源。消息数组用于内部调试,可以忽略。如果评估失败,消息字段包含有关失败的所有可用信息。
要从约束模板生成 Azure Policy 定义,请在编辑器中打开您的约束模板 YAML 文件,选择“查看” -> “命令面板”,并选择“Azure Policy for Kubernetes: 从约束模板创建政策定义”。将出现一个带有约束模板来源类型的选项的第二面板。如果您希望通过公共 url 引用您的约束模板,请选择“PublicURL”。如果您希望将您的约束模板作为 base 64 编码字符串嵌入到新生成的政策定义 JSON 中,请选择“Base64Encoded”。生成政策定义后,请确保填写所有带有“/ EDIT HERE /”提示的缺失属性。像处理任何其他 Azure Policy 一样创建和分配政策定义。
功能总结:
注意事项:
兼容性:
此扩展需要 VSCode 1.58.0 或更高版本。支持的操作系统(架构):
然而,请参阅下面的已知问题以了解当前限制。
相关链接:
Visual Studio Code 扩展文档:https://docs.microsoft.com/azure/governance/policy/how-to/extension-for-vscode
依赖项:
此扩展需要并自动安装两个其他扩展:
我们正在进行的工作:
想法、功能请求和错误:发送邮件至 policy-vscode@microsoft.com!我们对所有想法持开放态度,我们希望消除错误!
已知问题:
此问题仍在调查中
发布历史:
请参阅此扩展的变更日志
遥测:
Visual Studio Code 收集使用数据并将其发送给 Microsoft,以帮助改进我们的产品和服务。阅读我们的隐私声明以了解更多信息。如果您不希望向 Microsoft 发送使用数据,您可以将 telemetry.enableTelemetry 设置为 false。在我们的 FAQ 中了解更多信息。
许可证:
此扩展根据 MIT 许可证授权。通过下载和使用 Visual Studio Azure Policy 扩展及其相关组件,您同意产品许可条款和隐私声明。
本站所有资源都是由网友投稿发布,或转载各大下载站, 请自行检测软件的完整性!
本站所有资源仅供学习与参考,请勿用于商业用途,否则 产生的一切后果将由您自己承担!
如有侵权请联系我们删除下架,联系方式:study_golang@163.com