如何配置 Azure API 管理以默认拒绝所有请求但允许特定 API?

问题描述 投票:0回答:1

我需要在 Azure API 管理中配置一个 API,以默认拒绝所有传入请求,无论其内容或身份验证如何。我的目标是确保基本策略拒绝所有请求。但是,有一些特定的 API 应该可以正常工作并允许有效的请求。

这是我认为可能有效的策略配置:

                <claim name="roles" separator=" ">
                    <value>deny_all</value>
                </claim>

我已设置 validate-jwt 策略来检查特定声明(角色),其值永远无效 (deny_all)。这是为了默认拒绝所有请求。

有人可以提供指导或更好的方法来实现这一目标吗?

此外,我想确保 JWT 中具有正确键和值的特定 API 应该允许正常运行,而基本策略仍然受到限制。

任何帮助或建议将不胜感激。

azure azure-api-management
1个回答
0
投票

我的目标是确保基本策略拒绝所有请求。但是,有一些特定的 API 应该可以正常工作并允许有效的请求。

您需要在

所有API
范围中添加validate-jwt策略,如下所示-

enter image description here

这将允许某些特定 API 使用有效值正常运行,并限制其他 API。您不需要设置 401 的状态,因为如果 JWT 令牌不正确,最终您将收到 401 未经授权的错误消息。

另一种方法是使用产品。在产品中添加策略,然后向该产品添加一组 API。

您可以通过单击概述边栏选项卡中的添加 API 添加 API。

enter image description here

策略边栏选项卡中,添加您需要为该产品中存在的 API 配置的策略。

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.