错误:在 Azure KeyVault Secret sqladminpassword 上发出读取请求:keyvault.BaseClient#GetSecret:响应请求失败:StatusCode=403 -- 原始错误:autorest/azure:服务返回错误。 Status=403 Code="Forbidden" Message="用户、组或应用程序 'appid=***;
没有秘密获得密钥保管库的许可
注意:我在通过天蓝色管道部署、在本地尝试时遇到此错误。 为此使用 terraform
我已经尝试了所有权限,一切都很好,如何修复它
请检查与您的服务连接关联的服务主体是否有权从您的 Azure 密钥保管库获取机密。 如果不是,您需要将 Key Vault 管理员角色授予与 Azure 管道关联的服务主体。
检查 terraform 配置中向 azure pipeline 服务主体授予的许可
resource "azurerm_key_vault_access_policy" "example" {
key_vault_id = azurerm_key_vault.example.id
tenant_id = data.azurerm_client_config.current.tenant_id
object_id = data.azurerm_client_config.current.object_id
key_permissions = [
"Get",
]
secret_permissions = [
"Get",
]
}
data "azuread_service_principal" "example" {
display_name = "example-app"
}
resource "azurerm_key_vault_access_policy" "example-principal" {
key_vault_id = azurerm_key_vault.example.id
tenant_id = data.azurerm_client_config.current.tenant_id
object_id = data.azuread_service_principal.example.object_id
key_permissions = [
"Get", "List", "Encrypt", "Decrypt"
]
}
希望这可以帮助您实现目标 很高兴能和你合作