我正在尝试通过从 Azure DevOps 发布管道触发的 Azure PowerShell 脚本自动创建某些天蓝色资源。我想创建一个函数应用程序,并自动集成对现有 Key Vault 中机密的读取权限。此 Key Vault 位于同一 Azure 订阅中。
虽然我可以按照文档创建大多数资源,但似乎缺少有关使用 Azure PowerShell 创建某些资源的文档(或者我找不到它)。
如果我按照此链接中的示例进行操作,我可以通过使用 Azure 门户中的 UI 毫无问题地完成它,但我在Microsoft Docs上找不到任何文档来使用 PowerShell 来完成它。
Write-Host "Creating Function App..."
$fnApp = New-AzFunctionApp -Name $functionAppName `
-ResourceGroupName $emailFunctionRg `
-Location "$(AzureRegion)" `
-StorageAccount $storageName `
-Runtime dotnet `
-FunctionsVersion '3' `
-IdentityType SystemAssigned
Write-Host "Function App created!"
Write-Host "Assigning Key Vault access..."
$appId = Get-AzADServicePrincipal -DisplayName $functionAppName
Set-AzKeyVaultAccessPolicy -VaultName EmailSettings -ServicePrincipalName $appId -PermissionsToSecrets Get,List
Write-Host "Key Vault access granted!"
运行Set-AzKeyVaultAccessPolicy
失败并显示“权限不足,无法完成操作”。. 但我不确定这是否是正确的路径,这只是一个猜测,基于文档中的可用功能。
有任何想法吗?