Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Cet article traite des solutions aux problèmes que vous pourriez rencontrer en utilisant une identité managée avec votre compte Automation. Pour obtenir des informations générales sur l’utilisation de l’identité managée avec des comptes Automation, consultez Azure Automation vue d’ensemble de l’authentification de compte.
Scénario : un runbook avec une identité managée affectée par le système échoue avec le message d’erreur 400
Problème
Le runbook utilisant une identité managée affectée par le système échoue avec l’erreur unable to acquire for tenant organizations with error ManagedIdentityCredential authentication failed. Managed System Identity not found! Status 400 (Bad Request)
Cause
Vous n’avez pas attribué d’autorisations après la création de l’identité managée affectée par le système.
Résolution
Veillez à attribuer les autorisations appropriées pour l’identité managée affectée par le système. Utilisant une identité managée affectée par le système pour un compte Azure Automation
Scénario : Identité managée dans un Runbook ne peut pas s’authentifier auprès de Azure
Problème
Quand vous utilisez une identité managée dans votre runbook, vous recevez une erreur de type : connect-azaccount : ManagedIdentityCredential authentication failed: Failed to get MSI token for account d94c0db6-5540-438c-9eb3-aa20e02e1226 and resource https://management.core.windows.net/. Status: 500 (Internal Server Error)
Cause
Cela peut se produire dans les cas suivants :
Cause 1 : vous utilisez l'identité managée du compte Automation, qui n'a pas encore été créée et le
Code Connect-AzAccount -Identitytente de s'authentifier auprès de Azure et d'exécuter un runbook dans Azure ou sur un Runbook Worker hybride.Cause 2 : le compte Automation dispose d’une identité managée utilisateur et non d’une identité managée système ;
Code Connect-AzAccount -Identitytente de s’authentifier auprès d’Azure et d’exécuter un runbook sur un Runbook Worker hybride de machine virtuelle Azure en utilisant l’identité managée système de machine virtuelle Azure.
Résolution
Resolution 1 : vous devez créer l’identité managée du système de compte Automation et lui accorder l’accès aux ressources Azure.
Résolution 2 : selon vos besoins, vous pouvez :
- Créer l'identité managée du système de compte Automation et l'utiliser pour s'authentifier.
Ou - Supprimer l'identité gérée assignée à l'utilisateur du compte Automation.
- Créer l'identité managée du système de compte Automation et l'utiliser pour s'authentifier.
Scénario : Impossible de trouver l’identité managée affectée par l’utilisateur pour l’ajouter au compte Automation
Problème
Vous souhaitez ajouter une identité managée affectée par l’utilisateur au compte Automation. Cependant, vous ne trouvez pas le compte dans le volet Automation.
Cause
Ce problème se produit si vous n'avez pas les autorisations suivantes vous permettant d'afficher l'identité managée affectée à l'utilisateur dans la section Automation.
Microsoft.ManagedIdentity/userAssignedIdentities/*/readMicrosoft.ManagedIdentity/userAssignedIdentities/*/assign/action
Remarque
Les autorisations ci-dessus sont accordées par défaut à l’Opérateur d’identité managée et au Contributeur d’identité managée.
Résolution
Assurez-vous de disposer de l'autorisation de rôle Opérateur d'identité pour ajouter l'identité managée assignée par l'utilisateur à votre compte Automation.
Scénario : Le runbook échoue avec le message d’erreur « this.Client.SubscriptionId ne peut pas être null. »
Problème
Votre runbook utilisant une identité managée Connect-AzAccount -Identity qui tente de gérer des objets Azure, ne parvient pas à fonctionner correctement et enregistre l’erreur suivante : this.Client.SubscriptionId cannot be null.
get-azvm : 'this.Client.SubscriptionId' cannot be null. At line:5 char:1 + get-azvm + ~~~~~~~~ + CategoryInfo : CloseError: (:) [Get-AzVM], ValidationException + FullyQualifiedErrorId : Microsoft.Azure.Commands.Compute.GetAzureVMCommand
Cause
Cela peut se produire lorsque l’identité managée (ou un autre compte utilisé dans le runbook) n’a pas reçu d’autorisations pour accéder à l’abonnement.
Résolution
Accordez à l’identité managée (ou à un autre compte utilisé dans le runbook) une appartenance au rôle approprié dans l’abonnement. En savoir plus
Scénario : Échec d’obtention du jeton MSI pour le compte
Problème
Quand vous utilisez une identité gérée assignée par l'utilisateur dans votre compte Automation, vous risquez de recevoir une erreur semblable à la suivante : Failed to get MSI token for account a123456b-1234-12a3-123a-aa123456aa0b.
Cause
Utilisation d’une identité managée affectée par l’utilisateur avant l’activation d’une identité managée affectée par le système pour votre compte Automation.
Résolution
Activez une identité managée affectée par le système pour votre compte Automation. Ensuite, utilisez l’identité managée affectée par l’utilisateur.
Scénario : Échec de la tentative d’utilisation d’une identité managée avec un compte Automation
Problème
Lorsque vous essayez d’utiliser des identités managées dans votre compte Automation, vous rencontrez une erreur semblable à celle-ci :
Connect-AzureRMAccount : An error occurred while sending the request. At line:2 char:1 + Connect-AzureRMAccount -Identity +
CategoryInfo : CloseError: (:) [Connect-AzureRmAccount], HttpRequestException + FullyQualifiedErrorId : Microsoft.Azure.Commands.Profile.ConnectAzureRmAccountCommand
Cause
La cause la plus courante est que vous n’avez pas activé l’identité avant d’essayer de l’utiliser. Pour vérifier cela, exécutez le runbook PowerShell suivant dans le compte Automation concerné.
$resource= "?resource=https://management.azure.com/"
$url = $env:IDENTITY_ENDPOINT + $resource
$Headers = New-Object "System.Collections.Generic.Dictionary[[String],[String]]"
$Headers.Add("X-IDENTITY-HEADER", $env:IDENTITY_HEADER)
$Headers.Add("Metadata", "True")
try
{
$Response = Invoke-RestMethod -Uri $url -Method 'GET' -Headers $Headers
}
catch
{
$StatusCode = $_.Exception.Response.StatusCode.value__
$stream = $_.Exception.Response.GetResponseStream()
$reader = New-Object System.IO.StreamReader($stream)
$responseBody = $reader.ReadToEnd()
Write-Output "Request Failed with Status: $StatusCode, Message: $responseBody"
}
Si le problème est que vous n’avez pas activé l’identité avant de tenter de l’utiliser, vous devriez obtenir un résultat similaire à ce qui suit :
Request Failed with Status: 400, Message: {"Message":"No managed identity was found for Automation account xxxxxxxxxxxx"}
Résolution
Vous devez activer une identité pour votre compte Automation avant de pouvoir utiliser le service d’identité managée. Consultez Enable une identité managée pour votre compte Azure Automation
Étapes suivantes
Si cet article ne vous permet pas de résoudre votre problème, utilisez l’un des canaux suivants pour obtenir une aide supplémentaire :
- Obtenez des réponses de Azure experts via Azure Forums.
- Contactez @AzureSupport. Il s’agit du compte officiel Microsoft Azure pour connecter la communauté Azure aux bonnes ressources : réponses, support et experts.
- Si vous envisagez d’ouvrir un cas de support pour un problème non résolu, collectez les données de diagnostic requises avant de l’ouvrir. Consultez Data à collecter lors de l’ouverture d’un cas pour Microsoft Azure Automation.
- Soumettez une demande de support Azure. Accédez au site support Azure, puis sélectionnez Get Support.