Apidog クライアントは、ローカルリソースへのアクセスやコード実行機能を伴う特定の操作に対して、セキュリティ制御をサポートしています。Security 設定では、信頼済みプロジェクトで利用可能な機能の範囲を事前に設定できます。プロジェクトが事前に承認されていない状態で関連する操作をトリガーした場合、クライアントは実行前に確認プロンプトを表示し、ユーザーが確認した後にのみ続行します。セキュリティ設定は、機密性の高い機能が悪用されたり、予期せず呼び出されたりするリスクを軽減し、ローカル機能の呼び出しをより制御しやすくします。セキュリティ設定へのアクセス#
Security 設定には、次の手順でアクセスできます。1
Apidog クライアントを開き、右上隅の Settings アイコンをクリックします
2
Preferences で Security を選択します
3
Security ページで、データベース接続、外部プログラムの呼び出し、npm パッケージの動的読み込みなどの機能に対する承認範囲を設定します
高リスク操作の承認確認#
一部の機能には、ローカルリソースへのアクセス、外部プログラムの呼び出し、またはサードパーティ依存関係の読み込みが含まれます。悪用リスクを軽減するため、Apidog はこれらの操作に対してセキュリティ承認確認メカニズムを追加しています。現在サポートされている設定可能な機能は次のとおりです。データベース接続: プロジェクトが操作前または操作後のスクリプトで設定済みのデータベース接続を使用できるかどうかを制御し、未承認のプロジェクトやスクリプトがデータベースリソースにアクセスしたり、SSH tunnel を介してイントラネットリソースにアクセスしたりするリスクを軽減します
外部プログラムの呼び出し: プロジェクトが External Programs ディレクトリ内のスクリプトまたは実行可能コードファイルを呼び出せるかどうかを制御し、ローカルプログラムが予期せず呼び出されるリスクを軽減します
npm パッケージの動的読み込み: プロジェクトが実行時に npm パッケージをインストールして読み込めるかどうかを制御し、サードパーティ依存関係の悪用によって生じるセキュリティリスクを軽減します
Security 設定では、これらの機能を個別に有効化または無効化でき、信頼済みプロジェクトに対する承認範囲を設定できます。静的設定: 信頼済みプロジェクトの事前承認#
プロジェクトでデータベース接続、外部プログラムの呼び出し、npm パッケージの動的読み込みなどの機能を使用する必要があることを確認した場合は、対応する機能の Authorized Projects にそのプロジェクトを追加できます。設定後、承認済みプロジェクトは現在の承認ルールに従って対応する機能を使用できます。これらの機能は 信頼済みプロジェクトに対してのみ 有効化することを推奨します。また、使用されなくなったプロジェクトや信頼できなくなったプロジェクトが機密性の高い機能の権限を保持し続けないように、承認済みプロジェクトの一覧を定期的に確認してください。
動的承認: 実行時の承認確認#
プロジェクトが事前に承認されていない状態で、実行時に関連する高リスク操作をトリガーした場合、クライアントは 実行前に承認確認プロンプトを表示します。たとえば、事前に承認されていないプロジェクトが操作前または操作後のスクリプトを通じて外部プログラムを呼び出す場合、クライアントは、この操作がサンドボックス環境をバイパスする可能性があることを通知し、現在のプロジェクトにこの機能の使用を許可するかどうかを確認します。関連する操作は、ユーザーが確認した後にのみ続行されます。ユーザーがキャンセルした場合、操作は続行されません。この 静的設定 + 動的承認 の確認メカニズムにより、通常の使用に影響を与えることなく、機密性の高い機能に対して追加の確認ステップを導入できます。
外部プログラム呼び出しの制限#
スクリプト実行によって生じるセキュリティリスクを軽減するため、Apidog は外部プログラム呼び出しの範囲をさらに制限しています。現在、クライアントおよび CLI では、External Programs ディレクトリ内のスクリプトまたは実行可能コードファイルのみ呼び出しが許可されています。操作前または操作後のスクリプト、自動化ワークフロー、または CLI シナリオで外部プログラムを呼び出す必要がある場合は、まず関連するスクリプトまたは実行可能コードファイルを External Programs ディレクトリに配置し、その後、対応する方法で呼び出す必要があります。これにより、スクリプトが任意のパスからローカルプログラムを呼び出すことを防ぎ、実行範囲が過度に広いことに よって生じる潜在的なセキュリティリスクを軽減します。executeAsync の command パラメータに関する制限#
executeAsync を通じて外部スクリプトを呼び出す場合、Apidog はスクリプト実行コマンドを任意に指定できないように、command パラメータに指定できる値も制限しています。現在、Python スクリプトを呼び出す場合、command は python3 にのみ設定できます。既存のスクリプトが他の command パラメータ値に依存している場合は、既存のワークフローに影響しないよう、新しい実行ルールに従ってスクリプトの呼び出し方法を調整することを推奨します。推奨事項#
1.
データベース接続、外部プログラムの呼び出し、npm パッケージの動的読み込みなどの機能は、必要な場合にのみ有効化し、信頼済みプロジェクトのみを承認してください。
2.
自動化ワークフロー、操作前または操作後のスクリプト、CLI タスクで外部プログラム呼び出しを使用している場合は、スクリプトパスと command パラメータが新しい実行ルールに準拠しているか確認してください。
3.
プロジェクトで機能が不要になった場合は、Security 設定で対応するトグルを速やかに無効化するか、承認済みプロジェクトから削除してください。