質問
REST APIジョブのアクセスログに401エラーが繰り返し記録されています。外部からの攻撃でしょうか。原因と対処方法を教えてください。
回答
外部からの攻撃である可能性は低いと考えられます。
REST APIジョブの401エラーは、ジョブが有効化・無効化の状態にかかわらず、アクセストークンに誤りがある場合に発生します。
アクセストークンの認証に必要な情報が正しく登録されているかをご確認ください。
補足
■ 不明なリモートIPアドレスが記録されている場合
ブラウザ上のPostman(クラウドエージェント)を使用してREST APIジョブを実行した場合、リクエストはPostmanクラウド経由で送信されます。PostmanのクラウドエージェントはAWSが提供するデータセンター上で稼働しているため、静的IPアドレスはサポートされておらず、実行のたびに異なるIPアドレスが使用されます。アクセスログに見覚えのないIPアドレスが記録されている場合は、RESTクライアントとしてPostmanを使用していないかご確認ください。
■ 401エラー発生時のリクエスト詳細情報(リクエストボディ)の確認について
[モニタリング] > [ログ] > [REST APIジョブアクセスログ] では、アクセス元IPアドレス等の情報を確認できますが、リクエストボディ(JSONの内容)は確認できません。
401エラーはスクリプト実行前の認証段階で発生するため、スクリプトが実行されずリクエスト本文の取得ができません。これはHULFT Squareの仕様上の制約です。
認証が成功する場合のリクエストボディ確認方法(代替手段)として、APIプロジェクトのスクリプトを以下のとおり改修することで対応可能です。
1. XML型のスクリプト変数を作成し、入力・出力変数として設定する
2. XMLファイル書き込み処理を配置する(書き込み先ファイルを指定する)
3. フローを以下のとおり接続する
- [Start] → [End] へデータフローを引く
- [Start] → [XMLファイル書き込み処理] へプロセスフローとデータフローを引く
- [XMLファイル書き込み処理] → [End] へプロセスフローを引く
4. APIプロジェクトのリソース(POST)を設定する
- 準備したスクリプトを指定する
- [リクエスト設定] - [リクエスト本文] のパラメーターを追加し、JSON形式でスクリプト変数に格納する
- [レスポンス設定] - [レスポンス本文] のパラメーターを追加し、JSON形式でスクリプト変数に格納する
5. 外部クライアント(Postman等)からリクエストを送信すると、レスポンス本文にリクエスト本文が返却される
※API呼び出しでエラーが発生した場合やスクリプトの実行が失敗した場合は、レスポンスが変わり、リクエスト本文は返却されません。
コメント
0件のコメント
記事コメントは受け付けていません。