Azure 服务主体 - 如何保护密钥
Azure Service Principal - How to secure the keys
对于 Azure 服务主体,我们在配置文件中有以下键
<add key="SubscriptionId" value="" />
<add key="ClientId" value="" />
<add key="ClientSecret" value="" />
<add key="TenantId" value="" />
是否有类似 azure key vault 的服务可用,我们可以安全地保存这些密钥并根据需要使用它?
客户端密钥比其他部分更重要,需要确保安全。不幸的是,即使您将其存储到 KeyVault,它也是调用您的 KeyVault 的网关。没有使用客户端密码对 Azure AD 进行身份验证的唯一方法。您可以在创建密钥时使用您的证书而不是客户端密码。上传该证书将为您提供指纹。然后,您需要将私钥(也称为 PEM 或 PFX)上传到 Azure 中的某个位置,通常是在应用程序或 Azure 应用服务中(参考 https://docs.microsoft.com/en-us/azure/app-service/app-service-web-ssl-cert-load)。你的应用程序代码只需要读取证书(当然你需要为你的证书设置密码),如果指纹匹配,你就被Azure AD授权了。
其他敏感信息,例如存储访问密钥、数据库连接字符串、Redis 缓存密钥、VM 密码或您的公司证书可以存储在 KeyVault 中。
如果您不喜欢获取访问令牌的复杂过程,请查看托管服务标识,它可以让 Azure 服务本身成为服务主体。不需要客户端应用程序注册和客户端密码。 MSI 目前处于预览阶段,可用于某些服务。
对于 Azure 服务主体,我们在配置文件中有以下键
<add key="SubscriptionId" value="" />
<add key="ClientId" value="" />
<add key="ClientSecret" value="" />
<add key="TenantId" value="" />
是否有类似 azure key vault 的服务可用,我们可以安全地保存这些密钥并根据需要使用它?
客户端密钥比其他部分更重要,需要确保安全。不幸的是,即使您将其存储到 KeyVault,它也是调用您的 KeyVault 的网关。没有使用客户端密码对 Azure AD 进行身份验证的唯一方法。您可以在创建密钥时使用您的证书而不是客户端密码。上传该证书将为您提供指纹。然后,您需要将私钥(也称为 PEM 或 PFX)上传到 Azure 中的某个位置,通常是在应用程序或 Azure 应用服务中(参考 https://docs.microsoft.com/en-us/azure/app-service/app-service-web-ssl-cert-load)。你的应用程序代码只需要读取证书(当然你需要为你的证书设置密码),如果指纹匹配,你就被Azure AD授权了。
其他敏感信息,例如存储访问密钥、数据库连接字符串、Redis 缓存密钥、VM 密码或您的公司证书可以存储在 KeyVault 中。
如果您不喜欢获取访问令牌的复杂过程,请查看托管服务标识,它可以让 Azure 服务本身成为服务主体。不需要客户端应用程序注册和客户端密码。 MSI 目前处于预览阶段,可用于某些服务。