为托管服务标识添加访问策略



作为Powershell脚本的一部分,我正在配置FunctionApp和KeyVault。脚本还会在函数应用上启用 MSI。我需要在函数应用的密钥保管库上添加访问策略。如何添加此访问策略?我在 MSDN 上找不到执行此操作的示例。

New-AzResource -ResourceType 'Microsoft.Web/Sites' -ResourceName $FuncAppName -Kind 'functionapp' -Location $defaultRegion -ResourceGroupName $defaultRG -Properties @{ }  -Force
set-AzWebApp -ResourceGroupName $defaultRG -AssignIdentity $true -Name $FuncAppName -HttpsOnly $true | Out-Null
$KeyVault = New-AzKeyVault -Name $KeyVaultName -ResourceGroupName $defaultRG -Location $defaultRegion
Set-AzKeyVaultAccessPolicy -VaultName $KeyVault.VaultName -UserPrincipalName $settingsServiceAccountName -PermissionsToSecrets set, get -PassThru | Out-Null

我可以添加用户原则,但不知道如何添加函数应用。

您可以使用-ObjectId参数,它是MSI的对象ID。

Set-AzKeyVaultAccessPolicy -VaultName 'Contoso03Vault' -ObjectId 34595082-9346-41b6-8d6b-295a2808b8db -PermissionsToSecrets Get,Set

若要获取 MSI 的对象 ID,请使用以下命令。确保你有 已启用 MSI。

$objectid = (Get-AzWebApp -ResourceGroupName <ResourceGroupName> -Name <functionname>).Identity.PrincipalId

最新更新