【问题标题】:What are some ways to securing web api with authorization in Azure有哪些方法可以在 Azure 中通过授权保护 Web api
【发布时间】:2022-02-02 19:26:27
【问题描述】:
当我们迁移到 Azure 时,我正在开发一个 Web API .net 核心并将其托管在 Azure 中。保护 Web API 和授权(使用 Azure Active Directory 的 OAuth 2.0 授权保护 Azure API 管理中的 Web API 后端)。但我有一些问题如下:
问题 1. 如果我使用 OAuth 2.0 授权和 Azure Active Directory 保护 Azure API 管理中的 Web API 后端,那么如果我们想将 Api 公开给组织外部的第三方,那么它会起作用吗?
问题 2 我们能否保护在没有 Active Directory 的情况下托管在 OAuth 中的 Api。
问题 3。什么是使用 Microsoft Identity 与 OAuth 保护 api。我很困惑为什么我不应该使用 Microsoft 身份而不是 OAuth 进行授权。它是来自微软的新东西吗?
https://docs.microsoft.com/en-us/azure/active-directory/develop/quickstart-v2-aspnet-core-web-api
谢谢
【问题讨论】:
标签:
azure
asp.net-web-api
oauth-2.0
microsoft-identity-platform
【解决方案1】:
如果我在 Azure API 管理中使用 OAuth 2.0 授权和 Azure Active Directory 保护 Web API 后端,那么如果我们想将 Api 公开给组织外部的第三方,那么它会起作用吗?
如果您在 Azure API 管理中使用带有 Azure Active Directory 的 OAuth 2.0 授权来保护您的 Web API 后端,您就不能轻易地将您的 API 暴露给任何第三方应用程序或组织。
为此,您必须
将该应用程序/SAAS 与 azure AD 联合,以便该平台中的用户能够访问 API。
您必须向该平台的联合用户授予权限/特权,才能访问 Web API 及其范围。
我们能否保护在没有 Active Directory 的情况下托管在 OAuth 中的 Api?
不,我们无法在没有 Active Directory 的情况下保护 OAuth 中的 API 托管。
因为,OAuth 授权代码授权可用于安装在设备上的应用程序,以获取对受保护资源(例如 Web API)的访问权限。
它用于在大多数应用类型中执行身份验证和授权,包括 Web 应用和本机安装的应用。
什么是使用 Microsoft Identity 与 OAuth 保护 api?
由 Azure Active Directory (Azure AD) 生成的托管标识允许您的 API 管理实例轻松安全地访问其他受 Azure AD 保护的资源,例如 Azure Key Vault。