ビジネスを強化する: アクセス制御を使用して既存のサービスに AI ツールを接続する
パーソナルアクセス トークンとモデル コンテキスト プロトコル (MCP) を使用して、AI ツールを既存のサービスに安全に接続することでビジネスを強化する方法を学びます。完全なソース コードと実用的な例が含まれています。
アクセス制御を使用して既存のサービスに AI ツールを接続するためのガイドへようこそ!
特に LLM との統合(モデル コンテキスト プロトコルを使用)およびさまざまな AI エージェントを通じて、アクセス制御の課題に対処しながら、既存のサービスを AI ツールに対応させる方法を探ります。
このガイドを通じて、次のことを学びます:
- シームレスな AI 統合: AI ツールをサービスに接続し、データと機能を AI 環境で利用可能にする方法を学びます
- 強化された API セキュリティ: 効果的なアクセス制御により、データとユーザーのプライバシーを保護するために API インターフェースを改善します
- ユーザー向けに個別化された AI 体験: 個々のユーザーに AI 支援体験を作成し、パーソナル アクセス トークンを通じて実現します
完全なチュートリアル資料、完全なデモ プロジェクト ソース コード(フロントエンド、バックエンド、MCP サーバーを含む)、AI 対応サービスをゼロから構築するための実用的なガイドも提供します。
このガイドがあなたのビジネスをどのように向上させるか:
- 競争優位性: サービスの技術能力とユーザー エクスペリエンスを向上させ、競争力のある市場で際立たせます
- ユーザー価値の強化: AI ツールを通じて製品の深い価値をユーザーに提供し、保持率と満足度を向上させます
- 将来に備えたサービス: AI エコシステムとの統合により、AI 主導のビジネス環境に備え、革新的な成長の道を開きます
さあ、始めましょう!
MCP とは何か、そしてそれがどのように AI ツールをサービスに接続するか
MCP (モデル コンテキスト プロトコル) は、大規模言語モデル (LLM) にコンテキスト情報を提供する方法を標準化するオープンでユニバーサルなプロトコルです。
MCP は複数の主要コンポーネントから構成されており、AI ツールがあなたのサービスにアクセスできるようになります:
このガイドでは、MCP サーバーがサービスと AI ツールの間の重要な接続ポイントであることだけを知っていれば十分です。MCP サーバーは LLM が使用するためのツールを一連提供し、これらのツールはあなた自身のサービスと相互作用します。MCP の詳細については、MCP (モデル コンテキスト プロトコル) とは何か、どのように機能するか を参照できます。ここでは、MCP サーバーだけに焦点を当てます。
ロールベースのアクセス制御 (RBAC) ポリシーを統合したコンテンツ管理システム (CMS) を例として使用します。MCP サーバーを作成し、現在のユーザーが CMS 内で利用可能な記事の数を LLM に取得させるための get-available-article-count
ツールを定義します:
これは、MCP サーバーをサービスに接続するための重要なコードです。このツールの実装では、サービスの api/articles
エンドポイントにリクエストを送り、結果を返します。
しかし、これはまだ不十分です。なぜなら、サービスの API が公共ではないかもしれないからです。各エンドポイントにはアクセス制御が必要で、異なるユーザーが異なるリソースとデータにアクセスできるようにする必要があります。
次に、サービスにアクセス制御を追加する方法を説明します。
MCP サーバーのアクセス制御を実装する方法
AI ツールを通じてシステムにアクセスするユーザーは、直接的にシステムを使用する可能性のある個々のユーザーであるため、MCP サーバーは AI ツールを通じて対話するときにその代表者として機能します。
したがって、ユーザーが AI ツールを通じてサービスにアクセスする場合、次の2つの実践的なアクセス制御の課題が生じます:
- MCP サーバーがユーザーのようにシステムにログインする方法?
- もとのシステムがすでに独自の認証メカニズムを持っているとき、MCP サーバーに対応するためにシステムのアクセス制御メカニズムを再設計する必要があるのでしょうか?これは特に大きなコストと労力がかかります。
この問題を解決する鍵は次の通りです:
MCP サーバーがユーザーの資格情報やインタラクティブなサインインなしでサービスへのアクセスをユーザーから許可される方法は?
この問題を解決すれば、MCP サーバーを通じて直接サービスと相互作用でき、元のユーザー向けに設計されたアクセス制御メカニズムを引き続き使用することができます。MCP サーバー専用の新しいシステムを再設計する必要がありません!
しかし、これが可能ですか?
もちろんです!この問題は、パーソナル アクセス トークンを使用して完全に解決できます!
パーソナル アクセス トークン (PAT) は、ユーザーが資格情報やインタラクティブなサインインを使わずにアクセス トークンを安全に付与する方法を提供します。これは CI/CD、スクリプト、またはリソースにプログラム でアクセスする必要があるアプリケーションに適しています。
ワークフローの流れは次の通りです:
したがって、システムがパーソナル アクセス トークン (PAT) をサポートしている限り、AI ツールと既存のサービス間のアクセス制御の課題を解決し、認証メカニズムを再設計することなく、データのセキュリティとユーザーのプライバシー保護を確保できます。
次は、これを実際に実装する方法を見てみましょう。
MCP サーバーのアクセス制御の実装
このセクションでは、既存の CMS システムを基礎として MCP サーバーのアクセス制御を実装します。
実践における RBAC: アプリケーションの安全な認証の実装 にある完全な CMS サンプル チュートリアルとソース コードをチェックアウトできますが、これは必須ではありません。ここで基本的な原則をすべて取り上げます。
CMS サンプルは、包括的な認証および認可ソリューションを提供する人気のオープンソースアイデンティティ プラットフォームである Logto に基づいていますが、このプラットフォームの技術的な実装はこの記事の焦点ではありません。
サービスに対する権限とアクセス制御ポリシーの設計
アクセス制御を実装する最初のステップは、システムのための権限とアクセス制御ポリシーを設計することです。
クテンツ管理システム (CMS) の例では、RBAC (ロールベースのアクセス制御) に基づいて次のような API エンドポイントを設計し、各エンドポイントにアクセスするために必要な権限を指定しました。
エンドポイント | アクセス制御ロジック |
---|---|
GET /api/articles | - list:articles 権限を持つユーザーまたは自分の記事が見える著者 |
GET /api/articles/:id | - read:articles 権限を持つユーザーまたはその記事の著者 |
POST /api/articles | - create:articles 権限を持つユーザー |
PATCH /api/articles/:id | - update:articles 権限を持つユーザーまたはその記事の著者 |
DELETE /api/articles/:id | - delete:articles 権限を持つユーザーまたはその記事の著者 |
PATCH /api/articles/:id/published | - publish:articles 権限を持つユーザーのみ |
システムの権限設計は次の通りです:
権限 | 説明 |
---|---|
list:articles | システム内のすべての記事のリストを見る |
read:articles | 任意の記事の全文を読む |
create:articles | 新しい記事を作成する |
update:articles | 任意の記事を修正する |
delete:articles | 任意の記事を削除する |
publish:articles | 公開ステータスを変更する |
これらの権限に基づいて、CMS システムのために次の役割を定義しました。
権限/役割 | 👑 管理者 | 📝 出版者 |
---|