繁体   English   中英

更改 Azure 存储帐户 TLS 版本

[英]Change Azure Storage Account TLS versions

有人会看到或看到批量更改 Azure Strorage Account TLS 版本的脚本吗? 我们有数百个存储帐户仍启用了 TLS 1.0 或 1.1,我们希望将它们更改为 1.2。 因为他们中有太多人手动点击那些真的不是选项..

我现在已经用谷歌搜索并尝试自己编写脚本,但我的头撞到了墙上。

我已经设法遍历我的所有订阅和存储帐户并将存储帐户名称、资源组和 tls 版本保存到 csv 但现在我需要下一步的帮助:如果它是 1.0,我怎么能将 TLS 版本更改为 1.2或 1.1 使用该数据。

更改 tls 的行是 ( https://learn.microsoft.com/en-us/azure/storage/common/transport-layer-security-configure-minimum-version?tabs=powershell#configure-the-minimum-tls -版本存储帐户

Set-AzStorageAccount -ResourceGroupName $rgName `
    -Name $accountName `
    -MinimumTlsVersion TLS1_2

我现在的剧本

$Subscriptions = Get-AzSubscription
$data = foreach ($sub in $Subscriptions) {
    # suppress output on this line
    Write-Host Working with Subscription $sub.Name 
    $null = Get-AzSubscription -SubscriptionName $sub.Name | Set-AzContext
    # let Select-Object output the objects that will be collected in variable $data
    Get-AzStorageAccount | Select-Object StorageAccountName, ResourceGroupName,
                                         @{Name = 'TLSVersion'; Expression = {$_.MinimumTlsVersion}}

}

# write a CSV file containing this data
$data | Export-Csv -Path C:\temp\data.csv -NoTypeInformation

尖端?

• 我想感谢您准备的用于更改跨各种订阅的多个存储帐户的 TLS 版本的脚本。 我还尝试测试用于更改订阅中多个存储帐户的 TLS 版本的特定 cmdlet,因为我没有多个订阅并且效果很好。 此外,如果您无法通过多个订阅访问资源,则无法执行此脚本。

此脚本成功执行所需的最低 Azure 资源管理器角色是所有订阅的“参与者您需要使用该用户 ID 登录该订阅,该订阅在管理组中的层次结构高于其他订阅,以便它具有相应地执行和访问这些订阅中的资源的权限。

• 因此,可以成功更改用户 ID 有权访问的任何订阅中存储帐户的 TLS 版本的实际脚本如下所示。 此外,它还导出一个 CSV 文件,其中包含此脚本访问的所有存储帐户的列表:-

   $Subscriptions = Get-AzSubscription
   $data = foreach ($sub in $Subscriptions) {
Write-Host Working with Subscription $sub.Name 
$null = Get-AzSubscription -SubscriptionName $sub.Name | Set-AzContext
Get-AzStorageAccount | Set-AzStorageAccount -MinimumTlsVersion TLS1_2 @{Name = 'TLSVersion'; Expression = {$_.MinimumTlsVersion}}
}
   $data | Export-Csv -Path C:\data.csv -NoTypeInformation ‘

您还可以配置Azure 策略以在存储帐户上强制执行 TLS v2.0,以便通过在 Azure 策略分配中输入以下 JSON 代码作为策略来强制在存储帐户上使用 TLS v2.0。

{
   "policyRule": {
   "if": {
  "allOf": [
    {
      "field": "type",
      "equals": "Microsoft.Storage/storageAccounts"
    },
    {
      "not": {
        "field": "Microsoft.Storage/storageAccounts/minimumTlsVersion",
        "equals": "TLS1_2"
      }
    }
  ]
},
"then": {
  "effect": "deny"
       }
      }
     }

有关这方面的更多详细信息,请参阅下面的文档链接:-

https://learn.microsoft.com/en-us/azure/storage/common/transport-layer-security-configure-minimum-version?tabs=powershell#use-azure-policy-to-enforce-the-minimum- tls版本

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM