限制对 Azure Key Vault 的访问

Limiting access to azure key vault

我想创建一个访问权限相当受限的 Azure 密钥保管库(我们的一个或两个应用程序)。我已经通过 Azure 门户创建了 Key Vault,但是当我查看“访问控制”部分时,我发现有几个应用程序和用户具有 Key Vault 的贡献者角色(从订阅继承),这赋予他们比他们应该有。

由于订阅是可以设置访问控制的最高级别,如果不在订阅级别撤消订阅,我无法撤消这些 apps/users 的访问权限,这可能会导致所有各种各样的问题。 (目前还不清楚这些需要什么权限,因此必须在资源组或资源级别授予这些权限会有点痛苦)。更重要的是,没有什么能阻止后来出现的人在订阅级别添加贡献者角色(例如,对于某些新应用程序),并破坏密钥保管库的安全性。

考虑到所有这些,限制对 Azure 密钥保管库的访问的最佳方法是什么,以便只有 apps/users 我想要访问它,尽管有几个 apps/users 已在订阅级别拥有这些权限?

更多信息:我们正在使用 Azure 资源管理器模型,目前所有内容都存储在一个订阅中。

看来您无法通过今天的 RBAC 工作方式实现此目的。

反馈论坛 - https://feedback.azure.com 上已经 运行 提出了一些反馈请求。一个用于 Key Vault,另一个以存储帐户为例,但本质上是在寻找相同的功能来覆盖继承的权限。

您可能想为这些请求投票。

  1. Deny users with inherited permissions to Azure Key Vault Service from modifying Access Policies

  2. Exclude / override RBAC permissions inhereted from a subscription at a resource group level

更新(回答来自评论的其他查询):

Not granting subscription-level access in the first place (except to admins)

是的,这绝对有帮助。

另一个建议是尝试使用资源组来组织您的资源,然后在这些资源组(范围)上分配角色。这样,您无需授予对个别项目的访问权限,但同时您可以避免授予最高订阅级别的访问权限。

您可以选择创建一个蓝图,您可以使用该蓝图在您的密钥保管库上配置锁。

可以访问您的保管库(又名数据平面)的应用程序等仍然可以访问资源的密钥