首页 > 解决方案 > 如何从 Azure Key Vault 获取 VaultProperties.NetworkAcls 属性

问题描述

我需要提取 azure key vault 的防火墙和虚拟网络属性,看起来我想要的属性是 VaultProperties.NetworkAcls

这记录在https://docs.microsoft.com/en-us/dotnet/api/microsoft.azure.management.keyvault.models.vaultproperties.networkacls?view=azure-dotnet#Microsoft_Azure_Management_KeyVault_Models_VaultProperties_NetworkAcls

但是我不明白如何提取这个属性。

我正在使用 VS 2017 c# .net core 2.1

我已经安装了 Azure SKR 并安装了 Microsoft.Azure.Management.Fluent 1.19.0

我找不到 Microsoft.Azure.Management.KeyVault.Models.VaultProperties 但是我能找到的是这个

Vault 属性

谢谢埃兰加

标签: c#azure.net-coreazure-keyvault

解决方案


我设法使用下面的方法获取给定订阅的保险库信息。你也需要下面的nuget。 Microsoft.Azure.Management.KeyVault

private async Task<string> GetAccessTokenAsync(string authority, string resource)
    {
        var adCredential = new ClientCredential(ClientId,
            ClientSecret);
        var authenticationContext = new AuthenticationContext(authority);
        return (await authenticationContext.AcquireTokenAsync(resource, adCredential)).AccessToken;
    }

var token = await GetAccessTokenAsync(
            "https://login.microsoftonline.com/<TenantId>",
            "https://management.azure.com/")
var tokenCredentials = new TokenCredentials(token);
        var keyVaultManagementClient =
            new KeyVaultManagementClient(tokenCredentials)
            {
                SubscriptionId = subscriptionId
            }
return keyVaultManagementClient.Vaults.Get(resourceGroupName, vaultName)

推荐阅读