0

我有一个为 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,我收到来自网络应用程序的未经授权的响应。

4

1 回答 1

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,您可以从该对象中操作您想要的任何资源类型。

于 2021-11-18T13:01:31.070 回答