主要な概念
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ファイルからメソッドを削除すると、エンドユーザーはそのHTTPメソッドでファンクションをトリガーできなくなります。例えば、POSTメソッドを削除すると、ユーザーはそのメソッドを使用してファンクション呼び出しで入力値を渡すことができなくなります。また、ファンクションに対してGETメソッドを削除すると、ユーザーはBasic I/OまたはAdvanced I/OファンクションURLを呼び出すことができなくなります。
そのため、ファンクションの呼び出しに許可するHTTPメソッドをカスタマイズし、セキュリティ向上のために不要なメソッドを削除できます。
Authentication
authenticationパラメータでは、ファンクションへのアクセスに対する認証を有効または無効にできます。特定のファンクションを呼び出す際にユーザーがIDの認証を必要とするかどうかを定義します。authenticationパラメータは、ファンクション作成時にデフォルトですべてのファンクションに対してoptionalに設定されます。
ファンクションに対してこのパラメータがoptionalに設定されている場合、すべてのユーザーが認証チェックなしでファンクションのURLにアクセスできます。そのため、ファンクションURLはグローバルにアクセス可能となり、Catalystからの制限なしにすべてのファンクション呼び出しが許可されます。
認証済みユーザーのみにアクセスを制限しセキュリティを向上させるには、パラメータをrequiredに設定します。これにより、ユーザーがファンクションを呼び出す際にCatalystが認証チェックを実行するよう指示されます。
Security Rulesは2種類の認証方法をサポートしています。
-
Catalystユーザー認証:
この認証方法は、デフォルトでCatalyst Authenticationに追加されたCatalystアプリケーションのすべてのユーザーにアクセスを有効にします。Catalystアプリケーションにユーザーサインインフォームを組み込み、ログインセッションを有効にすることで、この認証方法を処理できます。アプリユーザーは、追加のユーザー検証なしに自動的にファンクションを呼び出すことができます。
-
OAuthベース認証:
この認証方法は、OAuthアクセストークンを持つユーザーにアクセスを有効にします。以下の例に示すように、ファンクション呼び出しリクエストでアクセストークンをヘッダーとして渡すことができます。
curl -X POST \
https://shipmenttracking-61317105.zohocatalyst.com/CustomerPortal/create \
-H "Authorization: Zoho-oauthtoken 1000.910*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*16.2f*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*57"
CatalystアプリケーションでOAuth認証を実装するには、詳細な手順についてOAuth認証ヘルプドキュメントを参照してください。
Basic I/OおよびAdvanced I/O FunctionsのSecurity Rules設定
Basic I/O Functionのセキュリティルール定義は、ファンクション作成時に以下のデフォルト値で設定されます。
"functions": {
"LogDelivery": {
"methods": [
"GET",
"POST",
"DELETE",
"PUT",
"PATCH"
],
"authentication": "optional"
}
}
Advanced I/O Functionのセキュリティルール定義は、ファンクション作成時に以下のデフォルト値で設定されます。
"advancedio": {
"CustomerPortal": [
{
".*": {
"methods": [
"GET",
"POST",
"DELETE",
"PUT",
"PATCH"
],
"authentication": "optional"
}
}
]
}
デフォルトでは、ワイルドカードパターン.*がCatalystによってAdvanced I/O Functionの設定定義に使用され、これらの定義がAdvanced I/O Functionに作成されたすべてのルートに適用されることを示します。
Advanced I/O Functionで定義された各ルートに対して個別に異なる定義を設定できます。例えば、ファンクション内に/vendorと/customerという2つのルートを定義している場合、各ルートの特定のメソッドと認証を以下のように独立して有効化・無効化できます。
"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では個別の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を作成し、その定義を設定することもできます。
最終更新日 2026-03-05 11:43:24 +0530 IST
Yes
No
Send your feedback to us