azure - 从函数应用程序中运行 New-AzureRmResourceGroupDeployment

标签 azure azure-functions azure-resource-manager

我需要临时连接一个无状态工作人员来执行一项长期运行的工作,该工作基于用户操作,该操作完成后会自毁。我正在尝试从 PoSh 函数应用程序中运行 New-AzureRmResourceGroupDeployment,但无法弄清楚如何从 PoSh 脚本中向 Azure 进行身份验证。

我尝试过这个:

$accountName = "<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="503d291914103d29343f3d31393e7e333f3d" rel="noreferrer noopener nofollow">[email protected]</a>"
$pwd = ConvertTo-SecureString "password" -AsPlainText -Force

$cred = new-object PSCredential($accountName, $pwd)

Add-AzureRmAccount -Credential $cred
New-AzureResourceGroupDeployment -ResourceGroupName yadda yadda

我收到一条错误消息,指出我需要使用组织 ID(我就是这样,我们的 Azure AD 是联合的,并且我们使用 AD Sync(以及 SiteMinder,如果重要的话,则不使用 WS-*)):

 Add-AzureRmAccount : -Credential parameter can only be used with Organization ID credentials. For more information, please refer to http://go.microsoft.com/fwlink/?linkid=331007&clcid=0x409 for more information about the difference between an organizational account and a Microsoft account.

我尝试了“Login-AzureRMAccount -Credential $cred”,结果类似。

如果我使用 -Credential 标志从本地计算机(已加入 AD 的成员)上的 PoSh 窗口执行 Add- 或 Login- cmdlet,我会收到类似的错误。如果我在没有凭据的情况下运行 cmdlet,系统会通过交互式 ID/PW 窗口提示我输入凭据(输入 ID 后无需输入密码)。

有谁知道如何进行身份验证吗?我可以像上面那样进行身份验证,从我们的网络层传递某种凭证,甚至是我不知道的选项 C。

最佳答案

您将需要使用服务主体进行身份验证。可以在此处找到带有说明的示例。

Azure Function role like permissions to Stop Azure Virtual Machines

关于azure - 从函数应用程序中运行 New-AzureRmResourceGroupDeployment,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41988991/

相关文章:

powershell - Azure ARM 模板和 PowerShell 模块

c# - 应用程序洞察记录错误所需的确切时间是多少

node.js - Azure 云服务和持久配置设置

azure - 新添加的列的数据永远不会写入 Log Analytics 工作区中的现有自定义表中

azure - 使用 Azure Functions(无需流分析)将数据从 Azure IoTHub 存储到 SQL 数据库中

azure-devops - 重新部署Azure Functions ARM模板会删除我发布的函数

azure - 启用应用程序洞察会中断我的 Azure 功能吗?

azure - 我们是否需要为 Azure Functions 上使用的 .csx 文件的编译时间付费?

python - Python v2 函数中的表存储绑定(bind)

json - 无法在 Azure 中解析参数 : azuredeploy.parameters.json