Azure で使用したい API を確認する方法
はじめに
Azure の各リソースを CLI で操作したい場合に Azure PowerShell や Azure CLI がまずは選択肢になるのですが、一部のリソースはサポートしていないケースがあります。その場合は、直接 API を実行するのですが、ドキュメントから該当の API を探すのがけっこう手間です。
また、ドキュメントを見つけたとしても誤記があるなどでドキュメント通りにやってもパラメータが一致せずエラーとなるケースがあります。
この場合に、調査の一環として使用したい API とそのリクエスト フォーマットを確認する方法を紹介します。
ブラウザの開発者ツールを使う
Azure ポータルは各種リンクやボタンを押したとき、裏側で API をキックしていて、そこから GET した情報もしくは POST/PUT した情報を表示・デプロイしています。そのため、Azure ポータルで該当の操作を行った場合のリクエストをブラウザの開発者ツールで確認すれば、該当の API が確認可能です。
実際にやってみます。サンプルとして Defender for Cloud のカスタム推奨事項でやってみます。
適当に設定をいれて、[作成] ボタンを押すところまでいき F12 ボタンで開発者ツールを開きます。
[ネットワーク] のタブが開いていて、リクエストが記録されていることを確認したら、[作成] ボタンを押します。
すると、以下のようにいくつかリクエストが流れます。
そのうち api-version が付いているリクエストを探し、ペイロードの部分を確認します。折りたたまれた箇所を開いていくと、使用している Method や url、リクエスト パラメータが確認できます。
なお [ソースの表示] をクリックすると、json フォーマットで確認できます。
今回のケースだと Microsoft.Security/customRecommendations になるので、以下の API に該当することが確認できます。
なお、情報取得でも確認可能です。ちょうど調べていた AWS や GCP のコネクタの正常性を確認していきます。こちらのページから [X 件の問題] の箇所をクリックし、開発者ツールでリクエストを確認します。
以下のように GET で Microsoft.Security/healthReports を実行していることが分かります。
該当する API はこちらです。
ちなみに
デプロイ画面が表示されるタイプの操作は API を直接キックしているわけではなく、ARM テンプレートをデプロイしている形になっているので、残念ながら上記では確認できません。
Discussion