目次

タイトル: トラブルシューティング Slug: api-troubleshooting

トラブルシューティング

Workload Security に送信する要求にエラーが含まれている場合、応答には問題の識別に使用できる情報が含まれます。

  • PostmanやcURLなどのソフトウェアでAPIを直接使用する場合は、応答のステータスコードとレスポンス本文のエラーメッセージでエラーを識別できます。
  • SDKを使用すると、応答は例外(PythonおよびJava)またはエラー(JavaScript)としてユーザに提供されます。例外またはエラーには、応答本文からのエラーメッセージが含まれています。

エラー応答のトラブルシューティングを行うには、発生可能なエラーの種類と一般的な原因を理解しておく必要があります。

エラー情報を取得する

SDKを使用すると、キャッチした例外 (PythonおよびJava) またはエラー (JavaScript) にエラーメッセージが表示されます。 GETリクエストの実行: ポリシーの一覧表示 の例では、例外をキャッチしてエラーメッセージを出力する方法を示しています。次の例は、そのセクションの例の一部です。

# Create a PoliciesApi object
policies_api = api.PoliciesApi(api.ApiClient(configuration))

# List policies using version v1 of the API
policies_list = policies_api.list_policies(api_version)

# View the list of policies
return policies_list

PostmanまたはcURLの場合、応答を受信すると、エラーメッセージが表示されます。

認証エラー

認証エラーの結果、 Invalid API Keyという応答メッセージが返されます。PostmanおよびcURLユーザの場合、このエラーは 401 のステータスコードに関連付けられています。このエラーの原因は次のとおりです。

  • 要求の認証に使用された秘密鍵が正しく入力されていません。
  • リクエストの認証に使用されたAPIキーが削除されました

認証エラー

認証エラーは、APIキーが処理の実行やリソースへのアクセスに許可されていない場合に発生します。これらのエラーの結果、応答メッセージは Not authorized to <action> <resource type>形式( Not authorized to delete computersなど)になります。PostmanおよびcURLユーザの場合、このエラーは 403 のステータスコードに関連付けられています。このエラーの原因は次のとおりです。

  • APIキーに割り当てられている役割には、リソース、操作、またはその両方に対するアクセス権がありません。
  • APIキーがロックアウトされています。
  • APIキーの期限が切れています。

リソースが見つかりませんでした

リソースが見つからないというエラーは、特定のリソースに対して処理を実行する要求があっても、そのリソースが見つからない場合に発生します。 これらのエラーの結果、応答メッセージは The <resource> does not exist形式( The policy does not existなど)になります。 PostmanおよびcURLユーザの場合、このエラーは 404 のステータスコードに関連付けられています。このエラーの原因は次のとおりです。

  • リソースの識別に使用したIDが正しくありません。
  • リソースは削除されました。

要求エラーが間違っています

要求が Workload Security が予期している形式または構文に準拠していないか、 Workload Security が許可しないタスクの実行を試みると、要求が正しく行われません。メッセージは、エラーの原因となった状況に応じて異なります。変更されるメッセージは次のとおりです。

  • パラメータとして使用されているオブジェクトが無効です。たとえば、ロールを作成するときに、 name プロパティが設定されていない Role オブジェクトがエラーメッセージ Role Name cannot be blankに含まれているとします。
  • (PostmanまたはcURL)必須のヘッダが見つからないか、ヘッダ名の入力ミスです。たとえば、誤って型指定された api-version ヘッダの結果、エラーメッセージ Missing 'api-version' request header. Please set this header with the a value of a supported API versionが返されます。
  • APIバージョンの値が正しくありません。たとえば、 1 をAPIバージョンとして使用すると、エラーメッセージ Invalid 'api-version' request header. Please make sure this header starts with 'v' followed by a number. E.g. v1が表示されます。
  • Workload Security で許可されない依存ルールを持つルールの割り当てを解除しようとしました。たとえば、ポリシーから 侵入防御 ルールHTTPプロトコルデコードを割り当て解除しようとすると、エラーメッセージ Intrusion Prevention Rule 5341 could not be removed because Rule 8401 depends on Rule 5341が返されます。

PostmanおよびcURLユーザの場合、このエラーは 400 のステータスコードに関連付けられています。

SDKの互換性を確認する

使用しているSDKが Workload Securityと互換性がない場合、または新しいバージョンのSDKを使用して旧バージョンのSDKで開発されたスクリプトを実行すると、エラーが発生する可能性があります。詳細については、 SDK Version Compatibility ガイドを参照してください。