2017-09-25 2 views
0

Je configure un Runbook Azure Automation avec une "Connexion Classic RunAs". Après avoir sélectionné l'abonnement Azure avec cette connexion, je reçois la clé de stockage pour l'un de mes comptes de stockage, mais le problème est que parfois cela fonctionne et parfois non. Voici ce que je fais:Erreur Get-AzureStorageKey sur Azure Automation

$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" 

L'erreur transitoire qui se produit est:

Get-AzureStorageKey : An error occurred while sending the request.

At line:38 char:26

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

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

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

    • FullyQualifiedErrorId :

Microsoft.WindowsAzure.Commands.ServiceManagement.StorageServices.GetAzureStorageKeyCommand

Il fonctionne la plupart du temps, mais parfois cette exception est levée.

Quelqu'un peut-il m'aider?

Merci!

+0

pourriez-vous s'il vous plaît laissez-moi savoir quel type de votre compte de stockage? ASM ou ARM? –

+0

Salut Jason! C'est un compte ASM (classique). Merci –

Répondre

0

Après quelques tests infructueux, j'ai décidé de stocker le StorageKey dans une variable cryptée.

Je sais que ce n'est pas la meilleure solution, mais je n'ai pas trouvé le problème. La solution originale a fonctionné la plupart du temps, mais l'exception lancée lorsque l'erreur s'est produite ne m'a pas aidé à le trouver.

0

Vous devez utiliser une connexion RunAs - les ClassicRunAsConnections sont pour RDFE, les applets de commande KeyVault utilisent vos informations d'identification AzureRm. Les informations d'identification RunAs vous fournissent un service principal et vous devez donner à ce service principal accès à votre KeyVault dans la configuration KeyVault

+0

Salut Mark! KeyVault est-il utilisé par la cmdlet Get-AzureStorageKey? Je pensais que le "ClassicRunAsConnection" était le bon choix pour connecter un compte de stockage classique, mais je vais suivre votre conseil et faire quelques tests avec le "AzureRunAsConnection". Cependant, c'est étrange parce que parfois cela fonctionne et parfois non. Merci –

+0

Non, il s'agit strictement de Get-AzureKeyVaultSecret ou de Get-AzureKeyVaultKey. Get-AzureStorageKey est une applet de commande RDFE –