如何使用 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 脚本进行调用。
这可以按如下方式完成:
获取 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
向 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
我想启用 Azure APIM 开发人员门户登录和注册委派并生成“委派验证密钥”。这在 Azure 门户中很简单:
我想实现同样的目标,但将 Azure PowerShell 作为更大的部署管道的一部分。 我找不到有关如何执行此操作的任何文档。
谢谢
AFAIK,我们无法使用 powershell 实现上述要求,以下是我们可以通过 powershell 为 APIM 配置的详细信息 (MICROSOFT DOCUMENTATION
)。
我们可以使用 git 配置上述要求,APIM 请参考此 MICRSOFT DOCUMENTATION
for more details & the list of cmdlets
。
另一个选项是对资源使用 HTTP 调用。也可以使用 PowerShell 脚本进行调用。 这可以按如下方式完成:
获取 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
向 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