gpt4 book ai didi

rest - 如何使用用户名和密码(无应用程序 ID)向 Azure REST API 进行身份验证

转载 作者:行者123 更新时间:2023-12-05 01:08:54 24 4
gpt4 key购买 nike

我需要获取访问 token ,以便使用 REST API 访问 Azure 中的资源(https://management.azure.com 端点)。读过的每一篇文章,都用应用程序 ID 来计数。就我而言,Azure 租户刚刚创建(以编程方式),我必须在其中创建一些资源。

我唯一拥有的是租户 ID、订阅 ID、管理员帐户的用户名和密码。如何仅使用我拥有的信息进行身份验证?它在不需要使用应用程序 ID 的 PowerShell 中如何工作?

最佳答案

据我所知,这是不可能的。正如junnas所说,即使您使用用户/密码身份验证,也需要客户端ID。

在Azure上创建服务主体很容易,你可以查看这个link .

创建 sp 后,您将获得客户端 id、客户端 key 。您还需要在订阅上授予 sp Owner 角色,您可以检查此 link .

现在,例如,您可以使用 sp 在 Power Shell 中调用 Rest api。

##get token
$TENANTID=""
$APPID=""
$PASSWORD=""
$result=Invoke-RestMethod -Uri https://login.microsoftonline.com/$TENANTID/oauth2/token?api-version=1.0 -Method Post -Body @{"grant_type" = "client_credentials"; "resource" = "https://management.core.windows.net/"; "client_id" = "$APPID"; "client_secret" = "$PASSWORD" }
$token=$result.access_token

##set subscriptionId and resource group name
$subscriptionId=""
$resourcegroupname="shui5"

$Headers=@{
'authorization'="Bearer $token"
'host'="management.azure.com"
'contentype'='application/json'
}
$body='{
"location": "northeurope",
"tags": {
"tagname1": "test-tag"
}
}'
Invoke-RestMethod -Uri "https://management.azure.com/subscriptions/$subscriptionId/resourcegroups/${resourcegroupname}?api-version=2015-01-01" -Headers $Headers -Method PUT -Body $body

关于rest - 如何使用用户名和密码(无应用程序 ID)向 Azure REST API 进行身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49066425/

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