Flex Gateway新着情報
Governance新着情報
Monitoring API Managerポリシー名 |
MCP 属性ベースのアクセス制御 |
概要 |
層、IP、ヘッダー、クレームなどのユーザー情報に基づいてツール、リソース、プロンプトへのアクセスを制御します。 |
カテゴリ |
MCP |
使用可能な最小 Flex Gateway バージョン |
v1.9.3 |
返される状況コード |
400 - 無効なトークン |
| このポリシーでは、モデルコンテキストプロトコル (MCP) バージョン 2025-06-18 以前がサポートされます。MCP についての詳細は、 「MCP Specification (MCP 仕様)」を参照してください。 |
MCP 属性ベースのアクセス制御ポリシーでは、ランク、IP、ヘッダー、クレームなどのユーザー情報に基づいてサーバーツール、リソース、プロンプトへのアクセスを制御します。アクセスルールを定義するには Cedar ポリシー言語を使用します。
このポリシーを使用するには、MCP 属性ベースのアクセス制御ポリシーの前に別の認証ポリシーを適用する必要があります。詳しい案内については、Cedar ルールの記述を参照してください。
UI からポリシーを API インスタンスに適用するときに、以下のパラメーターが表示されます。
| 要素 | 説明 |
|---|---|
Rules (ルール) |
Cedar ポリシー言語で記述されたツール、リソース、プロンプトへのアクセスを制御するルール。 |
Cedar Expression (Cedar 式) |
アクセスルールを定義する Cedar 式。例: |
認証種別 |
このポリシーの前に適用される認証ポリシーによって使用される認証の種別。 |
MCP 属性ベースのアクセス制御ポリシーの前に、内部認証ポリシーまたはカスタム認証ポリシーを適用する必要があります。
適用したポリシーは、使用可能な Cedar principal バインドに影響します。
複数のポリシーでクライアント ID を検証できます:
OAuth 2.0 トークンイントロスペクションポリシー (クライアント ID 適用が設定済みの場合)
OpenID Connect OAuth 2.0 トークン適用ポリシー (クライアント ID 適用が設定済みの場合)
JWT 検証ポリシー (クライアント ID 適用が設定済みの場合)
クライアント ID を検証するポリシーでは次の Cedar バインドが提供されます:
principal.client_name: コントラクトのクライアントアプリケーションの名前
principal.principal: コントラクトのクライアントアプリケーションの ID
principal.properties.slaId: コントラクトに割り当てられた SLA ID
principal.properties.claims.<claimName>: JWT によって提供されるすべてのクレーム
複数のポリシーで基本認証ログイン情報を検証します:
基本認証ログイン情報を検証するポリシーでは次の Cedar バインドが提供されます:
principal.principal: 基本認証ユーザーとして渡されるユーザー名
カスタム認証ポリシーでは、Authentication injectable を使用してカスタムポリシーでの認証を行う必要があります。Authentication injectable を設定するには、Accessing Request Authentication Informationを参照してください。
Rust AuthenticationData 構造の場合:
pub struct AuthenticationData {
pub principal: Option<String>,
pub client_id: Option<String>,
pub client_name: Option<String>,
pub properties: Value,
}
AuthenticationData パラメーターは次の Cedar バインドにマップします:
principal: principal.principal
client_name: principal.client_name
properties: principal.properties.*