従来のアプリケーションアクセス:

従来、SaaSサービスであれエンタープライズ・アプリケーションであれ、アプリケーションはRESTful APIやgRPCなどのAPIを介してアクセスされていました。これらのアプリケーションへのブラウザベースのアクセスでさえ、JavaScriptを通じてAPIを活用します。通常、アプリケーションが公開するすべてのリソースには、リソースに対してさまざまな操作を実行するための HTTP メソッドを持つ、対応する API エンドポイントがあります。例として、単純なSaaS人事アプリケーションを考えてみましょう。このアプリケーションは、従業員、部門、給与など様々なリソースを管理します。主なリソースとそれに対応するAPIエンドポイントを以下に示します:

  • 従業員GET /api/employees – 全従業員のリストを取得; POST /api/employees – 新しい従業員を追加; GET /api/employees/{id} – 特定の従業員の詳細を取得; PUT /api/employees/{id} – 特定の従業員の詳細を更新; DELETE /api/employees/{id} – 特定の従業員を削除
  • 部署GET /api/departments – すべての部門のリストを取得します; POST /api/departments – 新しい部門を追加します; GET /api/departments/{id} – 特定の部門の詳細を取得します; PUT /api/departments/{id} – 特定の部門の詳細を更新します; DELETE /api/departments/{id} – 特定の部門を削除します。
  • 給与計算GET /api/payrolls – すべての給与記録のリストを取得します; POST /api/payrolls – 新規給与記録を作成します; GET /api/payrolls/{id} – 特定の給与記録の詳細を取得します; PUT /api/payrolls/{id} – 特定の給与記録の詳細を更新します; DELETE /api/payrolls/{id} – 特定の給与記録を削除します。

この例では、従業員、部門、給与の3つのAPIエンドポイントがあります。

ゼロ・トラスト・セキュリティ

SASE/SSE とサービスメッシュ技術を利用したゼロトラストセキュリティはルールで運用され、各ルールは API エンドポイントとメソッドにコンテキスト固有のアクセスを提供します。コンテキストには、リソースにアクセスするユーザの JWT クレーム、ユーザがアプリケーションリソースにアクセスするネットワークのコンテキスト、ユーザがアプリケーションリソースにアクセスするエンドポイントのデバイスの姿勢、ユーザの地理的な場所、アクセスの日数、時間、およびその他の関連要因が含まれます。以下は、人事アプリケーションのゼロトラスト・セキュリティを示すルールのサンプルです:

  1. ルール従業員データへのアクセス – 準拠デバイスで企業ネットワークからアクセスする人事管理者は、従業員のリスト(GET: /api/employees)や特定の従業員の詳細(GET: /api/employees/{id} )を取得できます。
  2. ルール部門管理 – 管理者は、平日の午前9時から午後6時までの間に、国内の準拠デバイス上の任意のネットワークからアクセスすると、部門の詳細を追加(POST:/api/departments)、更新(PUT:/api/departments/{id} )、または削除(DELETE:/api/departments/{id} )することができます。
  3. ルール給与計算記録の作成 – 給与計算のスペシャリストは、企業 VPN からオフィス内の準拠デバイスにアクセスして、特定の給与計算記録の作成(POST:/api/payrolls)、更新(PUT:/api/payrolls/{id} )、詳細の取得(GET:/api/payrolls/{id} )、または削除(DELETE:/api/payrolls/{id} )を行うことができます。

これらのルールにより、リソースへのアクセスは、ユーザー・アイデンティティ、ネットワーク・コンテキスト、デバイス・コンプライアンス、ロケーション、および時間的制約の組み合わせに基づいて許可され、ゼロ・トラスト・セキュリティの原則が実現されます。

APIエンドポイントとメソッドの意義

このように、APIエンドポイントの粒度によって、きめ細かなアクセス制御が可能になります。APIエンドポイントはアプリケーションのリソースを反映し、正確なアクセス管理を可能にします。アプリケーションによっては、各リソースに対してURLエンドポイントを使用しない場合もあります。その代わりに、HTTPリクエストヘッダを使用してアクセス先のリソースを示す場合もありますし、API JSONボディの一部としてリソース自体を明示する場合もあります。いずれの場合でも、APIはリソースへのインターフェースとして、セキュリティにおいて重要な役割を果たします。API は、リバースプロキシ、API セキュリティゲートウェイ、SASE/SSE システムの CASB/ZTNA のような中間セキュリティエンティティが、HTTP プロトコル要素から管理されるリソースを抽出することを可能にします。これらのシステムは次に、HTTP セッションの続行を許可するかどうかを決定するために、コンテキスト固有のルールを適用します。このプロセスにより、すべてのリクエストが現在のコンテキストに基づいてリアルタイムに評価され、リスクを効果的に軽減し、機密データを保護します。

