你当前正在访问 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,即使在侦听公共终结点时也是如此。
daprd
容器将其读取并注入到从 Dapr 到应用程序的每个调用中。- 然后,应用程序可以使用该令牌来验证该请求是否来自 Dapr。
先决条件
对来自 Dapr 的请求进行身份验证
如果使用 Dapr SDK,则可以使用开源 SDK 存储库中提供的 Dapr 身份验证方法。
在添加到项目后,Dapr SDK 会验证来自 Dapr 的所有传入请求中的令牌,拒绝不包含正确令牌的调用。 无需执行其他任何操作。
不会包含令牌或包含错误令牌的传入请求会被自动拒绝。