【问题标题】:Azure service principal check his own password expiration dateAzure 服务主体检查自己的密码到期日期
【发布时间】:2019-04-24 06:37:57
【问题描述】:

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

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

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

az ad app show --id xxxxxxxxxx

Insufficient privileges to complete the operation.

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

有什么方法可以授予仅查看来自他自己的应用程序 ID 的数据的访问权限?哪种方法最好?

【问题讨论】:

    标签: azure azure-active-directory service-principal


    【解决方案1】:

    AFAIK,看来你做不到。至少您需要授予Application.ReadWrite.All 权限。命令az ad app show --id xxxxxx本质上调用了azure ad graph api,你可以用--debug查看。

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

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

    【讨论】:

      【解决方案2】:

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

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2018-07-18
        • 1970-01-01
        • 1970-01-01
        • 2022-01-12
        • 1970-01-01
        • 2017-09-03
        • 1970-01-01
        相关资源
        最近更新 更多