如何使用 Azure PowerShell 管理 Azure APIM 开发人员门户委派

How to manage the Azure APIM developer portal delegation with Azure PowerShell

我想启用 Azure APIM 开发人员门户登录和注册委派并生成“委派验证密钥”。这在 Azure 门户中很简单:

我想实现同样的目标,但将 Azure PowerShell 作为更大的部署管道的一部分。 我找不到有关如何执行此操作的任何文档。

谢谢

AFAIK,我们无法使用 powershell 实现上述要求,以下是我们可以通过 powershell 为 APIM 配置的详细信息 (MICROSOFT DOCUMENTATION)。

我们可以使用 git 配置上述要求,APIM 请参考此 MICRSOFT DOCUMENTATION for more details & the list of cmdlets

另一个选项是对资源使用 HTTP 调用。也可以使用 PowerShell 脚本进行调用。 这可以按如下方式完成:

  1. 获取 Azure 访问令牌 - 您应该拥有对我们将要处理的资源具有足够权限的服务主体。

    $tokenUri = "https://login.microsoftonline.com/${tenantId}/oauth2/token" $形式=@{ grant_type = 'client_credentials' 资源 = 'https://management.core.windows.net/' client_id = $spClientId client_secret = $spClientSecret } $response = Invoke-RestMethod -Uri $tokenUri -Method Post -Body $form $azureToken = $response.access_token

  2. 向 APIM 服务发送 HTTP 请求

     $url = "https://management.azure.com/subscriptions/${subscriptionId}/resourceGroups/${apiManagementRg}/providers/Microsoft.ApiManagement/service/${apiManagementName}/portalsettings/delegation?api-version=2020-12-01"
    

    $headers = @{ 'Authorization' = "不记名 ${azureToken}" }

    $正文=@" { “特性”: { "url": "$delegationUrl", "验证键": "$验证键", “订阅”:{ “启用”:假 }, “用户注册”: { “启用”:真 } } } "@

    $delegationResponse = Invoke-RestMethod-方法'Put'-Body $body -Uri $url -Headers $headers