首页 > 解决方案 > 在应用程序 Web 服务器上安全存储租户/客户端 ID

问题描述

我最近开始研究使用带有公共/私有证书的客户端凭据授予对 Azure Active Directory 进行身份验证,详情如下:https ://docs.microsoft.com/en-gb/azure/active-directory/develop/v1-oauth2-client -信用授权流

我在天蓝色托管平台等之外运行外部 PHP/LEMP 服务器等。

我已成功连接到 azure ad,如下所示:

在此处输入图像描述

问题更多的是我们如何进行凭证存储,以便我可以实际进行授权。具有讽刺意味的是,我需要存储这些凭据,以便可以访问安全存储在密钥库中的凭据!所以我只是想知道是否有人对存储有任何建议:

将这些值作为纯文本存储在站点数据库中是否安全?你会推荐环境变量吗?只是想知道人们对此的态度是什么。

非常感谢!

标签: phpazuresecurity

解决方案


我建议您将这些变量存储在 Key Vault 中,这是最安全的选择。但是,显然您需要密钥才能访问 Key Vault。

如果您在 Azure 中运行 Web 应用程序,那么这将很容易。您可以使用托管标识为您的 Web 应用程序提供一个标识,并授予此对 KV 的访问权限,完成。当您在 Azure 之外运行时,下一个最佳方法是生成一个使用证书进行身份验证的服务主体,授予此服务主体访问密钥保管库的权限,然后将私钥存储在您的 Web 服务器上并使用它进行身份验证。有关创建服务主体的详细信息,请参阅此处。


推荐阅读