REST API
組み込みの REST API インターフェースは、RESTful Web サービスを視覚化する方法を提供します。API 資料は Swagger を使用して作成されています。この資料を使用すると API 操作をテストしてすぐに結果を確認できるので、アプリケーションをより迅速にスキャンできます。
始める前に
このタスクについて
以下に例示するアプリケーション・インベントリーのインポート手順に従って、対話式フレームワークの使用方法を学習します。この例では、/api/v4/Apps/ImportFile REST API を使用しています。
手順
-
Swagger のページに移動し、後で参照できるようにブックマークします。
- 北アメリカ地域のデータ・センター・ユーザー: https://cloud.appscan.com/swagger/index.html
- 西ヨーロッパ地域のデータ・センター・ユーザー: https://eu.cloud.appscan.com/swagger/index.html注: 以前のバージョン (v2) にアクセスするには、「定義の選択」ドロップダウン・メニューから「API v2」を選択します。
-
HCL ID を使用して Swagger にログインします。
-
資産グループを、次の手順で作成します。
-
アプリケーション・インベントリー・ファイルを、次の手順でインポートします。
例
- API: api/v4/Account/ApiKeyLogin を使用して Swagger にログインしていることを確認してください。
- API: api/v4/FileUpload を使用してスキャン・ファイルをアップロードし、後で「ファイル ID」を保存します。例えば、次のようになります。
"FileId": "274bd3a7-a231-41d0-80f6-d22d684af50d" - 「スキャン」 API を展開し、「POST /api/v4/Scans/Dast」をクリックします。スキャンを実行することなく、レポートだけ生成するには、次のパラメーターを更新します。
- ScanOrTemplateFileId:: 手順 2 でコピーした 「ファイル ID」 を更新します。
"ScanOrTemplateFileId": "274bd3a7-a231-41d0-80f6-d22d684af50d" - TestOperation: これは次のようにセットします。 ReportOnly
"TestOperation": "ReportOnly"
注: API POST/api/v4/SCANS/DAST を実行するため、AppID、ScanName とその他の必須パラメーターがマップされていることを確認してください。 - ScanOrTemplateFileId:: 手順 2 でコピーした 「ファイル ID」 を更新します。
直接 API キーを使用して認証します
API キー ID とシークレットをカスタム HTTP ヘッダーに送信して、API リクエストを認証します。Direct API Key メソッドは、キーをセッショントークンに交換する手順を省きます。これにより、トークンのライフサイクルや有効期限を管理する必要がなくなるため、自動化スクリプトと CI/CD 統合が簡素化されます。主な利点は次のとおりです。
- シンプルな自動化:「ログイン」、「トークンを取得」、または「トークンを更新」のロジックを記述する必要はありません。
- ステートレス様のエクスペリエンス: すべての要求でキーを送信します。システムはバックグラウンドでセッションを管理します。
- 複雑さの軽減:セッション状態の維持が困難な単純なスクリプトや、1 回限りのタスク、統合に最適です。
技術仕様:
この機能を使用するには、HTTP 要求に次のヘッダーを含めます。
- ヘッダー名:
X-Api-Key - ヘッダー値の形式: この値は、キー ID とキーシークレットをコロン (:) で区切って指定する必要があります。
KeyID:KeySecret - 例: 資格情報が次の場合:
Key ID: b0977ee5-c9df-0c8a-5909-184c690cbfa5Key Secret: UnKUn7HupAX9MFviJqYHRy6w7Fk50anSlheQJxQhTiuxヘッダーは以下の形式でなければなりません。X-Api-Key: b0977ee5-c9df-0c8a-5909-184c690cbfa5:UnKUn7HupAX9MFviJqYHRy6w7Fk50anSlheQJxQhTiux
- cURL
curl -X GET "https://cloud.appscan.com/api/v4/Scans" \ -H "Accept: application/json" \ -H "X-Api-Key: <Your_Key_ID>:<Your_Key_Secret>"
- Python (リクエストライブラリー)
import requests url = "https://cloud.appscan.com/api/v4/Scans" key_id = "your_key_id" key_secret = "your_key_secret" # Construct the header value header_value = f"{key_id}:{key_secret}" headers = { "Accept": "application/json", "X-Api-Key": header_value } response = requests.get(url, headers=headers) if response.status_code == 200: print("Success:", response.json()) else: print("Error:", response.status_code, response.text)
-
有効期限と最新表示: システムでは、パフォーマンスのため、30 分間セッションを維持しますが、追跡する必要はありません。セッションが期限切れになると、キーが再検証され、新しいセッションが自動的に作成されます。
-
失効: AppScan ポータルで API キーを削除すると、アクセスは ただちに取り消されます。そのキーを使用するアクティブなセッションはすべて終了し、後続の要求は 401 エラーを返します。
-
許可: このメソッドで認証されたリクエストは、API キーを所有するユーザーアカウントと同じ権限を継承します。
-
401 エラー: キー ID とシークレットが正しいこと、およびキーが取り消されたり削除されていないことを確認します。
-
フォーマットエラー: キー ID、コロン、およびキーシークレットの間にスペースがないことを確認します (ID:Secret、Not ID: Secret など)。