アプリケーションへのアクセス方法を変えるGenAI

SaaSやエンタープライズ・アプリケーションは、リソース管理のために自然言語入力を受け入れるように進化しています。これは、リソースに対する操作を実行するために、自然なテキスト、音声、または画像を解釈して処理できる単一のAPIエンドポイントを持つことを意味します。例えば、人事アプリケーションは、ユーザーが自然言語で意図を入力できる1つのAPIエンドポイントを持つかもしれません。アプリケーションはこの意図を解釈し、内部で必要な操作を実行し、結果を返します。さらに明確な情報や入力が必要な場合、システムはユーザーにより多くの情報を求めるプロンプトを出すことができます。以下は、さまざまな操作がどのように実行されるかを示す、自然なプロンプトの例です:

  • 自然なプロンプト”全従業員のリストを見せてください”
  • 自然な促し「従業員ID 123の詳細を教えてください」 2.部門管理
  • ナチュラルプロンプト”マーケティング “という新しい部署を追加してください。
  • ナチュラルプロンプト”部門ID 456の名前を「営業」に更新してください”
  • 自然なプロンプト「ID789の部署を削除してください」 3.給与記録の作成
  • 自然なプロンプト「従業員ID 123の給与記録を作成します。
  • ナチュラルプロンプト”給与記録ID 456を新しい内容で更新してください”
  • 自然なプロンプト”ID789の給与記録を見せてください”
  • ナチュラルプロンプト”給与記録 ID 101112 を削除してください”

これらの例は、自然言語プロンプトがリソースレベルのAPIを直接呼び出す必要性を代替できることを示しています。

アプリケーションの進化

セキュリティの課題について話す前に、アプリケーションがどのように進化しているかを見てみましょう。

独自のGenAIインターフェースを備えた従来のアプリケーション

自然言語ベースのアクセスを持つ従来のアプリケーションは、ユーザーがソフトウェアとどのようにやり取りするかを変革しています。既存のSaaSやエンタープライズ・アプリケーションは、依然として従来のリソースレベルのAPIアクセスを提供していますが、現在では生成AIベースのアクセスをサポートするように強化されています。このアプローチにより、ユーザーは自然言語のプロンプトを通じてリソースを管理できるようになり、インタラクションがより直感的でユーザーフレンドリーになります。これらのアプリケーションには、チャット用の独自のグラフィカル・ユーザー・インターフェース(GUI)が含まれていることが多く、これによって、関連するさまざまなプロンプトを関連付けるための大規模なメモリ・コンテキストが可能になります。これは、ソフトウェアが会話の流れを理解し、記憶することができ、ユーザーのクエリに対してより正確で適切な応答を提供できることを意味します。自然言語処理を統合することで、これらのアプリケーションは複雑な操作を簡単な会話型コマンドに分解することができます。たとえば、手動でデータを入力したり、複雑なAPIコールを使用したりする代わりに、ユーザーは単に「従業員ID 123の給与記録を作成します」と言うことができます。

従来のアプリケーションを、定評あるジェネレーティブAIプロバイダーのソリューションで強化

最近の進歩では、ChatGPTのようなジェネレーティブAIサービスプロバイダーは、関数呼び出しやプラグインなどの機能を組み込むことで、従来のアプリケーションを強化しています。これらのアップグレードにより、既存のアプリケーションはChatGPTや同様のインターフェースとシームレスに対話できるようになります。基本的に、GenAIサービスプロバイダは、そのインターフェイスを介してユーザーのプロンプトをキャプチャし、根本的な意図を解釈し、RESTful APIコールを生成して実行することによって、またはバックエンドシステムへの新しいプロンプトを介して、これらの要求を満たすために適切なプラグインを識別します。結果は自然言語でユーザーに伝えられ、プロセスを直感的でユーザーフレンドリーにします。例えば、操作を実行するために複数のインターフェイスをナビゲートする代わりに、ユーザーはChatGPT環境内に留まり、シンプルな会話インターフェイスを介してコマンドを実行することができます。すでに800以上のプラグインをサポートしているChatGPTでは、様々なSaaSアプリケーションプロバイダが自社のサービスをプラグインとして登録することができます。この統合により、ユーザーはタブを切り替えたり、ChatGPTのインターフェイスから離れることなく、プラグインがカバーするタスクを実行することができます。

