【问题标题】:Get Azure account key from corp authentication从 corp 身份验证获取 Azure 帐户密钥
【发布时间】:2018-08-09 08:52:08
【问题描述】:

我正在尝试为 Azure like this 生成 sas 令牌。

我发现的所有示例都假设帐户密钥是已知的。 但是,在我的应用程序中,我想使用 Active Directory 身份验证 (corp) 并访问相关的 azure 帐户并获取密钥。

如何仅从公司登录名和密码 (AD) 获取 Azure 帐户密钥?

【问题讨论】:

  • 要为存储帐户、事件中心等生成 SAS 令牌,您需要存储或事件中心帐户名称和访问密钥。这与您的 AD 帐户或订阅帐户无关。也就是说,您可以将您的应用程序与 azure keyvault 集成,将您的密钥存储在那里,并在 AD 身份验证后检索它们。但在这种情况下,你必须提供客户端 ID,KV 的秘密。

标签: c# azure active-directory


【解决方案1】:

如何仅从公司登录名和密码 (AD) 获取 Azure 帐户密钥?

如果registry an Azure Application and assign the application role 可以接受,

然后我们可以使用Microsoft.Azure.Management.Fluent SDK 来获取存储帐户密钥。

var cred = SdkContext.AzureCredentialsFactory.FromUser("username", "password", "clientId", "tenantId",AzureEnvironment.AzureGlobalCloud);
var azure = Azure
                .Configure()
                .WithLogLevel(HttpLoggingDelegatingHandler.Level.Basic)
                .Authenticate(credentials)
                .WithDefaultSubscription();
var key = azure.StorageAccounts.GetByResourceGroup("rgName", "storageAccountName").GetKeys().FirstOrDefault();

测试结果:

【讨论】:

    猜你喜欢
    • 2019-04-14
    • 1970-01-01
    • 2023-03-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-16
    • 1970-01-01
    • 2014-02-20
    相关资源
    最近更新 更多