---
schema_version: "1"
id: a5fa06ddb16b5f6d31059352d8ba63ed744ba981361b7ca0ab450fee6816eef2
title: MCP 属性ベースのアクセス制御ポリシー
collection: mulesoft
version: current
locale: ja-jp
portal_url: https://docs.salesforce.com/mulesoft/current/ja-jp/gateway/1.10/policies-included-mcp-attribute-access-control.md
canonical_url: https://docs.mulesoft.com/jp/gateway/1.10/policies-included-mcp-attribute-access-control
source_site: docs.mulesoft.com
content_type: documentation
content_hash: b358883cca908c9376045c7c24f3829d90b594a1f59cf7db59d4c238ace4b451
description: MuleSoft Documentation Site
release: "1.10"
latest: false
---
# MCP 属性ベースのアクセス制御ポリシー

<table class="tableblock frame-all grid-all stretch">
<colgroup>
<col style="width: 25%;">
<col style="width: 75%;">
</colgroup>
<tbody>
<tr>
<td class="tableblock halign-right valign-top"><p class="tableblock"><strong>ポリシー名</strong></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">MCP 属性ベースのアクセス制御</p></td>
</tr>
<tr>
<td class="tableblock halign-right valign-top"><p class="tableblock"><strong>概要</strong></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">層、IP、ヘッダー、クレームなどのユーザー情報に基づいてツール、リソース、プロンプトへのアクセスを制御します。</p></td>
</tr>
<tr>
<td class="tableblock halign-right valign-top"><p class="tableblock"><strong>カテゴリ</strong></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">MCP</p></td>
</tr>
<tr>
<td class="tableblock halign-right valign-top"><p class="tableblock"><strong>使用可能な最小 Flex Gateway バージョン</strong></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">v1.9.3</p></td>
</tr>
<tr>
<td class="tableblock halign-right valign-top"><p class="tableblock"><strong>返される状況コード</strong></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">400 - 無効なトークン</p></td>
</tr>
</tbody>
</table>

<table><tbody><tr><td class="icon"><i class="fa icon-note" title="Note"></i></td><td class="content">このポリシーでは、モデルコンテキストプロトコル (MCP) バージョン 2025-06-18 以前がサポートされます。MCP についての詳細は、 <a href="https://modelcontextprotocol.io/specification/2025-06-18">「MCP Specification (MCP 仕様)」</a>​を参照してください。</td></tr></tbody></table>

## [](#概要)概要

MCP 属性ベースのアクセス制御ポリシーでは、ランク、IP、ヘッダー、クレームなどのユーザー情報に基づいてサーバーツール、リソース、プロンプトへのアクセスを制御します。アクセスルールを定義するには [Cedar ポリシー言語](https://docs.cedarpolicy.com/)​を使用します。

このポリシーを使用するには、MCP 属性ベースのアクセス制御ポリシーの前に別の認証ポリシーを適用する必要があります。詳しい案内については、​[Cedar ルールの記述](#writing-cedar-rules)​を参照してください。

## [](#ポリシーのパラメーターの設定)ポリシーのパラメーターの設定

### [](#flex-gateway-のローカルモード)Flex Gateway のローカルモード

MCP 属性ベースのアクセス制御ポリシーは、ローカルモードではサポートされません。

### [](#connected-mode)管理 Flex Gateway および Flex Gateway の接続モード

UI からポリシーを API インスタンスに適用するときに、以下のパラメーターが表示されます。

<table class="tableblock frame-all grid-all fit-content spread">
<colgroup>
<col>
<col>
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">要素</th>
<th class="tableblock halign-left valign-top">説明</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>Rules (ルール)</p>
</div></div></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p><a href="https://docs.cedarpolicy.com/">Cedar ポリシー言語</a>​で記述されたツール、リソース、プロンプトへのアクセスを制御するルール。</p>
</div></div></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>Cedar Expression (Cedar 式)</p>
</div></div></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>アクセスルールを定義する Cedar 式。例: <code>permit(principal,action == Action::"tools/call</code>​ や ​<code>resource == Tool::"calculator");</code>​。要求によって提供される Cedar バインドについての詳細は、​<a href="#writing-cedar-rules">Cedar ルールの記述</a>​を参照してください。</p>
</div></div></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>認証種別</p>
</div></div></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>このポリシーの前に適用される認証ポリシーによって使用される認証の種別。</p>
</div></div></td>
</tr>
</tbody>
</table>

## [](#writing-cedar-rules)Cedar ルールの記述

MCP 属性ベースのアクセス制御ポリシーの前に、内部認証ポリシーまたはカスタム認証ポリシーを適用する必要があります。

### [](#内部認証ポリシー)内部認証ポリシー

適用したポリシーは、使用可能な Cedar ​`principal`​ バインドに影響します。

- 複数のポリシーでクライアント ID を検証できます:
    
    - [クライアント ID 適用ポリシー](https://docs.mulesoft.com/jp/gateway/1.10/policies-included-client-id-enforcement)
    - [レート制限: SLA ベースのポリシー](https://docs.mulesoft.com/jp/gateway/1.10/policies-included-rate-limiting-sla)
    - [OAuth 2.0 トークンイントロスペクションポリシー](https://docs.mulesoft.com/jp/gateway/1.10/policies-included-oauth-token-introspection) (クライアント ID 適用が設定済みの場合)
    - [OpenID Connect OAuth 2.0 トークン適用ポリシー](https://docs.mulesoft.com/jp/gateway/1.10/policies-included-openid-token-enforcement) (クライアント ID 適用が設定済みの場合)
    - [JWT 検証ポリシー](https://docs.mulesoft.com/jp/gateway/1.10/policies-included-jwt-validation) (クライアント ID 適用が設定済みの場合)
        
        クライアント ID を検証するポリシーでは次の Cedar バインドが提供されます:
    - `principal.client_name`​: コントラクトのクライアントアプリケーションの名前
    - `principal.principal`​: コントラクトのクライアントアプリケーションの ID
    - `principal.properties.slaId`​: コントラクトに割り当てられた SLA ID
- [JWT 検証ポリシー](https://docs.mulesoft.com/jp/gateway/1.10/policies-included-jwt-validation):
    
    - `principal.properties.claims.<claimName>`​: JWT によって提供されるすべてのクレーム
- 複数のポリシーで基本認証ログイン情報を検証します:
    
    - [基本認証: 簡易ポリシー](https://docs.mulesoft.com/jp/gateway/1.10/policies-included-basic-auth-simple)
    - [基本認証: LDAP ポリシー](https://docs.mulesoft.com/jp/gateway/1.10/policies-included-basic-auth-ldap)
        
        基本認証ログイン情報を検証するポリシーでは次の Cedar バインドが提供されます:
    - `principal.principal`​: 基本認証ユーザーとして渡されるユーザー名

### [](#カスタム認証ポリシー)カスタム認証ポリシー

カスタム認証ポリシーでは、​`Authentication`​ injectable を使用してカスタムポリシーでの認証を行う必要があります。​`Authentication`​ injectable を設定するには、[Accessing Request Authentication Information](https://docs.mulesoft.com/pdk/latest/policies-pdk-configure-features-authentication)を参照してください。

Rust ​`AuthenticationData`​ 構造の場合:

```rust
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.*`