【问题标题】:List key vaults associated with AD user accounts?列出与 AD 用户帐户关联的密钥保管库?
【发布时间】:2017-07-13 19:37:45
【问题描述】:

我正在 MVC c# 中创建一个 Web 应用程序,您可以在其中使用您的 AD 帐户登录并阅读机密信息。问题是有很多 Key Vault - 每个都有特定的权限。我已经设法对一个特定的保险库执行此操作,并使用 AD 登录的保险库 URL 列出保险库中的机密。

我希望能够列出用户也可以访问的保险库。我知道这在 Powershell 中很容易做到,但我不知道如何在 C# 中做到这一点。

有没有办法做到这一点?谢谢!

【问题讨论】:

  • 嗯,可以直接调用powershell或者rest端点吗?
  • 您能解释一下“关联”是什么意思吗?您是指创建保管库的帐户、可以管理保管库的帐户、对帐户具有特定访问权限的帐户还是其他?
  • 所有成员。因此,如果用户可以对其进行写入、阅读、管理 - 只要他们能看到保管库。我不能使用 powershell,因为它是一个网络应用程序。我正在研究的方式是通过其他 API,但它只能显示与订阅相关的保险库。

标签: asp.net-mvc azure active-directory azure-keyvault


【解决方案1】:

据我所知,目前还没有这样的 REST,我们可以获取跨不同订阅的所有密钥库。

作为一种解决方法,我们需要在所有订阅和资源组下列出 Key Vault。并检查 accessPolicies 以查看 Key Vault 是否可访问。

例如下面有一个accessPolicie点赞,我们可以检查用户的对象是否匹配accessPolicie中的objectId

  {
    "tenantId": "",
    "objectId": "",
    "permissions": {
      "keys": [],
      "secrets": [
        "Get"
      ],
      "certificates": []
    }
  },

要在所有订阅和资源组下列出 Key Vault,您可以参考下面的 REST:

GET: https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.KeyVault/vaults?api-version=2015-06-01    

authorization: bearer {access_token}

如果您对 Azure 有任何想法或反馈,可以通过here 提交。

【讨论】:

  • 好主意!我会这样做的。
猜你喜欢
  • 2021-11-03
  • 1970-01-01
  • 1970-01-01
  • 2021-10-04
  • 2020-05-09
  • 1970-01-01
  • 2012-11-27
  • 1970-01-01
  • 2019-01-29
相关资源
最近更新 更多