Azure リソースグループ管理 API リファレンス
プロジェクト(CSN)と Azure リソースグループ(RG)の紐付けを照会・登録/修正・削除する API の詳細仕様です。画面機能 Azure リソースグループ管理 が使用するものと同じ API です。
📋 概要
CSN↔Azure RG 紐付け API は giipApi エンドポイントで text コマンドとしてディスパッチされます。認証は AK(byAK) で行われ、サーバーが @ak → dbo.lwGetUSNbyat(@ak) でユーザーを特定した後、対象 CSN への所属(tCorpUserRel/tCorpUser)を検証します。非所属の場合は 403 を返します。
- エンドポイント:
POST https://giipfaw.azurewebsites.net/api/giipApi - Content-Type:
application/x-www-form-urlencoded - 主なフォームフィールド:
text(コマンドとパラメータ名の列挙)、jsondata(パラメータ値の JSON)、認証キー - バインディング規約:
textのパラメータ名の並び順 = SP パラメータ順(positional)、値はjsondataのキーで対応します。
🔍 主なコマンド
1. 紐付け一覧の照会 — AzureRgList → pApiAzureRgListbyAK
現在のユーザーがアクセス可能な CSN の RG 紐付け一覧を照会します。
- text:
AzureRgList csn - jsondata:
{ "csn": <CSN> }(省略時はユーザー所属の全 CSN) - 戻り値:
carSn, cSn, carResourceGroup, carSubscriptionId, carSubscriptionName, carLSsn, carNote, carStatus, carRegdtの行一覧、権限が無ければProc_MSG='403|...'
2. 紐付けの登録/修正 — AzureRgPut → pApiAzureRgPutbyAK
新規登録または既存の修正を行います(upsert)。
- text:
AzureRgPut csn carResourceGroup carSubscriptionId carSubscriptionName carLSsn carNote carSn - jsondata:
{ "csn":<CSN>, "carResourceGroup":"rg-...", "carSubscriptionId":"...", "carSubscriptionName":"...", "carLSsn":<lssn|null>, "carNote":"...", "carSn":<修正時に指定> } - 規則:
carSn指定時は update、未指定時は(cSn, carResourceGroup)ユニークで upsert - 戻り値:
Proc_MSG200|OK/400|.../403|.../404|Not found
3. 紐付けの削除 — AzureRgDel → pApiAzureRgDelbyAK
carSn で紐付けを 1 件削除します。
- text:
AzureRgDel carSn - jsondata:
{ "carSn": <carSn> } - 戻り値:
Proc_MSG200|OK/403|.../404|Not found
🛠️ 利用例 (cURL)
# 1) CSN 47 の RG 紐付け一覧を照会
curl -X POST "https://giipfaw.azurewebsites.net/api/giipApi" \
-H "Content-Type: application/x-www-form-urlencoded" \
--data-urlencode 'text=AzureRgList csn' \
--data-urlencode 'jsondata={"csn":47}' \
--data-urlencode 'ak=YOUR_AK'
# 2) RG 紐付けの新規登録
curl -X POST "https://giipfaw.azurewebsites.net/api/giipApi" \
-H "Content-Type: application/x-www-form-urlencoded" \
--data-urlencode 'text=AzureRgPut csn carResourceGroup carSubscriptionId carSubscriptionName carLSsn carNote carSn' \
--data-urlencode 'jsondata={"csn":47,"carResourceGroup":"rg-example-prod","carSubscriptionName":"prod-sub","carNote":"本番 RG"}' \
--data-urlencode 'ak=YOUR_AK'
💡 注意事項
- run.ps1 無変更の原則: 上記 API は SP 3 種(
pApiAzureRgListbyAK/pApiAzureRgPutbyAK/pApiAzureRgDelbyAK)の追加のみで動作します。聖域であるrun.ps1は変更しません。 - 同じ CSN 内で RG 名はユニーク(
UNIQUE(cSn, carResourceGroup))です。同名でcarSn無しのAzureRgPutは既存行を更新します。 carLSsnはコストソースのヒントで、Azure コスト連携の拡張に使用します(本バージョンは紐付けベースのフィルター/小計まで提供)。
トラブルシューティング
| 症状 | 原因 | 対処 |
|---|---|---|
| `Proc_MSG='403 | ...'` が返る | 呼び出しユーザーが対象 CSN に未所属 |
AzureRgPut が 400 を返す | 必須値(csn/carResourceGroup)の欠落 | csn と carResourceGroup を必ず含めます |
| 意図せず既存の紐付けが更新される | carSn 無しで同じ (csn, RG) を再登録 | 新規は新しい RG 名で、修正は carSn を明示します |
jsondata のパースエラー | JSON のクォートエスケープ誤り | jsondata を正しくエスケープした有効な JSON で送信します |
RstVal/Proc_MSG が 200 でない | パラメータ/権限の問題 | API 結果コードガイドで原因コードを確認します |
バージョン: 1.0
最終更新: 2026-07-24
ソース: giipv3/public/help/api-azure-rg.ja.md
関連ドキュメント: