我可以使用 Terraform 为应用程序角色分配对托管身份的访问权限吗?

Can I assign an app role access to a managed identity with Terraform?

可以使用 required_resource_accessazuread_application 为 terraform 中的应用注册分配应用角色访问权限。这将使我的 API 的自定义角色的访问权授予另一个 application/service 委托人。

我想对托管身份执行相同的操作,但无法找到使用 Terraform 执行此操作的方法。可以像那样使用 powershell 来完成,例如:

New-AzureADServiceAppRoleAssignment -ObjectId $managedIdentityObjectId -Id $appRoleId -PrincipalId $managedIdentityObjectId -ResourceId $serverServicePrincipalObjectId

对图 api 的调用会达到我认为相同的效果:

POST /servicePrincipals/{objectId}/appRoleAssignments

但如果可能的话,我真的很想用 terraform 来做到这一点。

Terraform 中没有这样的内置资源来实现这一点,这里唯一相关的东西 - azuread_application_app_role, if you want to do that, the workaround is to run the powershell command in Terraform manually via local-exec Provisioner