![](/img/trans.png)
[英]Net Core 2.0 AmazonServiceException: Unable to find credentials
[英]Managing Credentials in Azure .NET Core 2.0 SDK
我对如何在Azure .NET SDK中创建凭据而不必从本地文件调用凭据有点迷茫。
就我而言,我有一些订阅,我将数据存储在本地数据库中。 我想使用存储在数据库中的凭据为我的VM多次调用Azure。
它们有许多类,它们表示SDK文档中进行身份验证的方式,但是我看不到通过SDK创建访问令牌或使用凭据(租户ID,订阅ID,客户端ID和机密信息)的明确方法。
例如,当调用Client类之一( ComputeManagementClient )时,您可以使用凭据来调用它以向Azure身份验证请求,但是它们似乎没有提供用于从文件之外生成凭据的Class。
有人有MSDN参考吗?
根据AzureCredentialsFactory类,我们可以知道我们也可以获得凭据FromServicePrincipal或FromUser 。 对于您的情况,我建议使用FromServicePrincipal和Microsoft.Azure.Management.Fluent来操作Azure资源。 我也为此做了一个演示。
注意 :如何注册Azure AD应用程序和分配角色,请参考此文档 。
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;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.