这是我来自 terraform.tf
terraform {
backend "azurerm" {
resource_group_name = "tstate"
storage_account_name = "strorageaccount1"
container_name = "terraform.tfstate"
access_key = "asdfg45454..."
}
}
当我的存储帐户不在“所有网络”时,这会失败。我的存储帐户网络设置如下。 Blob 存储私有或公共它都可以工作,所以没有问题。但是必须启用“所有网络”才能使其工作。如何使其在禁用“所有网络”的情况下工作?我得到的错误如下:
<块引用>错误:无法获取现有工作区:存储:服务返回 错误:StatusCode=403,ErrorCode=AuthorizationFailure, ErrorMessage=此请求无权执行此操作。
不需要 IP 或 Vnet,因为 Azure 默认代理正在运行 DevOps 管道。并且 SPN 拥有订阅的所有者访问权限。我错过了什么?
答案 0 :(得分:2)
好吧,您明确禁止几乎所有服务(或服务器)访问您的存储帐户。除了“trusted Microsoft services”。但是,您的 Azure DevOps 构建代理不属于该类别。
因此,您需要先将构建代理列入白名单。有两种方法可以做到这一点: