【问题标题】:Azure Runbook Failure with Connect-AzAccount -IdentityAzure Runbook 失败与 Connect-AzAccount -Identity
【发布时间】:2020-11-19 07:41:22
【问题描述】:

我一直在努力将我们在 Azure 中的 Runbook 转换为使用托管标识,并在从 Azure 运行这些命令时不断遇到错误。它们直接在具有 Hybrid Worker 的机器上运行良好,如果 Runbook 直接在 Hybrid Worker 上运行,但在许多情况下,Runbook 是在 Azure 本身上启动的。

代码部分:

Connect-AzAccount -Identity
Add-AzAccount -Identity

错误信息示例: Add-AzAccount:发送请求时出错...[Connect-AzAccount],HttpRequestException + FullyQualifiedErrorId:Microsoft.Azure.Commands.Profile.ConnectAzureRmAccountCommand

通过搜索我无法找到仅类似问题的解决方案,我还更新了这些模块,因此当前加载的模块是: AZAccounts 1.9.1 AZResources 2.3.0

【问题讨论】:

  • 我认为它不应该在 Azure 上运行,您不能将托管标识分配给 Runbook,对吧?
  • 是的,您不能将其直接添加到 Runbook。我希望通过使用托管标识替换必须引入证书的代码,但也许不可能?$servicePrincipalConnection = Get-AutomationConnection -Name $connectionName Add-AzAccount ` -ServicePrincipal ` -TenantId $servicePrincipalConnection.TenantId ` -ApplicationId $servicePrincipalConnection.ApplicationId `-CertificateThumbprint $servicePrincipalConnection.CertificateThumbprint
  • 是的,你可以做到,为什么不呢?
  • 我想我可能需要有两个版本的代码,一个用于在 Azure 上运行,一个在混合工作人员上运行,它似乎在替换那部分代码时有效,但仅在混合工作人员上运行时.感谢您帮助我解决这个问题。

标签: azure azure-managed-identity


【解决方案1】:

你可以有一个 if 条件(基于一些任意检查),如果它失败 - 运行托管身份登录,否则证书登录,这样你就不必在同一个脚本上有 2 个版本

【讨论】:

    猜你喜欢
    • 2020-07-26
    • 2022-11-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多