Compartir a través de

Azure API 管理中的工作区

可用性

重要

此功能仅在 API 管理的“高级”层中可用。

在 API 管理中,工作区使分散式 API 开发团队能够管理和产品化自己的 API,同时由中央 API 平台团队维护 API 管理基础结构。 每个工作区都包含仅供工作区协作者访问的 API、产品、订阅和相关实体。 访问通过 Azure 基于角色的访问控制 (RBAC) 进行控制。

注意

示例方案概述

使用 Azure API 管理管理 API 的组织可能有多个开发团队来开发、定义、维护和产品化不同的 API 集。 工作区使这些团队能够使用 API 管理单独管理和访问其 API,独立于管理服务基础结构。

下面是用于创建和使用工作区的示例工作流。

  1. 管理 API 管理实例的中心 API 平台团队会创建一个工作区,并使用 RBAC 角色向工作区协作者分配权限,例如在工作区中创建或读取资源的权限。

  2. 中央 API 平台团队使用 DevOps 工具为该工作区中的 API 创建 DevOps 管道。

  3. 工作区成员在工作区中开发、发布、产品化和维护 API。

  4. 中央 API 平台团队管理服务的基础结构,例如网络连接、监视、复原能力和所有 API 策略的强制实施。

工作区功能

可在工作区预览版中管理以下资源。

API 和策略

  • 创建和管理 API 和 API 操作,包括 API 版本集、API 修订和 API 策略。

  • 为工作区中的所有 API 应用策略。

  • 使用工作区级别的标记描述 API。

  • 定义用于请求和响应验证的命名值、策略片段和架构,以便在工作区范围内的策略中使用。

注意

在工作区中,策略范围如下所示:所有 API(服务)> 所有 API(工作区)> 产品 > API > API 操作

用户和组

  • 将用户(从服务级别)组织到工作区中的组中。

产品和订阅

  • 发布 API 及产品。 工作区中的 API 只能是工作区级别产品的一部分。 可以根据工作区级别或服务级别组中的用户成员身份配置可见性。

  • 使用订阅管理对 API 的访问。 向工作区中的 API 或产品请求的订阅是在该工作区中创建的。

  • 使用开发人员门户发布 API 和产品。

  • 管理与工作区中的资源相关的管理电子邮件通知。

RBAC 角色

Azure RBAC 用于配置工作区协作者读取和编辑工作区中的实体的权限。 有关角色的列表,请参阅如何在 API 管理中使用基于角色的访问控制

必须为工作区成员同时分配服务范围角色和工作区范围角色,或使用自定义角色向其授予等效权限。 服务范围角色支持从工作区级别资源引用特定的服务级别资源。 例如,将用户组织到工作区级别组中,以控制 API 和产品可见性。

注意

为便于管理,请设置 Microsoft Entra 组,以将工作区权限分配给多个用户。

工作区和其他 API 管理功能

  • 基础结构功能 - API 管理平台基础结构功能仅在服务级别进行管理,而不在工作区级别进行管理。 这些功能包括:

    • 专用网络连接

    • API 网关,包括缩放、位置和自承载网关

  • 资源引用 - 工作区中的资源可以引用工作区中的其他资源,以及服务级别的用户。 它们不能从另一个工作区引用资源。

    出于安全原因,无法从工作区级别策略引用服务级别资源(例如命名值)或按资源名称引用,例如 set-backend-service 策略中的 backend-id

  • 开发人员门户 - 工作区是一个管理概念,不会向开发人员门户使用者呈现,包括通过开发人员门户 UI 和基础 API。 但是,API 和产品可以从工作区发布到开发人员门户。 因此,开发人员门户使用的任何资源(例如 API、产品、标记或订阅)都需要在服务中具有唯一的 Azure 资源名称。 在同一工作区、其他工作区或服务级别中,不能有任何类型相同且 Azure 资源名称相同的资源。

  • 删除工作区 - 删除工作区会删除其所有子资源(API、产品等)。

预览版限制

工作区当前不支持以下资源:

  • 授权服务器(凭据管理器中的凭据提供程序)

  • 授权(与凭据管理器中的凭据提供程序的连接)

  • 后端

  • 客户端证书

  • 适用于 API 管理的当前 DevOps 工具

  • 诊断

  • 记录器

  • 合成 GraphQL API

  • 用户分配的托管标识

因此,工作区当前不支持以下示例方案:

  • 使用特定于工作区的配置监视 API

  • 管理 API 后端并从 Azure 服务导入 API

  • 验证客户端证书

  • 使用凭据管理器(以前称为授权)功能

  • 指定 API 授权服务器信息(例如,开发人员门户)

  • 将工作区 API 发布到自承载网关

重要

API 管理服务中的所有资源都需要具有唯一的名称,即使它们位于不同的工作区中也是如此。