Получите список учетных записей хранилища Azure, использующих TLS 1.0.

Вопрос или проблема

https://azure.microsoft.com/en-us/updates/azure-support-tls-will-end-by-31-october-2024-2/

Поддержка Azure для TLS 1.0 и 1.1 заканчивается 31 октября 2024 года. Мне нужно обновить свойство MinimumTlsVersion для каждого учетной записи хранения.

Хотя есть способы сделать это (pwsh, Портал, ARM), мне было интересно, есть ли способ получить список всех хранилищ, использующих TLS < 1.2.

# Убедитесь, что вы вошли в Azure
# Connect-AzAccount

# Установите свой идентификатор подписки Azure
$subscriptionId = "ваш-id-подписки"

# Выберите подписку Azure
Select-AzSubscription -SubscriptionId $subscriptionId

# Получите все учетные записи хранения в подписке
$storageAccounts = Get-AzStorageAccount

# Инициализируйте пустой массив для хранения учетных записей хранения с TLS 1.0
$storagesUsingTls1_0 = @()

foreach ($storage in $storageAccounts) {
    try {
        # Попытайтесь получить свойства учетной записи хранения, включая минимальную версию TLS
        $storageProps = Get-AzStorageAccount -ResourceGroupName $storage.ResourceGroupName -AccountName $storage.StorageAccountName
        $tlsSetting = $storageProps.Encryption.MinimumTlsVersion
        
        # Проверьте, если версия TLS 1.0
        if ($tlsSetting -eq "TLS1_0") {
            # Добавьте в список
            $storagesUsingTls1_0 += $storage
        }
    } catch {
        Write-Host "Ошибка при получении настроек TLS для учетной записи хранения: $($storage.StorageAccountName)"
    }
}

# Вывод учетных записей хранения, использующих TLS 1.0
$storagesUsingTls1_0 | Format-Table StorageAccountName, ResourceGroupName, Location, @{Name="Версия TLS"; Expression={$_.Encryption.MinimumTlsVersion}}

Если ваш вопрос заключается только в том, чтобы увидеть все учетные записи хранения с версией TLS, отличной от 1.2, я бы посоветовал использовать Azure Resource Graph Explorer. Он доступен в портале Azure (просто найдите его) и позволяет вам запрашивать ваши ресурсы Azure. Запрос ниже покажет все ваши учетные записи хранения, не использующие версию TLS 1.2:

resources
| where type == "microsoft.storage/storageaccounts"
| where properties['minimumTlsVersion'] != "TLS1_2"
| project name, resourceGroup, properties.minimumTlsVersion

Есть ли какой-либо запрос графа ресурсов для приложения Functions и веб-приложений для проверки версии TLS?

Ответ или решение

Для решения задачи по получению списка учетных записей Azure Storage, использующих TLS версии ниже 1.2, вы можете использовать как PowerShell, так и Azure Resource Graph Explorer. Ниже приведены оба подхода.

1. Использование PowerShell

С помощью PowerShell можно выполнить следующие шаги, чтобы получить учетные записи, использующие TLS 1.0:

# Убедитесь, что вы вошли в Azure
# Connect-AzAccount

# Установите свой идентификатор подписки Azure
$subscriptionId = "ваш-идентификатор-подписки"

# Выберите подписку Azure
Select-AzSubscription -SubscriptionId $subscriptionId

# Получите все учетные записи хранения в подписке
$storageAccounts = Get-AzStorageAccount

# Инициализируйте пустой массив для хранения учетных записей с TLS 1.0
$storagesUsingTls1_0 = @()

foreach ($storage in $storageAccounts) {
    try {
        # Пытайтесь получить свойства учетной записи хранения, включая минимальную версию TLS
        $storageProps = Get-AzStorageAccount -ResourceGroupName $storage.ResourceGroupName -AccountName $storage.StorageAccountName
        $tlsSetting = $storageProps.Encryption.MinimumTlsVersion

        # Проверьте, если версия TLS равна 1.0
        if ($tlsSetting -eq "TLS1_0") {
            # Добавьте в список
            $storagesUsingTls1_0 += $storage
        }
    } catch {
        Write-Host "Ошибка при получении настроек TLS для учетной записи хранилища: $($storage.StorageAccountName)"
    }
}

# Вывод учетных записей хранилища, использующих TLS 1.0
$storagesUsingTls1_0 | Format-Table StorageAccountName, ResourceGroupName, Location, @{Name="TLS Version"; Expression={$_.Encryption.MinimumTlsVersion}}

2. Использование Azure Resource Graph Explorer

Если ваша задача состоит в том, чтобы увидеть все учетные записи хранилища не на версии TLS 1.2, вы можете использовать Azure Resource Graph Explorer в Портале Azure. Вот запрос, который вернет все учетные записи хранилища, которые не используют TLS 1.2:

resources
| where type == "microsoft.storage/storageaccounts"
| where properties['minimumTlsVersion'] != "TLS1_2"
| project name, resourceGroup, properties.minimumTlsVersion

Проверка версии TLS для Function App и Web Apps

Для проверки версии TLS у Function Apps и Web Apps вы можете использовать следующий запрос в Azure Resource Graph:

Для Function Apps:

resources
| where type == "microsoft.web/sites"
| where properties['minTlsVersion'] != "1.2"
| project name, resourceGroup, properties.minTlsVersion

Для Web Apps:

resources
| where type == "microsoft.web/sites"
| where properties.minimumTlsVersion != "1.2"
| project name, resourceGroup, properties.minimumTlsVersion

Эти запросы помогут вам идентифицировать приложения, которые также необходимо обновить до TLS версии 1.2.

Заключение

Важно готовиться к окончанию поддержки TLS 1.0 и 1.1 в Azure к 31 октября 2024 года. Убедитесь, что вы проверили и обновили все учетные записи хранилища, а также любые приложения (Function Apps и Web Apps), которые могут быть у вас в облаке.

Оцените материал
Добавить комментарий

Капча загружается...