Azure API Management のワークスペース

適用対象: Premium

API Management でワークスペースを活用することにより、分散型 API 開発チームは独自の API を管理および製品化できるようになります。一方で、中央 API プラットフォーム チームは API Management インフラストラクチャを維持します。 各ワークスペースには、ワークスペース コラボレーターのみがアクセスできる API、製品、サブスクリプション、および関連エンティティが含まれています。 アクセスは Azure ロールベースのアクセス制御 (RBAC) によって制御されます。

Note

  • ワークスペースは、API Management のプレビュー機能であり、特定の制限事項の対象となります。
  • ワークスペースは、API Management REST API バージョン 2022-09-01-preview 以降でサポートされます。
  • 価格に関する考慮事項については、「API Management の価格」を参照してください。
  • ワークスペースの今後の重大な変更を参照してください。

シナリオ例の概要

Azure API Management を使用して API を管理する組織には、さまざまな API セットの開発、定義、保守、製品化を行う複数の開発チームが存在する場合があります。 これらのチームはワークスペースによって、API Management を使用して、サービス インフラストラクチャの管理とは別に、個別に API の管理とアクセスを行うことができます。

ワークスペースを作成して使用するワークフローの例を次に示します。

  1. API Management インスタンスを管理する中央 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 Management でロールベースのアクセス制御を使用する方法について説明するページを参照してください。

ワークスペース メンバーには、サービス スコープのロールとワークスペース スコープのロールの両方を割り当てるか、カスタム ロールを使用して同等のアクセス許可を付与する必要があります。 サービス スコープのロールを使用すると、ワークスペースレベルのリソースから特定のサービスレベルのリソースを参照できます。 たとえば、API と製品の可視性を制御するために、ユーザーをワークスペースレベルのグループに整理します。

Note

Microsoft Entra グループを設定すると、ワークスペースへのアクセス許可を複数のユーザーに割り当てることができ、管理を容易にすることができます。

ワークスペースとその他の API Management 機能

  • インフラストラクチャ機能 - API Management プラットフォーム インフラストラクチャ機能は、ワークスペース レベルではなく、サービス レベルでのみ管理されます。 次のような機能があります。

    • プライベート ネットワーク接続

    • スケーリング、場所、セルフホステッド ゲートウェイなどの API ゲートウェイ

  • リソース参照 - ワークスペース内のリソースは、ワークスペース内の他のリソースと、サービス レベルのユーザーを参照できます。 別のワークスペースからリソースを参照することはできません。

    セキュリティ上の理由から、ワークスペース レベルのポリシー (名前付き値など) やリソース名 (set-backend-service ポリシーなど backend-id) からサービス レベルのリソースを参照することはできません。

  • 開発者ポータル - ワークスペースは管理上の概念であり、開発者ポータル UI や基盤となる API を含め、開発者ポータル コンシューマーには表示されません。 ただし、API と製品はワークスペースから開発者ポータルに発行できます。 このため、開発者ポータルで使用されるすべてのリソース (API、製品、タグ、サブスクリプションなど) には、サービス内に一意の Azure リソース名が必要です。 同じ種類のリソースと同じ Azure リソース名を持つリソースは、同じワークスペース、他のワークスペース、またはサービス レベルに存在することはできません。

  • ワークスペースの削除 - ワークスペースを削除すると、すべての子リソース (API、製品など) が削除されます。

プレビューの制限事項

現在、ワークスペースでは次のリソースはサポートされていません。

  • 承認サーバー (資格情報マネージャーの資格情報プロバイダー)

  • 承認 (資格情報マネージャーで資格情報プロバイダーに接続)

  • バックエンド

  • [クライアント証明書]

  • API Management 用の現在の DevOps ツール

  • 診断

  • ロガー

  • 合成 GraphQL API

  • ユーザー割り当てマネージド ID

したがって、次のサンプル シナリオは現在、ワークスペースではサポートされていません。

  • ワークスペース固有の構成を使用した API の監視

  • API バックエンドの管理と Azure サービスからの API のインポート

  • クライアント証明書の検証

  • 資格情報マネージャー (旧称は承認) 機能の使用

  • API 承認サーバー情報の指定 (開発者ポータル用など)

  • セルフホステッド ゲートウェイへのワークスペース API の発行

重要

API Management サービス内のすべてのリソースには、異なるワークスペースに配置されている場合でも、一意の名前が必要です。