【问题标题】:Azure KeyVaultClient Secret for GetKey用于 GetKey 的 Azure KeyVaultClient 机密
【发布时间】:2021-01-20 07:31:06
【问题描述】:

我有这个代码sn-p:

我需要获取参数:

keyIdentifier 很简单:

clientId也很容易找到:

clientSecret - 我从哪里得到这个??

【问题讨论】:

    标签: azure azure-keyvault azure-managed-identity


    【解决方案1】:

    您的屏幕截图是托管身份,没有您可以使用的客户端密码。 它在内部使用证书,但这在这里并不重要。

    我的建议是使用 Azure.Identity 库来获取带有 DefaultAzureCredential 的令牌。 还可以使用较新的 KeyVault 库,例如:

    DefaultAzureCredential 可以在本地开发环境中自动使用系统分配的托管标识和您的用户帐户。 它尝试了多种方法并使用了一种有效的方法。

    【讨论】:

    • 在不同环境之间进行身份验证以检索密钥的最简单方式是什么?我不想管理 AD 帐户、IAM 等(我不是很熟悉)。我只需要在本地或部署时从 Azure 中获取密钥。难道没有一个我可以通过的简单凭证,可以跨环境使用吗?
    • 在 Azure AD 中注册应用程序,客户端 ID + 客户端密码可能是最简单的,只需将该应用程序添加到 Key Vault 访问策略就可以了。但这确实涉及您必须以某种方式安全地存储秘密。这就是为什么我通常的建议是 Azure 中的托管标识和本地环境中的本地用户帐户(或 .NET Core 中的用户机密),因为有了它们,您就不需要管理任何机密。此外,根据您的问题,您将返回某种签名密钥。您确定要跨环境使用相同的密钥吗?通常生产密钥是独立的。
    • 谢谢,这有帮助。现在,修复损坏网站的紧迫性意味着我正在尝试找到最简单的选项,以便以后可以正确实施。看起来更简单的选择是让应用程序生成并存储它自己的 X509 证书(如果不存在),并避免所有这些其他依赖项(它也可能不会很快托管在 Azure 中)。
    猜你喜欢
    • 1970-01-01
    • 2021-04-16
    • 2019-11-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多