是否可以使用 InteractiveBrowserCredential 对 Azure Management .NET SDK 进行身份验证?
Is it possible to authenticate Azure Management .NET SDK with InteractiveBrowserCredential?
我有一个用于为 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 应用程序收到未经授权的响应。
我认为您需要使用新的 Azure SDK for .NET,它处于 public 预览版中,位于 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
对象,你可以从中操纵你想要的任何资源类型。
我有一个用于为 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 应用程序收到未经授权的响应。
我认为您需要使用新的 Azure SDK for .NET,它处于 public 预览版中,位于 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
对象,你可以从中操纵你想要的任何资源类型。