【问题标题】:How to renew shared subscription key in azure api management gateway?如何在 azure api 管理网关中更新共享订阅密钥?
【发布时间】:2019-09-17 05:35:04
【问题描述】:

我正在使用<log-to-event-hub> 策略来记录对事件中心的所有请求和响应。此策略需要logger-id,它指的是我们的日志将在其中流式传输的事件中心。要创建此记录器,我参考了@ 987654321@。我们向https://{your service}.management.azure-api.net/loggers/{new logger name}?api-version=2017-03-01 发送PUT 请求,并使用在管理API 部分API 管理服务中生成的SharedAccessSignature 令牌。现在此令牌仅在30 天内有效。这意味着<log-to-event-hub> 策略可以记录到此事件-集线器仅 30 天。

今天SharedAccessSignature 过期了。所以我所有的API 都开始抛出500 internal server error。如何自动更新这个SharedAccessSignature,以便在它即将过期时自动更新为新的SharedAccessSignature

我没有找到任何解决方案,所以我删除了事件中心,并使用新的共享密钥创建了一个新的。我将把我所有的日志存储在这个事件中心中,所以它应该每次都运行起来。谁能帮忙我有这个。

【问题讨论】:

  • 详情请咨询
  • 来自文档:docs.microsoft.com/en-us/rest/api/apimanagement/…。您可以以编程方式创建令牌,因此您可能希望创建一些每 X 天运行一次以生成新令牌的脚本???
  • 好的...但是我将把新生成的令牌放在哪里。我尝试从 azure 门户生成一个新令牌。但是当我尝试使用新令牌向 azure-api 发送 PUT 请求时,它说同名的实体已经存在。因为同名的记录器已经存在但它已过期。
  • 我是否必须始终使用新密钥创建一个新记录器。那样我必须始终在事件中心策略中更改记录器的名称
  • 您是从门户网站手动完成的吗?您可能想从 ARM 模板创建/更新记录器?

标签: azure azure-api-management


【解决方案1】:

你在这里混淆了令牌。您在“管理 API”部分生成的令牌用于验证您创建记录器的调用。仅当您选择通过我们的直接 api (xxx.management.azure-api.net) 而不是通过 ARM 进行调用时,才需要此令牌。此 PUT 调用只需执行一次即可创建记录器。用于与 eventthub 对话的凭据在该调用的有效负载中传递,请参阅此处的“凭据”:https://docs.microsoft.com/en-us/rest/api/apimanagement/2019-01-01/logger/createorupdate#request-body。您可能需要轮换这些凭据。请参阅 eventthub 文档了解如何创建这些凭据。

【讨论】:

  • 如果我没记错的话,您说的是事件中心的共享访问策略中的connectionString。好的,如果重新生成了 connectionString url,那么它也会给我同样的内部服务器错误。你能引导我完成创建记录器而不过期的过程吗?
  • @Rahuljhawar,如果旋转连接字符串/访问密钥,它将过期。
  • @Thomas 当我尝试使用新凭据更新记录器时,它告诉我缺少授权标头。因此,对于每次更新,我都应该创建一个新的 SharedAccessSignature 密钥。
猜你喜欢
  • 1970-01-01
  • 2022-10-18
  • 1970-01-01
  • 1970-01-01
  • 2014-10-12
  • 2011-07-01
  • 1970-01-01
  • 2020-07-07
  • 1970-01-01
相关资源
最近更新 更多