如何在函数应用程序中引用 Azure Key Vault 中的密钥?
How do you reference a Key from Azure Key Vault in a function app?
我过去为 Azure Functions 使用过很多秘密,现在我正在尝试使用一个密钥,RSA 加密,4096 位。它是私有 PuTTy .ppk 密钥,我已将其导出为 .pem 类型以满足 Azure 的要求。我有一个 Python 3.7 应用程序,我在其中部署了所需的功能,并且我尝试在应用程序设置中使用以下语句引用所需的密钥:
@Microsoft.KeyVault(SecretUri=https://{thevault-address}.vault.azure.net/keys/{thekey-name}/)
以及
@Microsoft.KeyVault(SecretUri=https://{thevault-address}.vault.azure.net/keys/{thekey-name}/latestVersionHash)
但是当我尝试保存它时,它说无法解析引用。
该应用程序具有 Identity On,并且 Vault 具有针对 Get 和 List 等秘密配置的 Function 访问策略以及针对所有内容配置的 Keys(最初只是 Get 和 List,但添加了其余部分以防万一,因为我认为它可能是 'encription/decription' 个问题)。
知道为什么我会收到 Status:InvalidSyntax 和错误详细信息:
无法解析 Key Vault 引用,因为找到无效的 Key Vault 引用语法?谢谢!
您上面描述的过程对于引用 Secret.That 是完全正确的,这就是为什么在字符串 @Microsoft.KeyVault(SecretUri=
中您将 SecretUri 设置为...
对于 Keys thow,那是不可能的。 Azure Web 应用程序无法引用密钥。
要清除任何混淆以便从 Web 应用程序引用 Azure KeyVault 的机密,您需要三点
- 您申请身份开启
- 在 Keyvault 中设置策略,以便您的应用能够访问该值
- 在您的 Web 应用程序中,在“配置”选项卡中,您将变量的值设置为
@Microsoft.KeyVault(SecretUri={Secret Identifier})
。
如果您转到 Keyvault 资源并单击您的机密,则可以找到机密标识符
标识值需要相同。
不幸的是,App Services / Azure Functions 仅支持引用机密,不支持密钥或证书。事实上,Key Vault 根本不允许您访问密钥的私有部分,因此如果您需要访问它,您需要将其存储为秘密,或者如果您只想访问它,则使用 Key Vault SDK encryption/decryption 使用保存的密钥。
我过去为 Azure Functions 使用过很多秘密,现在我正在尝试使用一个密钥,RSA 加密,4096 位。它是私有 PuTTy .ppk 密钥,我已将其导出为 .pem 类型以满足 Azure 的要求。我有一个 Python 3.7 应用程序,我在其中部署了所需的功能,并且我尝试在应用程序设置中使用以下语句引用所需的密钥:
@Microsoft.KeyVault(SecretUri=https://{thevault-address}.vault.azure.net/keys/{thekey-name}/)
以及
@Microsoft.KeyVault(SecretUri=https://{thevault-address}.vault.azure.net/keys/{thekey-name}/latestVersionHash)
但是当我尝试保存它时,它说无法解析引用。
该应用程序具有 Identity On,并且 Vault 具有针对 Get 和 List 等秘密配置的 Function 访问策略以及针对所有内容配置的 Keys(最初只是 Get 和 List,但添加了其余部分以防万一,因为我认为它可能是 'encription/decription' 个问题)。
知道为什么我会收到 Status:InvalidSyntax 和错误详细信息: 无法解析 Key Vault 引用,因为找到无效的 Key Vault 引用语法?谢谢!
您上面描述的过程对于引用 Secret.That 是完全正确的,这就是为什么在字符串 @Microsoft.KeyVault(SecretUri=
中您将 SecretUri 设置为...
对于 Keys thow,那是不可能的。 Azure Web 应用程序无法引用密钥。
要清除任何混淆以便从 Web 应用程序引用 Azure KeyVault 的机密,您需要三点
- 您申请身份开启
- 在 Keyvault 中设置策略,以便您的应用能够访问该值
- 在您的 Web 应用程序中,在“配置”选项卡中,您将变量的值设置为
@Microsoft.KeyVault(SecretUri={Secret Identifier})
。
如果您转到 Keyvault 资源并单击您的机密,则可以找到机密标识符
标识值需要相同。
不幸的是,App Services / Azure Functions 仅支持引用机密,不支持密钥或证书。事实上,Key Vault 根本不允许您访问密钥的私有部分,因此如果您需要访问它,您需要将其存储为秘密,或者如果您只想访问它,则使用 Key Vault SDK encryption/decryption 使用保存的密钥。