首页 文章

在Azure .NET Core 2.0 SDK中管理凭据

提问于
浏览
0

关于如何在Azure .NET SDK中创建凭据而不必从本地文件调用凭据,我有点迷失 .

在我的例子中,我有几个订阅,我将我的数据存储在本地数据库中 . 我想使用我存储在数据库中的凭据为我的VM多次调用Azure .

他们有许多类代表在SDK Documentation中进行身份验证的方法,但是我看不到通过SDK创建访问令牌或使用凭证(租户ID,订阅ID,客户端ID和秘密)的明确方法 .

例如,在调用其中一个客户端类(ComputeManagementClient)时,您可以使用凭据调用它来验证对Azure的请求,但它们似乎没有提供类来生成超出from a file)的凭据 .

有没有人有MSDN参考?

1 回答

  • 1

    根据AzureCredentialsFactory类,我们可以知道我们也可以获得凭证FromServicePrincipalFromUser . 在您的情况下,我建议使用FromServicePrincipalMicrosoft.Azure.Management.Fluent来操作Azure资源 . 我也做了一个演示 .

    Note :如何注册Azure AD应用程序并分配角色请参阅此document .

    var clientId = "clientId";
    var secretKey = "secretKey";
    var tenantId = "tenantId";
    var subscriptionId = "subscriptionId";
    var credentials = SdkContext.AzureCredentialsFactory.FromServicePrincipal(clientId, secretKey, tenantId,AzureEnvironment.AzureGlobalCloud);
    ComputeManagementClient client = new ComputeManagementClient(credentials) {SubscriptionId = subscriptionId };
    var result = client.VirtualMachines.ListAllAsync().Result;
    

    enter image description here

相关问题