Ошибка выброса Get-AzureBlobContent при запуске из учетной записи Azure Automation - PullRequest
1 голос
/ 14 мая 2019

Я получаю сообщение об ошибке при попытке загрузить BLOB-объект (файл JSON) из учетной записи хранения Azure из моей учетной записи Azure Automation.Похоже, проблема авторизации.

Это работает на моем локальном ноутбуке, но не работает с учетной записью автоматизации Azure.Не работает, даже если я сделаю контейнер общедоступным

Я назначил привилегии ВЛАДЕЛЬЦА для принципа обслуживания учетных записей автоматизации в группе ресурсов (учетная запись автоматизации + учетная запись хранения остается в этой RG) и, в частности, в учетной записи храненияа также:

enter image description here

Ниже приведен код:

$connectionName = "AzureRunAsConnection"
try
{
    # Get the connection "AzureRunAsConnection "
    $servicePrincipalConnection=Get-AutomationConnection -Name $connectionName         

    "Logging in to Azure..."
    Add-AzureRmAccount `
        -ServicePrincipal `
        -TenantId $servicePrincipalConnection.TenantId `
        -ApplicationId $servicePrincipalConnection.ApplicationId `
        -CertificateThumbprint $servicePrincipalConnection.CertificateThumbprint 
}
catch {
    if (!$servicePrincipalConnection)
    {
        $ErrorMessage = "Connection $connectionName not found."
        throw $ErrorMessage
    } else{
        Write-Error -Message $_.Exception
        throw $_.Exception
    }
}

$config_file_resource_group_name = "vg-datalake-manjunath"
$config_file_storage_account_name = "datalakelog"
$primary_key = (Get-AzureRmStorageAccountKey -ResourceGroupName $config_file_resource_group_name -AccountName $config_file_storage_account_name).value[0]
 $config_file_context = New-AzureStorageContext -StorageAccountName $config_file_storage_account_name -StorageAccountKey $primary_key

 Get-AzureStorageBlobContent -Blob "mw_services.json" -Container "fwconfigfiles" -Destination "C:\temp\mw_services.json" -Context $config_file_context

 get-content "C:\temp\mw_services.json" | write-output

ОШИБКА:

Get-AzureStorageBlobContent : The remote server returned an error: (403) Forbidden. HTTP Status Code: 403 - HTTP Error 
Message: This request is not authorized to perform this operation.
At line:30 char:2
+  Get-AzureStorageBlobContent -Blob "mw_services.json" -Container "fwc ...
+  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : CloseError: (:) [Get-AzureStorageBlobContent], StorageException
    + FullyQualifiedErrorId : 
StorageException,Microsoft.WindowsAzure.Commands.Storage.Blob.Cmdlet.GetAzureStorageBlobContentCommand

1 Ответ

1 голос
/ 20 мая 2019

Возможная причина в том, что вы можете настроить доступ к выбранным сетям.enter image description here

Если вы включите эту опцию и отметите «разрешить доступ к доверенным службам Microsoft», вы получите эту ошибку, поскольку автоматизация не указана в списке доверенных служб MS.см https://docs.microsoft.com/en-us/azure/storage/common/storage-network-security#trusted-microsoft-services. enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...