我通过在配置中设置属性从Azure函数中的密钥库中获取机密,方法是:
@microsoft.keyvault(Secreturi=https://myvault.vault.azure.net/secrets/mysecret/)
我不在上面的设置中使用秘密版本,这样每当键旋转发生时,它就会拉出最新的秘密版本。
string kvUri = $"https://{keyVaultName}.vault.azure.net";
SecretClient client = new SecretClient(new Uri(kvUri), new DefaultAzureCredential());
Azure.Response<KeyVaultSecret> secret = await client.GetSecretAsync(secretName);
我们在我们的环境中测试了基于复制,以下是观察结果。
在生产环境中,这一天的滞后会造成影响。是否有其他方法获得最新的秘密版本没有滞后,也不手动更新配置设置与最新的秘密版本?我也不想停下来启动功能应用程序来获得同步的秘密。
如果您想在机密过期后立即使用functions应用程序旋转机密,则需要执行管理操作(更新、启用和禁用功能、重新启动functions应用程序);如果不是,则需要等待,如azure文档中所述。
$secret= (Get-AzKeyVaultSecret -VaultName <keyvaultname> -Name <secretName> -AsPlainText)
使用AKV管理存储帐户:https://docs.microsoft.com/en-us/Azure/key-vault/key-vault-overview-storage-keys-powershell#manage-storage-account-keys 使用Azure Automation进行密钥循环:https://docs.microsoft.com/en-us/Azure/key-
我正在python中构建由事件网格事件触发的Azure函数,它应该能够从Kay Vault收集秘密。 我将系统分配的托管标识添加到我的功能应用程序中,然后我可以在密钥库访问策略中选择我的应用程序。我授予它如下所示的权限: (我尝试了不同的组合在这一个)
目前,在我看来,有很多方法可以引用秘密: 使用@或 直接,在存储库中为fx一个名为secret的秘密,然后直接引用它 具有Azure函数,或 配置已运行的应用程序,并将密钥存储库添加到堆栈 我很难看出什么时候用什么。
我计划在key vault上保留密钥,但我不清楚密钥和秘密的版本控制,我有一些关于Azure key vault上的key/Secret的版本控制的问题。 如何创建现有密钥的新版本? 是否可以解密用不同版本的相同密钥加密的数据? 是否可以为某个版本的密钥设置过期日期?