【问题标题】:Do API Connections retain their authorisation state indefinitely?API 连接是否会无限期地保留其授权状态?
【发布时间】:2020-12-29 13:59:11
【问题描述】:

我创建了一个Azure Automation API Connection 以在Logic App action 中使用。正如the docs explain,当首次创建 API 连接时,它需要授权才能与自动化对话:

PS C:\> $conn = Get-AzResource -ResourceGroupName my-rg -ResourceType Microsoft.Web/connections -Name azureautomation
PS C:\> $conn.Properties.statuses

status target error
------ ------ -----
Error  token  @{code=Unauthenticated; message=This connection is not authenticated.}

按照文档,我可以在逻辑应用设计器中打开连接,并以有权创建自动化作业的用户身份进行身份验证(例如,具有Automation Job Operator 角色的用户)。然后连接显示为已通过身份验证,并且该操作成功创建了作业:

PS C:\> $conn = Get-AzResource -ResourceGroupName my-rg -ResourceType Microsoft.Web/connections -Name azureautomation
PS C:\> $conn.Properties.statuses

status
------
Connected

PS C:\> $conn.Properties.authenticatedUser

name
----
username@example.com

显然,连接不仅已验证,还已授权。我不清楚逻辑应用程序设计器遵循了哪个authentication flow,特别是连接是否会自动刷新其access tokens 而无需进一步干预。这不仅仅是学术问题:我想知道的是连接会在未来某个时候默默失去授权吗?

我正在为刚接触 Azure 的客户构建此解决方案,因此我希望使解决方案尽可能简单。他们熟悉本地 AD 世界中服务帐户的概念,但 AAD 服务主体对他们来说是陌生的。依靠通过 Logic App Designer 进行的一次性手动授权是否安全,或者using a service principal 是确保连接保持授权的唯一可靠方法?

【问题讨论】:

    标签: oauth-2.0 azure-active-directory azure-logic-apps


    【解决方案1】:

    我认为using a service principal 在您的场景中更可靠,如果您使用用户帐户授权连接,则连接可能会因未确定的问题而中断,例如密码以后改了。如果您使用服务主体进行授权,我们只需要使用一个永不过期的客户端密钥,那么它就永远不会失去授权。

    【讨论】:

      猜你喜欢
      • 2012-07-07
      • 2019-04-18
      • 1970-01-01
      • 1970-01-01
      • 2021-07-05
      • 1970-01-01
      • 2013-01-07
      • 2012-02-06
      • 2016-07-11
      相关资源
      最近更新 更多