このページのトピック
タイトル: トラブルシューティング 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 ガイドを参照してください。