--- title: "主要な概念" url: https://docs.catalyst.zoho.com/ja/serverless/help/security-rules/key-concepts/ description: "Catalyst Security Rulesは、アプリケーション内のファンクションのデフォルトのセキュリティ定義とアクセス制御であり、変更・管理が可能です。" last_updated: 2026-03-05T06:13:24Z service: Serverless type: general --- # 主要な概念 Security Rulesで定義を設定する前に、その基本的な概念を詳しく理解してください。 ### Security Rulesで利用可能な設定 Security Rulesでは、JSONファイル内の各パラメータの値を定義することで、プロジェクト内の各Basic I/OおよびAdvanced I/O FunctionのHTTPアクセスと認証を設定できます。 各ファンクションのパラメータ定義に設定可能な値は以下の通りです。
利用可能なパラメータ 許可される値
methods GET, POST, DELETE, PUT, PATCH
authentication optional, required
#### Methods `methods`パラメータでは、ファンクションにアクセスするために使用できるHTTPメソッドを定義できます。Catalystはデフォルトで`GET`、`POST`、`DELETE`、`PUT`、`PATCH`メソッドをサポートしています。 特定のファンクションのJSONファイルからメソッドを[削除](https://docs.catalyst.zoho.com/ja/serverless/help/security-rules/implementation/#modify-definitions-in-security-rules)すると、エンドユーザーはそのHTTPメソッドでファンクションをトリガーできなくなります。例えば、`POST`メソッドを削除すると、ユーザーはそのメソッドを使用してファンクション呼び出しで入力値を渡すことができなくなります。また、ファンクションに対して`GET`メソッドを削除すると、ユーザーは[Basic I/O](https://docs.catalyst.zoho.com/ja/serverless/help/functions/basic-io/#function-url)または[Advanced I/O](https://docs.catalyst.zoho.com/ja/serverless/help/functions/advanced-io/#function-url)ファンクションURLを呼び出すことができなくなります。 そのため、ファンクションの呼び出しに許可するHTTPメソッドをカスタマイズし、セキュリティ向上のために不要なメソッドを削除できます。 #### Authentication `authentication`パラメータでは、ファンクションへのアクセスに対する認証を有効または無効にできます。特定のファンクションを呼び出す際にユーザーがIDの認証を必要とするかどうかを定義します。`authentication`パラメータは、ファンクション作成時にデフォルトですべてのファンクションに対して`optional`に設定されます。 ファンクションに対してこのパラメータが`optional`に設定されている場合、すべてのユーザーが認証チェックなしでファンクションのURLにアクセスできます。そのため、ファンクションURLはグローバルにアクセス可能となり、Catalystからの制限なしにすべてのファンクション呼び出しが許可されます。 認証済みユーザーのみにアクセスを制限しセキュリティを向上させるには、パラメータを`required`に設定します。これにより、ユーザーがファンクションを呼び出す際にCatalystが認証チェックを実行するよう指示されます。 Security Rulesは2種類の認証方法をサポートしています。 * **Catalystユーザー認証:** この認証方法は、デフォルトで[Catalyst Authentication](https://docs.catalyst.zoho.com/ja/cloud-scale/help/authentication/introduction/)に追加されたCatalystアプリケーションのすべてのユーザーにアクセスを有効にします。Catalystアプリケーションにユーザーサインインフォームを組み込み、ログインセッションを有効にすることで、この認証方法を処理できます。[アプリユーザー](https://docs.catalyst.zoho.com/ja/cloud-scale/help/authentication/user-management/users/introduction/)は、追加のユーザー検証なしに自動的にファンクションを呼び出すことができます。 * **OAuthベース認証:** この認証方法は、OAuthアクセストークンを持つユーザーにアクセスを有効にします。以下の例に示すように、ファンクション呼び出しリクエストでアクセストークンをヘッダーとして渡すことができます。 ```bash curl -X POST \ https://shipmenttracking-61317105.zohocatalyst.com/CustomerPortal/create \ -H "Authorization: Zoho-oauthtoken 1000.910*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*16.2f*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*57" ``` CatalystアプリケーションでOAuth認証を実装するには、詳細な手順について[OAuth認証ヘルプドキュメント](https://docs.catalyst.zoho.com/ja/api/oauth2/overview-and-terminology/#OverviewandTerminology)を参照してください。 ### Basic I/OおよびAdvanced I/O FunctionsのSecurity Rules設定 Basic I/O Functionのセキュリティルール定義は、ファンクション作成時に以下のデフォルト値で設定されます。 ```json "functions": { "LogDelivery": { "methods": [ "GET", "POST", "DELETE", "PUT", "PATCH" ], "authentication": "optional" } } ``` Advanced I/O Functionのセキュリティルール定義は、ファンクション作成時に以下のデフォルト値で設定されます。 ```json "advancedio": { "CustomerPortal": [ { ".*": { "methods": [ "GET", "POST", "DELETE", "PUT", "PATCH" ], "authentication": "optional" } } ] } ``` デフォルトでは、ワイルドカードパターン`**.\***`がCatalystによってAdvanced I/O Functionの設定定義に使用され、これらの定義がAdvanced I/O Functionに作成された[すべてのルート](https://docs.catalyst.zoho.com/ja/serverless/help/functions/advanced-io/)に適用されることを示します。 Advanced I/O Functionで定義された各ルートに対して個別に異なる定義を設定できます。例えば、ファンクション内に`/vendor`と`/customer`という2つのルートを定義している場合、各ルートの特定のメソッドと認証を以下のように独立して有効化・無効化できます。 ```json "advancedio": { "CustomerPortal": [ { "/vendor": { "methods": [ "GET", "POST", "PUT" ], "authentication": "required" }, "/customer": { "methods": [ "GET", "POST", "DELETE", "PUT", "PATCH" ], "authentication": "optional" } } ] } ``` ### Security Rulesに対するAPI Gatewayの利点 Security Rules機能はファンクションの基本的なルーティングと認証機能の設定を定義しますが、[API Gateway](https://docs.catalyst.zoho.com/ja/cloud-scale/help/api-gateway/introduction/)では個別のAPIの作成、ルーティングと認証のカスタマイズの柔軟性の向上、および追加機能が提供されます。 Security Rulesに対するAPI Gatewayの利点には以下が含まれます。 * Security RulesがサポートするHTTPメソッドに加えて、すべてのHTTPメソッドを`ANY`という単一のメソッドに集約し、API Gatewayでそのための単一のAPIを作成できます。 * カスタムリクエストURLとターゲットURLを設定し、各URLの各リクエストメソッドに対して個別のAPIを作成できます。 * CatalystユーザーパスワードとOAuth認証に加えて、API GatewayはAPIキーによる認証もサポートしています。 * 個別のAPIごとにスロットリングを設定できます。 * WebクライアントのAPIを作成し、その定義を設定することもできます。