gpt4 book ai didi

azure - 如何对 https ://management. azure.com api 进行身份验证?

转载 作者:行者123 更新时间:2023-12-03 04:10:59 25 4
gpt4 key购买 nike

我想通过 API 调用检索有关我的 DNS 区域的数据:

$api = "?api-version=2018-05-01"

$pat = "Bearer $env:System_AccessToken"

Write-Host "### PAT ###"
Write-Host $pat

$DNSInformation = "https://management.azure.com/subscriptions/$subscriptionId/resourceGroups/$resourceGroupName/providers/Microsoft.Network/dnsZones/$zoneName/$recordType/$relativeRecordSetName$api"

Write-Host "###"
Write-Host $DNSInformation
Write-Host "###"

$x = Invoke-RestMethod -Uri $DNSInformation -Headers @{Authorization = $pat } -Method Get

当我运行这个脚本时,我得到:

The remote server returned an error: (401) Unauthorized.

当我导航到 URL 时,我得到:

error: {
code: "AuthenticationFailed",
message: "Authentication failed. The Authorization header is missing."
}

我认为问题是我无法使用 $env:System_AccessToken token 来访问管理 api。但我找不到需要哪种身份验证的信息。

最佳答案

正如错误所述,授权 header 不正确。

$URI = "https://management.azure.com/providers/microsoft.resources/checkresourcename?api-version=2014-01-01"
Invoke-RestMethod -Uri $URI -Method GET -Headers $authHeader

您可以使用多种方法来创建 header :

  1. 正如您提到的 - Azure Powershell to check resource names

  2. 通过创建不记名 token :Powershell Script to delete unused resources in Azure

关于azure - 如何对 https ://management. azure.com api 进行身份验证?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56688741/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com