【问题标题】:Connect-AzAccount error when running Azure Functions coded in PowerShell运行在 PowerShell 中编码的 Azure Functions 时出现 Connect-AzAccount 错误
【发布时间】:2020-09-14 16:12:13
【问题描述】:

尝试运行我的 Azure 函数(在 PowerShell 中)时出现此错误。 PowerShell 脚本在本地运行时正常工作。

错误:

[Error] ERROR: No subscription found in the context.  Please ensure that the credentials you provided are authorized to access an Azure subscription, then run Connect-AzAccount to login

requirements.ps1:

@{
    'Az.Accounts' = '1.9.0'
    'Az.Resources' = '1.1.2'
    'AzTable' = '2.0.3'
    'Az.Storage' = '1.7.0'
    'Az.KeyVault' = '1.5.1'
}

run.ps1 中,我添加了Import-Module 命令:

Import-Module Az.Resources
Import-Module Az.Accounts
Import-Module Az.KeyVault
Import-Module AzTable

'run.ps1' 中的前几行:

$activeKey = Get-AzKeyVaultManagedStorageAccount -VaultName $keyVaultName -Name $storageAccountName

# Get Storage Account Key 
$key = (Get-AzStorageAccountKey -ResourceGroupName $rgName -Name $storageAccountName)

profile.ps1:

if ($env:MSI_SECRET) {
    Disable-AzContextAutosave
    Connect-AzAccount -Identity
}

谢谢!

【问题讨论】:

    标签: azure powershell azure-functions


    【解决方案1】:

    请确保您:

    1. Enable a managed identity。使用系统分配的身份更容易,使用用户分配的身份需要one more step
    2. Assign appropriate roles 对目标的身份订阅。
    3. 在您的run.ps1 代码中,调用Set-AzContext 以选择目标订阅。

    通常不需要在run.ps1 中显式导入模块。

    【讨论】:

    • 嘿,谢谢。现在真的很近了。当前收到不同的错误“[错误]错误:操作返回了无效的状态代码'禁止'异常:类型:Microsoft.Azure.KeyVault.Models.KeyVaultErrorExceptionRequest”。我尝试将 Key Vault 权限授予 Function App、Key Vault 的访问策略,但仍然无济于事。有没有伊达?
    猜你喜欢
    • 2020-02-15
    • 1970-01-01
    • 2021-04-27
    • 2021-03-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-14
    • 2020-11-19
    相关资源
    最近更新 更多