如何安全地检索存储帐户密钥?

How can you securely retrieve storage account keys?

我正在尝试以编程方式为存储帐户中的容器设置访问策略。理想情况下,我想使用 Managed Identity 来执行此操作,但目前看来它不受支持(请参阅 here)。

所以目前看来我需要使用存储帐户密钥,以便容器客户端可以创建访问策略。这使我进入了问题的主要部分。最佳做法是将这些密钥存储在密钥保管库中并使用托管标识检索它们还是直接检索它们?像这样将密钥保存在 Key Vault 中被声明为 legacy(或者可能只是那些特定的方法,因为 Azure CLI 也是遗留的)。所以看起来它已经以某种方式从裂缝中消失了,因为在 1 个地方它被声明为遗留但在另一个地方它还不受支持。

如果我选择直接路由,最好的方法是什么?在这种情况下我仍然可以使用托管标识吗?看起来 here 看起来我可以,因为它使用 Azure Active Directory,我相信这是支持托管身份的。

目前我很困惑我应该如何以编程方式设置容器的访问策略,但希望其他人已经遇到了这种需求并且有一个很好的例子。

If I opt for the direct route, what is the best way to do this?

正如您在问题中提到的,Storage Accounts - List Keys 是获取存储帐户访问密钥的方法。

Can I still use the managed identity in this case?

是的,你当然可以。请确保你的托管标识有权对存储帐户执行列表键操作。 OwnerContributor 角色肯定拥有该权限,但如果您不想为您的托管身份分配更强大的角色,例如 Owner 或 [=,您也可以选择 Storage Account Contributor or Storage Account Key Operator Service Role 角色12=].