问题描述
因为Storage Account中的Container可以开启匿名访问,因安全要求,需要检测出那些Container开启了匿名访问。所以使用Azure Policy策略来进行检测。
但是,想使用以上规则,保存报错。
The policy definition 'xxxxxxx' rule is invalid. The resource type 'storageAccounts/blobServices/containers' referenced by the 'field' property 'Microsoft.Storage/storageAccounts/blobServices/containers/publicAccess' of the policy rule doesn't exist under provider 'Microsoft.Storage'.
问题解答
经过对Storage Account的内置Policy (Configure your Storage account public access to be disallowed)对比,发现它使用的 field 为 Microsoft.Storage/storageAccounts/allowBlobPublicAccess ,只是它只能检测到Stroage Account层面,无法继续深入到Storage Account下的Container中。无法达到列出被设置为匿名的Container名称的目的!
最终,经过和Azure支持团队确认,Azure Policy Rule无法完成Audit Blob Container匿名访问配置的需求。
最后,提供了使用 Blob Inventory 可以在相关数据内查看到关于Container匿名访问配置的信息作为替代方案。
启用 Azure 存储 Blob 清单报表:https://docs.azure.cn/zh-cn/storage/blobs/blob-inventory-how-to?tabs=azure-portal
[END]