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 が許可しないタスクの実行を試みると、要求が正しく行われません。メッセージは、エラーの原因となった状況に応じて異なります。変更されるメッセージは次のとおりです。
- パラメーターとして使用されるオブジェクトが無効です。例えば、ロールを作成する際に、指定された
Role
オブジェクトにname
プロパティが設定されていないと、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バージョンの値が正しくありません。例えば、APIバージョンとして
1
を使用すると、エラーメッセージInvalid 'api-version' request header. Please make sure this header starts with 'v' followed by a number. E.g. v1
が表示されます。 - 依存ルールがあるルールの割り当て解除を試みましたが、Workload Securityでは許可されていません。例えば、ポリシーからHTTP Protocol Decodingという名前の侵入防御ルールの割り当て解除を試みると、エラーメッセージ
侵入防御ルール5341は、ルール8401がルール5341に依存しているため削除できません
が表示されます。
PostmanおよびcURLユーザの場合、このエラーは
400
ステータスコードに関連しています。SDKの互換性を確認する
使用しているSDKがWorkload Securityと互換性がない場合や、古いバージョンのSDKで開発されたスクリプトを新しいバージョンのSDKで実行する場合にエラーが発生することがあります。詳細については、SDKバージョン互換性ガイドを参照してください。