Azure 容器实例能够通过 Az CLI 从 public IP 运行 执行脚本,尽管 VNET 仅入站 NSG

Azure Container Instance able to run execution scripts via Az CLI from public IP despite VNET only inbound NSG

所以我在私有子网和 VNET 中部署了一个 Azure 容器实例组,其中应用了 NSG 上的默认入站规则。

没有分配 public IP(如预期的那样)但是,我仍然能够利用 Azure CLI 从 public IP 使用以下命令执行脚本。

az container exec --resource-group myResourceGroup --name myContainer --exec-command /bin/bash

理想情况下,NSG 入站规则应该禁止在内部 VNET IP 地址范围之外进行此类调用。同样,az container logs & az container logs attach 也能够从所述容器实例中检索日志。因此,我的问题是,为什么?这些来电怎么不被屏蔽?

因为这些不是呼入电话。这些是对 Azure REST API 的调用,它反过来会代表你做一些事情。所以从本质上讲,这与创建存储帐户或从门户关闭虚拟机是一样的。应该有一个提供者操作,负责调用该操作。您可以创建拒绝角色分配(使用 Azure 蓝图)或以用户无权访问该特定操作的方式创建角色。