是否可以使用 InteractiveBrowserCredential 对 Azure Management .NET SDK 进行身份验证?
Posted
技术标签:
【中文标题】是否可以使用 InteractiveBrowserCredential 对 Azure Management .NET SDK 进行身份验证?【英文标题】:Is it possible to authenticate Azure Management .NET SDK with InteractiveBrowserCredential? 【发布时间】:2021-12-28 19:07:43 【问题描述】:我有一个为 Azure 构建资源的脚本。目前,我正在使用服务主体,但理想情况下,我希望使用我的 Active Directory 登录名,因为我们将向更大的开发人员群体开放脚本并且需要可追溯性。是否可以使用InteractiveBrowserCredential
来执行以下操作:
var credential = await new InteractiveBrowserCredential(new InteractiveBrowserCredentialOptions );
var azure = Microsoft.Azure.Management.Fluent.Azure
.Configure()
.WithLogLevel(HttpLoggingDelegatingHandler.Level.Basic)
.Authenticate(new AzureCredentials(credential, AzureEnvironment.AzureGlobalCloud))
.WithSubscription(subscriptionId);
var webApp = await azure.WebApps.GetByResourceGroupAsync(resourceGroup, webAppName);
上面的脚本无法编译,因为InteractiveBrowserCredential
和AzureCredentials
之间没有转换。当我从 InteractiveBrowserControl
中提取令牌时,我从 Web 应用程序收到未经授权的响应。
【问题讨论】:
【参考方案1】:我认为您需要使用新的 Azure SDK for .NET,它是公共预览版,位于 Azure.Identity
之上 - 它支持 InteractiveBrowserCredential。文档位于 GitHub 上,地址为 https://github.com/Azure/azure-sdk-for-net/blob/main/sdk/resourcemanager/Azure.ResourceManager/README.md
精简版是您现在将使用一个 ArmClient
对象,您使用该对象进行身份验证
ArmClient client = new ArmClient(new DefaultAzureCredential());
从该客户端,您将获得一个 Subscription
对象,您将从该对象获得一个 ResourceGroup
对象,您可以从中操作您想要的任何资源类型。
【讨论】:
以上是关于是否可以使用 InteractiveBrowserCredential 对 Azure Management .NET SDK 进行身份验证?的主要内容,如果未能解决你的问题,请参考以下文章
是否可以使用 JavaScript 确定 GeoJSON 点是否在 GeoJSON 多边形内?
是否可以检查是否使用modernizr 启用了cookie?