Azure API Management是一种云托管服务,可以在任何平台上为现有HTTP API添加许多功能。这包括与安全性,API密钥管理,缓存,文档和许多其他交叉策略相关的功能。有关详细信息,请参阅:http://azure.microsoft.com/apim
我正在尝试在 Azure APIM 中创建一个策略,以根据两个不同的声明验证 JWT 令牌(Azure AD 令牌)。 我的 API 可能被其他应用程序或用户使用 - 它可能被称为...
我已经创建了 Azure API 管理服务并连接了我的 API。我向其中添加了 CORS 策略。 我检查了计算有效策略,结果是这个策略 <
无法对 azurerm_api_management_api 使用 terraform for_each 块
我有两个开放 API 文档,我们称它们为 openapione.yaml,另一个是 openapitwo.yaml。现在我正在使用 for_each 块,但不知何故它不适用于我的 terraform 代码。我想要的只是它应该选择
我想使用 Azure API 管理中的日志并查询成功调用 API 的数量,或者用户在过去一个月中在 C#/dotnet 中进行了多少次 API 调用。 我只需要...
Azure API 管理 (APIM),使用“内部”模式时限制对外部 API 调用的访问
在Azure API管理(APIM)中,当使用“内部”模式时,仅在虚拟网络内限制对API的访问,直接通过API自动下载或上传文件...
有没有办法限制哪些 Entra Id 用户可以登录 Azure API 管理开发人员门户?
我们已按照 https://learn.microsoft.com/en-us/azure/api-management/api-management-h 上所述的说明将 Azure API 管理开发人员门户连接到 Microsoft Entra Id (AAD) ...
如何在 Get Rows(V2) 逻辑应用连接器中设置分页文件的链接并通过 Azure API 调用传递它?
我创建了一个逻辑应用程序并对 Get Rows(V2) 连接器检索到的结果进行分页。阈值设置为1500并且工作正常。测试用例文件有 4484 条记录,
Azure:即使选中了“需要订阅”,API 服务也不需要 API-KEY
我有一个应用程序服务(具体来说是一个 API),并且运行良好。我正在尝试添加 API 密钥,据说这与向 API 管理服务添加订阅密钥相同。 我添加了...
在 Visual Studio Code 中访问 Azure API 时出现问题
大家好, 我在 Visual Studio Code 中访问 Azure API 时遇到问题。每当我扩展 API 区域时,都会抛出此错误。我想调试 API 策略,但这会阻塞...
我正在尝试使用本教程中的说明在内部模式下配置 APIM:https://learn.microsoft.com/en-us/azure/api-management/api-management-using-with-internal-vnet ?tabs=stv2#en...
Microsoft.ApiManagement/service/portalsettings 和 Microsoft.ApiManagement/service/portalconfigs 有什么区别
Azure API 管理的 Microsoft.ApiManagement/service/portalsettings 和 Microsoft.ApiManagement/service/portalconfigs 资源有什么区别? 我想部署一些 Azure API
我正在尝试从名称值呈现托管身份资源值 这是在我的代码中,部署是通过 terraform 进行的。 我的名称值是 我试过 我正在尝试从名称值呈现托管身份资源值 这是在我的代码中,部署是通过 terraform 进行的。 我的名称值是 我试过了 <authentication-managed-identity resource="{{CRM-EWR-Resource-Client-Id}}" /> 部署后呈现为 <authentication-managed-identity resource="{{CRM-EWR-Resource-Client-Id}}" /> 然后我尝试了 <authentication-managed-identity resource="CRM-EWR-Resource-Client-Id" /> 部署后呈现为 <authentication-managed-identity resource="CRM-EWR-Resource-Client-Id" /> 它应该像这样渲染 <authentication-managed-identity resource="de08357d-b6c-454-wew-21321sd" /> 更新 这有效 <set-variable name="test" value="{{CRM-EWR-Resource-Client-Id_dev}}" /> <authentication-managed-identity resource="@(context.Variables["test"] as string)" /> 以下有效。 <set-variable name="test" value="{{CRM-EWR-Resource-Client-Id_dev}}" /> <authentication-managed-identity resource="@(context.Variables["test"] as string)" />
如何使用 apim 和逻辑应用将代理应用程序数据读取到 azure sql
我有代理应用程序,它生成需要使用 APIM 和逻辑应用程序将其推送到 azure sql 的数据。 我创建了代理应用程序将以 json 格式发布数据 我已经创建了空白...
将 Azure 前门与 APIM 和 Azure Web App 连接
我们计划将Azure Front Door用于Azure App Service(Web应用程序),并计划使用可能不需要向外部公开或直接向公众公开的APIM。只有 Azure Web 应用程序才能...
在 Azure API 管理中将最低 apiVersion 启用为 2021-08-01,导致现有逻辑应用出现保存问题或部署错误
将 API 管理的最低 apiVersion 保存或启用到 2021 年 8 月 1 日后,我无法保存或部署(通过 ARM 模板)在
如何在 Azure API 管理中绕过 API 中单个端点的订阅密钥
我想避免为 API 中的单个端点提供订阅密钥。到目前为止,我发现我可以禁用整个产品或 API 的订阅,这不是我想要的。这还算...
登录 Azure APIM 开发者门户后,最好不要手动传递授权标头
我们已将 API 集成到 API 管理中,并通过利用 Azure AD B2C 身份提供商实施安全措施,我们通过创建新的 Azure AD B2C 租户来配置 Azure AD B2C...
在 APIM 中,在其中一个 API 内,我在“所有操作”内有一个与此类似的策略: 在 APIM 中,其中一个 API 内,我在“所有操作”内有一个与此类似的策略: <policies> <inbound> <base /> </inbound> <backend> <base /> </backend> <outbound> <base /> <choose> <when condition="@(context.Variables["xvar"] == null || (string)context.Variables["xvar"] == "oneValue")"> <trace source="info" severity="information"> <message>Hi, xvar exist</message> </trace> </when> <otherwise /> </choose> </outbound> <on-error> <base /> </on-error> </policies> 变量 xvar 确实存在于该 API 中的少数操作中,例如t1。那里的政策看起来与此类似: <policies> <inbound> <set-variable name="xvar" value="oneValue" /> <base /> <set-backend-service base-url="https://testingtest.com" /> </inbound> <backend> <base /> </backend> <outbound> <base /> </outbound> <on-error> <base /> </on-error> </policies> 但是,此 API 中的大多数操作中并不存在此变量,例如t2。因此,当我调用此操作时,我收到此错误: choose (1.469 ms) { "messages": [ { "message": "Expression evaluation failed.", "expression": "context.Variables[\"xvar\"] == null || (string)context.Variables[\"xvar\"] == \"oneValue\"", "details": "The given key was not present in the dictionary.\r\n at System.Collections.Generic.Dictionary`2.get_Item(TKey key)" }, "Expression evaluation failed. The given key was not present in the dictionary.\r\n at System.Collections.Generic.Dictionary`2.get_Item(TKey key)", "The given key was not present in the dictionary." ] } 我应该改变“所有操作”中的条件来检查字典中是否存在或不存在变量 请使用以下表达式检查所有操作中变量是否存在: context.Variables.ContainsKey("xvar") 所有操作 - 政策: <policies> <inbound> <base /> <set-backend-service base-url="http://echoapi.cloudapp.net/api" /> </inbound> <backend> <base /> </backend> <outbound> <base /> <choose> <when condition="@(context.Variables.ContainsKey("xvar") && !context.Variables.GetValueOrDefault<string>("xvar").Equals(string.Empty))"> <trace source="info" severity="information"> <message>Hi, xvar exist</message> <metadata name="xvar" value="@(context.Variables.GetValueOrDefault<string>("xvar"))" /> </trace> </when> <otherwise /> </choose> </outbound> <on-error> <base /> </on-error> </policies> t1 - 政策: <policies> <inbound> <set-variable name="xvar" value="oneValue" /> <base /> <set-backend-service base-url="http://echoapi.cloudapp.net/api" /> </inbound> <backend> <base /> </backend> <outbound> <base /> </outbound> <on-error> <base /> </on-error> </policies> t2 - 政策: <policies> <inbound> <base /> <set-backend-service base-url="http://echoapi.cloudapp.net/api" /> </inbound> <backend> <base /> </backend> <outbound> <base /> </outbound> <on-error> <base /> </on-error> </policies> 这会跟踪 t1 和 t2 的以下消息: 出站 t1 - 选择: { "message": "Expression was successfully evaluated.", "expression": "context.Variables.ContainsKey(\"xvar\") && !context.Variables.GetValueOrDefault<string>(\"xvar\").Equals(string.Empty)", "value": true } 出站 t1 - 追踪: { "message": "Expression was successfully evaluated.", "expression": "context.Variables.GetValueOrDefault<string>(\"xvar\")", "value": "oneValue" } 出境t2 - 选择: { "message": "Expression was successfully evaluated.", "expression": "context.Variables.ContainsKey(\"xvar\") && !context.Variables.GetValueOrDefault<string>(\"xvar\").Equals(string.Empty)", "value": false }
我可以使用 OAuth 令牌作为 Ocp-Apim-Subscription-Key 的替代品吗?
我正在考虑使用 Azure API 管理为许多后端 API 提供一致的前端。 大多数 API 使用 OAuth 2.0 应用程序流程进行保护(ClientID + 客户端密钥,...
我正在寻求快速胜利来保护具有多个订阅密钥的 API,以便将它们分配给不同的提供商并允许单独访问。我知道 Oauth2 可能是最好的...