0

我们有一个应用程序,该应用程序配置了服务主体,以便授予对 azure 资源的访问权限。此服务主体的密码配置为过期。

我们希望配置我们的应用程序以了解他的服务主体凭据密码到期日期。将访问权限授予服务主体自己的到期日期的最佳方法是什么?

默认情况下,这是不允许的。

az ad app show --id xxxxxxxxxx

Insufficient privileges to complete the operation.

但是可以启用一些 API 权限(旧版 Azure Active Directory Graph /Directory.Read.All)并且它可以工作,但这似乎太开放了。

有没有办法授予访问权限,只能查看他自己的应用程序 ID 中的数据?最好的方法是什么?

4

2 回答 2

1

AFAIK,似乎你不能那样做。至少您需要授予Application.ReadWrite.All权限。该命令az ad app show --id xxxxxx实质上调用了 azure ad graph api,您可以使用--debug.

在此处输入图像描述

要调用这个 api,从最低权限到最高权限,它需要Application.ReadWrite.OwnedBy, Application.ReadWrite.All, Directory.Read.All. 在您的情况下,Application.ReadWrite.OwnedBy这不是一种选择。

另外,我也测试过az ad signed-in-user show,如果你用AD App登录,貌似不支持使用这个命令。

于 2019-04-25T01:47:09.700 回答
0

替代方案:密钥库机密到期日期可用作通知您 SP 到期的选项,但设置可能需要大量工作。

在创建 SP 时,您指定到期期限 - 3 个月、6 个月、1 年等。设置到期日期后,您可以设置具有相同到期日期的密钥保管库机密。在到期日期到来之前,事件网格通知可以触发 Azure 函数来更新密钥。

有关使用 Key Vault、Event Grid 和 Azure Functions 进行密钥轮换的更多详细信息,请参阅https://docs.microsoft.com/en-us/azure/key-vault/secrets/tutorial-rotation

于 2021-10-02T06:02:02.270 回答