---
schema_version: "1"
id: 34144d192730b51de7820c7a3c026fa8f38f44bca6aca8d326d4de4b0cdf09b8
title: リソースレベルのポリシー
collection: mulesoft
version: current
locale: ja-jp
portal_url: https://docs.salesforce.com/mulesoft/current/ja-jp/mule-gateway/policies-resource-level-overview.md
canonical_url: https://docs.mulesoft.com/jp/mule-gateway/policies-resource-level-overview
source_site: docs.mulesoft.com
content_type: documentation
content_hash: 842cc5eb4f676ce3935e560ba50befdc62f008fe73430d1807c2e15aa56f6e2b
description: MuleSoft Documentation Site
latest: true
---
# リソースレベルのポリシー

他の設定を行わない限り、ポリシーはデフォルトでは API 全体に適用されます。ただし、条件に基づいてアクセスが制御されるポリシーの粒度レベルを追加して実装できます。この粒度のポリシーは​_リソースレベルポリシー_​と呼ばれます。

粒度のリソースレベルでは、ポリシーは条件に一致する要求のみに適用されます。 クロスオリジンリソース共有 (CORS) ポリシーを除くすべてのポリシーは、リソースレベルです。

Mule 4 では、リソースレベルポリシーは RAML API に加えて HTTP ベースの API もサポートします。 API 内のメソッド (数は無制限) に対して ​[URI テンプレート正規表現](#api-manager::configure-uri-template-regex.adoc)​を使用することで、複数の条件を適用してリソースや HTTP メソッドを絞り込むことができます。

## [](#リソースレベルポリシーを実装するための使用シナリオ)リソースレベルポリシーを実装するための使用シナリオ

リソースレベルのシナリオは多くの方法で使用できます。一例を紹介します。

- 特定のリソースにポリシーを適用する。
- API のサブセットを保護する。
- 複数のリソースに異なる制限を設定する。

API に RAML または OAS 仕様が関連付けられている場合は、​**\[Preview Resource Matching (リソース一致をプレビュー)\]**​ オプションを使用して、検索条件の影響を受けるリソースを決定できます。

![ユーザー権限とそれぞれのユーザー権限に許可された対応する HTTP メソッドに関連する API 要求](/mulesoft/current/ja-jp/mule-gateway/_images/users-api-cropped.png)

リソースレベルポリシーは、Java 正規表現をサポートしています。たとえば、ワイルドカードを使用してポリシーを複数のリソースに適用できます。ポリシーを API に適用する場合は、適用対象のリソースを指定します。

## [](#リソースレベルポリシーを実装するためのガイドライン)リソースレベルポリシーを実装するためのガイドライン

リソースレベルポリシーを実装する場合は、以下の点に注意してください。

- 正規表現内で {userid} などのプレースホルダーを使用しないでください。
    
    式でプレースホルダーを使用すると、プレースホルダーが実際のノードに一致しないため、失敗します。プレースホルダー例の {userid} では、ノードは次のようになります。
    
    `/api/users/671962fc-f076-4b19-bc38-45ba3a4e4095/permissions/1234`
    
    671962fc-f076-4b19-bc38-45ba3a4e4095 がユーザー ID です。
    
    1234 は権限の ID です。

1 人のユーザーとすべてのリソースノードを表すリソース ​`/api/users/{userid}`​ にポリシーを適用するには、次の式を使用します。

`userid`​ は、1 人のユーザーとすべてのリソースノード ​`/api/users/.*`​ を表します。

権限リソース ​`/api/users/{userId/permissions}`​ と ​`/api/users/{userid}/permissions/{permissionId}`​ のみにポリシーを適用するには、次の式を使用します。

`/api/users/.**/permissions.**`

## [](#関連情報)関連情報

- [URI テンプレート正規表現の設定](#api-manager::configure-uri-template-regex.adoc)
- [アウトバウンドポリシーの無効化](#api-manager::disable-outbound-policies.adoc)