为什么 Azure Portal 在授予 AD 应用程序权限时不再具有 Azure Key Vault 功能?

Why don't azure portal has Azure Key Vault feature anymore while granting permissions to AD application?

我正在尝试授予 Azure 目录中我的 Web App/API 类型应用程序使用 Azure Key Vault 的权限。

当我需要权限> 添加 API 访问权限 > Select 和 API 时,我找不到 Azure Key Vault。我记得以前有,现在没有了。我在哪里可以找到它?

图片: https://ibb.co/dswdXq

您可以转到您的 Key Vault -> 访问策略 -> 添加,并为该应用创建一个新策略。 Select 将应用作为 principal,并为其授予所需的访问权限。 您无需触摸 授权应用程序 选项。

然后您应该能够使用客户端 ID 和机密(或证书)获取 Key Vault 的令牌。 Key Vault 不要求你将它分配给应用程序,除非你想进行委派访问。 事实上,任何应用程序都可以为租户中作为服务主体存在的任何 API 获取令牌(Key Vault 也是如此)。 当然令牌本身不会包含任何权限,但 Key Vault 有自己的访问管理(访问策略)。

图像中显示的行为 - "Select an API" blade

中缺少 Azure Key Vault

我已经看到你的图片显示的新 Azure 订阅的行为,只有当 Azure 订阅中到目前为止还没有 Key Vault 链接到该 Azure Active Directory 时。

创建新的 Key Vault 后(您甚至不需要添加任何密钥),"Azure Key Vault" 会在向 Azure AD 中的应用程序注册添加权限时出现(与您的图片相同的步骤)。至少,这就是我的情况。

值得一提的特例

您可以在您的 Azure 订阅中创建多个 Azure AD,并在其中任何一个中注册您的应用程序。 Azure Key Vault 虽然以一种特殊的方式工作并且只链接到一个 Azure AD,但这是你的 Azure 订阅信任的 Azure AD(Azure 订阅也只信任一个 Azure AD)。因此,如果您在不同于您的 Azure 订阅信任的 Azure AD 中注册应用程序,您也可以 运行 进入图像中显示的行为。

正在授予 Web App/API 使用 Key Vault 的权限

在大多数情况下,甚至不需要执行图像中显示的步骤,只需让 Web 应用程序能够访问密钥保管库,因为它由 Azure 密钥保管库访问策略控制。 @junnas 这部分已经解释的很好了,大家可以参考一下。