Azure API Management配置Basic Authentication凭证的位置与方法咨询
在Azure API Management中配置Basic Authentication凭证的步骤
既然你已经熟悉APIM的访问限制策略,那配置Basic Auth凭证的核心就是把凭证安全存储,再结合验证策略生效,具体操作如下:
1. 先把凭证存到APIM的「命名值」里(安全存储,避免明文)
我们不会直接把用户名密码写在策略里,而是用APIM的**命名值(Named Values)**来加密存储:
- 登录Azure门户,打开你的APIM实例
- 在左侧导航栏找到「命名值」选项,点击「+ 添加」
- 分别创建两个命名值:
- 第一个:名称设为
BasicAuth_Username,值填你要设置的用户名,描述可以写「Basic Auth验证用的用户名」 - 第二个:名称设为
BasicAuth_Password,值填对应的密码,一定要勾选「保密」选项,这样这个值会被加密存储,不会在门户里明文显示
- 第一个:名称设为
- 保存这两个命名值
2. 在目标API/操作上添加「验证基本身份验证」策略
接下来把验证逻辑加到你的Logic App后端API上:
- 在APIM里找到绑定了Logic App的那个API,进入「设计」标签页
- 在「入站处理」模块,点击「添加策略」,选择「验证基本身份验证」
- 在策略配置弹窗里:
- 「用户名」栏填入
{{BasicAuth_Username}}(用双大括号引用刚才创建的命名值) - 「密码」栏填入
{{BasicAuth_Password}} - 还可以自定义验证失败时的HTTP状态码(默认是401)和错误提示消息
- 「用户名」栏填入
- 保存策略,这样APIM就会在接收客户端请求时,先验证Basic Auth头里的凭证是否匹配
如果你习惯手动编辑策略XML,代码示例如下:
<validate-basic-authentication username="{{BasicAuth_Username}}" password="{{BasicAuth_Password}}" failed-validation-httpcode="401" failed-validation-error-message="Invalid username or password" />
额外注意事项
- 这个验证是在APIM网关层完成的,客户端只需要把
Authorization: Basic <base64编码的用户名:密码>头发给APIM即可,APIM验证通过后再转发请求到你的Logic App - 为了更安全,建议给你的Logic App触发器设置IP限制,只允许APIM的出站IP访问,这样只有经过APIM验证的请求才能到达Logic App
- 后续如果需要修改用户名密码,直接更新「命名值」里的内容就行,不用修改策略代码,维护起来更方便
内容的提问来源于stack exchange,提问作者Disary Nath Sarkar
相关产品推荐
相关产品推荐