AIエージェントとエージェント型ワークフロー

アプリケーションが進化し続ける中、エージェント型ワークフローを持つAIエージェントが、もう一つの変革的トレンドとして台頭してきています。これらのAIエージェントは、ユーザーの代わりにタスクやワークフローを管理し、最小限の介入で自律的に動作するように設計されています。高度な機械学習アルゴリズムと洗練されたAIモデルを活用することで、これらのエージェントはさまざまなタスクを実行することができ、最新のアプリケーション・エコシステムにおいて不可欠な存在となっています。AIエージェントは既存のアプリケーションにシームレスに統合され、ルーチンタスクの自動化やワークフローの最適化によってその機能を強化します。例えば、カスタマーサービス・アプリケーションでは、AIエージェントは自律的に一般的な問い合わせに対応し、リクエストを処理し、必要に応じて複雑な問題を人間のエージェントにエスカレーションすることもできます。これにより、効率が向上するだけでなく、一貫性のある高品質なユーザーエクスペリエンスが保証されます。これらのエージェントは、インタラクションから学習し、継続的にパフォーマンスを向上させ、ユーザーの好みに適応する能力を備えています。つまり、時間の経過とともに、AIエージェントはユーザーのニーズを予測し、プロアクティブにタスクを管理できるようになり、業務をさらに簡素化し、ユーザーの認知的負荷を軽減します。AIエージェントは、さまざまなシステムやアプリケーションと連携し、データとアクションがシームレスに流れる、まとまりのある統合環境を構築することができます。AIエージェントの主な利点の1つは、定義された制約と目的の範囲内で動作する能力です。これにより、AIエージェントは目標指向の方法でタスクを実行し、ユーザが定義した優先順位と組織の目標に沿ったアクションを確実に実行することができます。例えば、プロジェクト管理ツールのAIエージェントは、自律的にタスクを割り当て、進捗を追跡し、プロジェクトの目標とタイムラインに基づいて最新情報を提供することができます。AIエージェントは、異なるアプリケーションやサービス間の調整とコミュニケーションを支援することができます。AIエージェントは、自然言語によるプロンプトを解釈し、複数のシステム間で実行可能なアクションに変換する仲介役として機能します。AIエージェントは推論モデルを使用して、ユーザーの意図に基づいて様々なタスクからなる計画を作成し、異なるプラグインやアプリケーションと通信することでこれらのタスクを実行します。この機能は、ユーザーが複数のツールやプラットフォームとやり取りする必要がある環境で特に有益です。

従来のゼロ・トラスト・セキュリティの実装は不十分です。

ゼロ・トラスト・セキュリティ」のセクションで説明したように、従来のゼロ・トラスト・ネットワーク・セキュリティの実装は、アプリケーションへのすべてのアクセスがリソース固有の API と従来の HTTP アクションを介して行われることを前提としています。既存のCASBとZTNAソリューションは、このような従来のゼロトラスト・セキュリティ実装に該当します。GenAIとその自然言語ベースのインタラクションの出現により、セキュリティ実装は進化する必要があります。従来のAPIとJSON/XMLボディは自然言語の入力と出力で補完され、ユーザーの意図と結果を識別するためのより深い分析が必要になっています。セキュリティ・ルールは、もはや特定のAPIエンドポイントやボディ要素だけに依存することはできません。コンテンツとコンテキストに特化したきめ細かなアクセス制御を適用するためには、ユーザーの意図を理解して開発する必要があります。例えば、ユーザがChatGPTや独自のチャット・インターフェースを介して給与計算アプリケーションと対話することを想像してみてください。固定のパラメータを持つ直接的な API 呼び出しの代わりに、ユーザは、”前四半期の給与記録を見せてください “と言うかもしれません。セキュリティ・システムは、この自然言語のリクエストを解釈し、リクエストとレスポンスが会社のセキュリティ・ポリシーに準拠していることを確認する必要があります。これには、リクエストのコンテキストと、関連する特定のセキュリティ制約の両方を微妙に理解する必要があります。したがって、進化するゼロ・トラスト・セキュリティ・モデルには、自然言語入力を分析・理解するメカニズムが含まれていなければなりません。