用于管理生产和开发中的秘密的Azure Key Vault

时间:2016-02-24 12:42:16

标签: adfs azure-keyvault azure-active-directory

Azure Key Vault似乎不支持分配给组的访问策略;仅分配给用户或服务主体的。它还支持每个密钥保管库最多10个访问策略,这意味着我无法分配我想要单独访问的所有人员。

我不想将客户机密传递给所有开发人员。对于已部署的应用程序,传递单个客户机密码以便代码可以作为服务主体进行身份验证然后获取机密信息。

开发人员通过NTLM / Kerberos(通过ADFS)向AAD进行身份验证,以获取访问令牌(而不是通过客户端密钥)。通过获取此访问令牌,他们应该能够访问运行我们的应用程序所需的所有其他机密的安全存储形式(就像生产代码在作为服务主体进行身份验证时所做的那样)。

我该如何做到这一点?

1 个答案:

答案 0 :(得分:3)

编辑:现在可以将组与密钥保管库访问策略相关联。只需指定组的对象ID,通常将用户对象ID或服务主体对象ID放在其中。

这是一个痛苦的解决方法,但......

您可以编写一个相当简单的应用程序,在Key Vault之上添加一个图层。此应用程序(可以是Web应用程序,API或两者)将设置为使用Azure AD进行身份验证,并检查调用方的组成员身份以确定他们是否应该有权访问给定的秘密。如果是,应用程序将从密钥保管库检索密钥将其传递给请求者。 (应用程序的服务主体将是Key Vault上授权的服务主体。)