【问题标题】:Get-AzureStorageKey Error on Azure AutomationAzure 自动化上的 Get-AzureStorageKey 错误
【发布时间】:2018-03-06 12:44:36
【问题描述】:

我正在使用“经典 RunAs 连接”配置 Azure 自动化 Runbook。 在我使用此连接选择 Azure 订阅后,我将获得我的一个存储帐户的存储密钥,但问题是有时它可以工作,有时它不能。这是我正在做的事情:

$ConnectionAssetName = "AzureClassicRunAsConnection" 
$Conn = Get-AutomationConnection -Name $ConnectionAssetName
$CertificateAssetName = $Conn.CertificateAssetName
$Cert = Get-AutomationCertificate -Name $CertificateAssetName 
Set-AzureSubscription -SubscriptionName $Conn.SubscriptionName -SubscriptionId $Conn.SubscriptionID -Certificate $AzureCert  
Select-AzureSubscription -SubscriptionId $Conn.SubscriptionID

$storageAccountKey = Get-AzureStorageKey -StorageAccountName "MyStorageAccountName" 

发生的瞬时错误是:

Get-AzureStorageKey : 发送请求时出错。

在 line:38 char:26

  • ... eAccountKey = Get-AzureStorageKey -StorageAccountName "MyStorageAccountName"

  • ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~

    • CategoryInfo : CloseError: (:) [Get-AzureStorageKey], HttpRequestException

    • FullyQualifiedErrorId:

Microsoft.WindowsAzure.Commands.ServiceManagement.StorageServices.GetAzureStorageKeyCommand

它大部分时间都有效,但有时会抛出此异常。

有人可以帮帮我吗?

谢谢!

【问题讨论】:

  • 能否告诉我您的存储帐户类型? ASM 还是 ARM?
  • 嗨杰森!这是一个 ASM 帐户(经典)。谢谢

标签: powershell azure azure-automation


【解决方案1】:

经过一些不成功的测试,我决定将 StorageKey 存储在一个加密变量中。

我知道这不是最好的解决方案,但我没有找到问题所在。 原来的解决方案大部分时间都有效,但是发生错误时抛出的异常并没有帮助我找到它。

【讨论】:

    【解决方案2】:

    您需要使用 RunAs 连接 - ClassicRunAsConnections 用于 RDFE,KeyVault cmdlet 使用您的 AzureRm 凭据。 RunAs 凭据为您提供服务主体,您需要在 KeyVault 配置中授予该服务主体对您的 KeyVault 的访问权限

    【讨论】:

    • 嗨,马克! Get-AzureStorageKey cmdlet 是否使用 KeyVault?我认为“ClassicRunAsConnection”是连接经典存储帐户的正确选择,但我会听从您的建议并使用“AzureRunAsConnection”进行一些测试。但是,这很奇怪,因为有时它有效,有时则无效。谢谢
    • 不,这完全是关于 Get-AzureKeyVaultSecret 或 Get-AzureKeyVaultKey。 Get-AzureStorageKey 是一个 RDFE cmdlet
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多