看来我正在尝试首先以编程方式创建 Azure 应用程序,然后使用 Azure 管理 API 创建一些资源。我想向社区询问一个新问题,即如何使用基本的 PowerShell 命令New-AzureRmRoleAssignment -RoleDefinitionName Owner -ServicePrincipalName $adApp.ApplicationId.Guid
(HttpClient
或使用 Microsoft Graph API 库具有确切所需权限的一些更智能的方法)。
这次试图成为一个更好的人(更多的人,提供代码),我在 GH 中准备了一个 repo,但问题基本上归结为应该使用什么样的 URI(here)。代码是
var roleAssignment = $"{{something here}}";
var roleAssignementContent = new StringContent(roleAssignment, Encoding.UTF8, "application/json");
var roleAssignmentResponse = await client.PostAsync($"https://graph.windows.net/{tenants.value[0].tenantId}/applications/{createdApplication.appId}?api-version=1.6", roleAssignementContent).ConfigureAwait(false);
var roleAssignement = await roleAssignmentResponse.Content.ReadAsStringAsync().ConfigureAwait(false);
如果事情更容易使用它(或库)但运气不佳,我也会摆弄Graph API Explorer 。事实上,最终目标是以编程方式创建应用程序,以便可以使用Azure 管理库进行部署。也就是说,从头到尾都在代码中。
(此外,代码具有一次性质量,仅提供功能更强大的示例。)