Azure服务主体 - 如何保护密钥

时间:2018-02-07 18:20:02

标签: azure azure-authentication azure-management

对于Azure服务主体,我们在配置文件

中有以下键
<add key="SubscriptionId" value="" />
<add key="ClientId" value="" />
<add key="ClientSecret" value="" />
<add key="TenantId" value="" />

是否有类似服务的天蓝色密钥保险库,我们可以安全地保存这些密钥并根据需求使用它?

1 个答案:

答案 0 :(得分:1)

客户端密钥比其他密钥更重要,其余部分需要是安全的。不幸的是,即使您将KeyVault存储到KeyVault,它也是调用KeyVault的门户。没有唯一的方法来使用客户端密钥对Azure AD进行身份验证。您可以在创建密钥时使用证书,而不是客户端密钥。上传该证书将为您提供指纹。然后,您需要在Azure中的某个位置上传您的私钥(也称为PEM或PFX),通常在应用程序或Azure应用服务(ref https://docs.microsoft.com/en-us/azure/app-service/app-service-web-ssl-cert-load)中。您的应用程序代码只需要读取证书(当然您需要为证书设置密码),如果指纹匹配,则您获得Azure AD的授权。

其他敏感信息(如存储访问密钥,数据库连接字符串,Redis缓存密钥,VM密码或公司证书)可以存储在KeyVault中。

如果您不喜欢获取访问令牌的复杂过程,请查看托管服务标识,该标识允许Azure服务本身成为服务主体。无需客户端应用程序注册和客户端密钥。 MSI目前处于预览阶段,可供某些服务使用。