你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

为 Dapr 请求启用令牌身份验证

在 Azure 容器应用中为应用程序启用 Dapr 时,它会将环境变量 APP_API_TOKEN 注入到应用的容器中。 Dapr 在发送到应用的所有请求中包含相同的令牌,如下所示:

  • HTTP 标头 (dapr-api-token)
  • gRPC 元数据选项 (dapr-api-token[0])

令牌是随机生成的,在每个应用和应用修订版本中都是唯一的。 它也可以随时更改。 应用程序在启动时应从 APP_API_TOKEN 环境变量中读取令牌,以确保它使用的是正确的令牌。

可以使用此令牌验证传入应用程序的调用实际上来自 Dapr sidecar,即使在侦听公共终结点时也是如此。

  1. daprd 容器将其读取并注入到从 Dapr 到应用程序的每个调用中。
  2. 然后,应用程序可以使用该令牌来验证该请求是否来自 Dapr。

先决条件

已启用 Dapr 的 Azure 容器应用

对来自 Dapr 的请求进行身份验证

如果使用 Dapr SDK,则可以使用开源 SDK 存储库中提供的 Dapr 身份验证方法。

在添加到项目后,Dapr SDK 会验证来自 Dapr 的所有传入请求中的令牌,拒绝不包含正确令牌的调用。 无需执行其他任何操作。

不会包含令牌或包含错误令牌的传入请求会被自动拒绝。

后续步骤

详细了解 Dapr 与 Azure 容器应用的集成。