gpt4 book ai didi

azure - 我可以导入从 Azure 外部托管的 APIM 吗?

转载 作者:行者123 更新时间:2023-12-02 06:09:49 25 4
gpt4 key购买 nike

一点背景

我目前正在尝试设置 API 管理器来按照 the MSDN doc. 在混合云环境(AWS 和 Azure)中处理 Azure 中的授权。

我们的环境

我们同时使用 AWS 和 Azure,并且目前已经拥有带有我们 API 的 EC2 实例。我们的 API 也有 swagger,并且应该满足导入器所需的约定。

该 API 是 ASP.NET WebApi2(完整框架版本),并使用 swagger 进行配置。此外,可以从 Azure 看到 ec2 api 端点,因为我们使用 Azure Active Directory 应用程序注册来验证我们的应用程序。

摩擦

目前,我无法对此进行测试,因为我对 Azure 环境的权限有限并且正在等待批准,但我被要求探索这一点。 (你必须喜欢官僚机构)否则,我们将实现 OWIN 和 adal.js 来提供服务到服务和服务到客户端通信,这不会是首选方式。 See this MSDN article for details

询问

是否有可能或者我应该设定走困难路线的期望?我可以导入从 Azure 外部托管的 APIM 吗?

最佳答案

当然可以。

只需导入 swagger 并添加您的(公共(public))后端 URL —

Swagger import

为了验证 API 管理和外部 API 之间的调用,我看到了三种直接方法:

  • Integrate API Management with a VNET并通过站点到站点 VPN 调用外部 API(这减少了执行 OAuth 的需要,但需要大量的基础设施设置工作)。嗯,不简单但也不可怕,看看这个 StrongSwan 配置:

    conn azure
    authby=secret
    type=tunnel
    leftsendcert=never
    left=40.127.x.x
    leftsubnet=10.5.5.0/24
    right=172.31.22.44
    rightsubnet=10.77.0.0/16
    keyexchange=ikev2
    auto=start
  • 使用 OAuth 2.0 客户端凭据授予。这被称为 Web App to Web API in Azure AD docs 。我相信this is the relevant API Management guidance 。在这种情况下,API 管理实例成为 secret 客户端(保存 client_id 和 client_secret),获取承载(访问) token 并通过将其包含在 Authorization 中来调用外部 API。 header 。

  • 在 API 管理和外部 API 之间使用共享 key 。这不是世界上最安全的东西(它不会像 JWT 那样每小时过期),但也不是闻所未闻。这是处理问题的API key 方式,类似于没有 Diffie、Hellman 或 Merkle 的 Diffie-Hellman key 交换。 。只是爱丽丝和鲍勃分享一个 secret :)

在任何地方都使用 HTTPS,是的,甚至跨 VPN - 考虑请求 header /正文不变性,而不是增加安全性。人们喜欢部署“检查”东西的装置......

关于azure - 我可以导入从 Azure 外部托管的 APIM 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49652533/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com