You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

通过PowerShell向虚拟机规模集添加Blob中的Azure自定义脚本扩展

使用Azure存储账户私有Blob中的脚本配置CustomScriptExtension

没问题,完全可以实现用私有Blob容器里的脚本,不过存储访问密钥不能放在publicSettings里——因为publicSettings是公开可见的,密钥会直接泄露。正确的做法是把存储账户的认证信息放在protectedSettings里,这个对象里的内容会被加密存储,不会对外暴露。

具体操作步骤和代码示例如下:

核心配置要点

  • publicSettings里依旧填写私有Blob的完整URL(格式:https://<你的存储账户名>.blob.core.windows.net/<容器名>/azure_cse_vm_initial_script.ps1)
  • 新增protectedSettings对象,专门存储你的存储账户名称和访问密钥
  • 调用Add-AzureRmVmssExtension时,同时传入Setting和ProtectedSetting两个参数

完整代码示例

# 替换成你的实际信息
$storageAccountName = "你的存储账户名称"
$storageAccountKey = "你的存储账户访问密钥"
$blobUri = "https://$storageAccountName.blob.core.windows.net/你的容器名/azure_cse_vm_initial_script.ps1"
$argument = "你的脚本参数(如果有的话)"

# 构造公开设置:指定脚本文件的URI和执行命令
$publicSettings = @{
    "fileUris" = (,$blobUri);
    "commandToExecute" = "powershell -ExecutionPolicy Unrestricted -File azure_cse_vm_initial_script.ps1 $argument"
}

# 构造受保护设置:存储账户的认证信息(加密存储)
$protectedSettings = @{
    "storageAccountName" = $storageAccountName;
    "storageAccountKey" = $storageAccountKey
}

Write-Host " ==> Add-AzureRmVmssExtension"
Add-AzureRmVmssExtension -VirtualMachineScaleSet $vmss `
    -Name "customScript" `
    -Publisher "Microsoft.Compute" `
    -Type "CustomScriptExtension" `
    -TypeHandlerVersion 1.8 `
    -Setting $publicSettings `
    -ProtectedSetting $protectedSettings

额外安全建议

  1. 优先使用SAS令牌替代账户密钥
    如果你不想暴露存储账户的全局访问密钥,可以生成一个针对该Blob的SAS令牌(设置合适的有效期和只读权限),然后直接把SAS令牌附加到Blob URL后面,示例URL:

    https://<存储账户名>.blob.core.windows.net/<容器名>/azure_cse_vm_initial_script.ps1?sv=2023-11-03&ss=b&srt=o&sp=r&se=2024-12-31T23:59:59Z&st=2024-01-01T00:00:00Z&spr=https&sig=xxx
    

    这种情况下只需要publicSettings,不需要额外配置protectedSettings,安全性更高。

  2. 验证脚本执行状态
    可以在VMSS实例的C:\WindowsAzure\Logs\Plugins\Microsoft.Compute.CustomScriptExtension路径下查看扩展日志,确认脚本是否成功下载和执行。

内容的提问来源于stack exchange,提问作者Daniel W.

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 04:17:37