Azure 应用服务安全

2025年3月17日 | 阅读 3 分钟

身份验证和授权: 每个应用服务都带有一个身份验证和授权模块,用于处理我们应用的几个方面。

  • 它将使用指定的提供程序(例如 Facebook、Google、Twitter、Azure Active Directory 等)对用户进行身份验证。
  • 它将存储、验证和刷新令牌。
  • 它还管理经过身份验证的会话。
  • 它将身份信息注入到请求标头中。

身份验证和授权的工作原理

首先,来自客户端浏览器的请求将到达应用服务前端。然后,该请求将被转发到身份验证和授权模块。该身份验证模块将包含所有授权和身份验证逻辑,包括令牌管理和会话管理等,并且它位于 Web 应用代码之外。这就是为什么我们不需要更改 Web 应用程序中的代码即可为 Azure 中的应用启用身份验证和授权。我们可以通过环境变量稍微影响此身份验证和授权逻辑(在跟踪方面)。

身份验证和授权模块处理我们应用的几个方面

  • 使用指定的提供程序对用户进行身份验证
  • 验证、存储和刷新令牌
  • 管理经过身份验证的会话
  • 将身份信息注入到请求标头中
  • 日志记录和跟踪

其他安全领域

对于应用服务,我们还需要注意其他安全领域,我们可以利用它们。

  • ISO、SOC 和 PCI 合规性: 如果我们正在处理信用卡信息,则底层环境符合 PCI 标准,但同时,您必须从应用程序层的角度进行 PCI 合规性认证。但是,从环境的角度来看,Microsoft Azure 应用服务符合 PCI 标准
  • IP 地址白名单: 如果我们想将触发器限制为来自特定受信任 IP 地址的应用服务,那么我们可以在 Azure 门户中为我们的应用服务列入白名单。
  • SSL 通信: 为了加密传输中的数据,我们可以启用 SSL 通信。

托管服务标识

此服务是最近添加到 Azure 的。我们在这里要做的是为我们的应用创建一个身份,并向该身份提供对不同服务的访问权限。通过这样做,我们不需要存储任何 userID-password 来访问某些 Azure 服务。我们通常做的是转到 Azure 门户,并告诉 ARM 为您的 Azure 应用服务创建托管服务标识。当我们触发它时,将在 Azure Active Directory 中创建一个服务主体。

Azure App Service Security

示例 - 如果我们想从 Azure 密钥保管库访问密钥。通过提交该令牌并在 Azure 密钥保管库中定义适当的访问策略,我们的应用程序代码将能够在运行时检索密钥并使用该密钥访问本地资源。

应用服务环境安全

如果我们使用应用服务环境,那么我们将在安全性方面获得额外的好处。

  • 网络安全组: 我们可以与网络安全组关联,并使用网络安全组控制进入我们应用服务的流量。
  • Web 应用程序防火墙: 它是应用程序网关的一项功能,可为您的 Web 应用程序提供针对常见攻击和漏洞的集中式保护。 Web 应用程序防火墙基于 OWASP 核心规则集 3.0 或 2.2.9 中的规则

为 Web 应用启用 Azure Active Directory 身份验证

步骤 1: 打开您的 API 应用并单击“身份验证/授权”。

Azure App Service Security

步骤 2: 单击显示打开/关闭的切换按钮。将其打开。

Azure App Service Security

步骤 3: 现在,选择在请求未经过身份验证时要采取的操作为“使用 Azure Active Directory 登录”。

Azure App Service Security

步骤 4: 现在,使用快速模式配置 Azure Active Directory。之后,单击“创建”,然后单击“保存”。

Azure App Service Security
Azure App Service Security