你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

如何提供对自定义计算机配置包的安全访问

本页提供了有关如何使用用户分配的托管标识或共享访问签名 (SAS) 令牌的资源 ID 访问 Azure 存储中存储的计算机配置包的指南。

先决条件

  • Azure 订阅
  • 具有计算机配置包的 Azure 存储帐户

提供对包的访问权限的步骤

以下步骤为你的资源做好准备,以实现更安全的操作。 步骤的代码片段包括尖括号中的值,例如 <storage-account-container-name>,在执行步骤时必须替换为有效的值。 如果只是复制并粘贴代码,则命令可能会由于值无效而引发错误。

使用用户分配的标识

重要

请注意,与 Azure VM 不同的是,连接 Arc 的计算机当前不支持用户分配的托管标识。

通过将用户分配的标识分配给 Azure VM 范围,你可以授予对 Azure 存储 blob 中计算机配置包的专用访问权限。 若要执行此操作,你需要向托管标识授予对 Azure 存储 blob 的读取访问权限。 这涉及在 blob 容器范围内将“存储 Blob 数据读取者”角色分配给标识。 此设置可确保你的 Azure VM 可以使用用户分配的托管标识安全地从指定的 blob 容器中读取。 若要了解如何大规模分配用户分配的标识,请参阅使用 Azure Policy 分配托管标识

使用 SAS 令牌

(可选)你可以在 URL 中添加共享访问签名 (SAS) 令牌,以确保对包的安全访问。 以下示例生成具有读取访问权限的 blob SAS 令牌,并返回具有共享访问签名令牌的完整 blob URI。 在此示例中,令牌的时间限制为三年。

$startTime = Get-Date
$endTime   = $startTime.AddYears(3)

$tokenParams = @{
    StartTime  = $startTime
    ExpiryTime = $endTime
    Container  = '<storage-account-container-name>'
    Blob       = '<configuration-blob-name>'
    Permission = 'r'
    Context    = '<storage-account-context>'
    FullUri    = $true
}

$contentUri = New-AzStorageBlobSASToken @tokenParams

总结

通过使用用户分配的托管标识或 SAS 令牌的资源 ID,你可以安全地提供对 Azure 存储中存储的计算机配置包的访问。 附加参数确保使用托管标识来检索包,并且 Azure Arc 计算机不包含在策略作用域内。

后续步骤

  • 创建策略定义后,可以将其分配给 Azure 环境中的相应作用域,例如管理组、订阅或资源组。
  • 请记得监视策略合规性状态,并对你的机器配置包或策略分配进行任何必要的调整,以满足你的组织要求。