プロジェクトおよびユーザー管理 API リファレンス
GIIPプラットフォーム内のプロジェクト情報を照会し、ユーザー権限をプログラムから管理する API を案内します。
📋 概要
この API モジュールは、GIIPシステムの論理的な管理単位である プロジェクト(Project) と、該当するプロジェクトにアクセス可能な ユーザー(User) 情報を制御する機能を提供します。
🔐 認証およびヘッダー
すべてのリクエストは、共通の認証ヘッダーを含める必要があります。
- Header:
x-giip-ak: [Your Access Key] - Header:
x-giip-sk: [Your Secret Key]
🚀 主要な API エンドポイント
1. プロジェクト一覧照会 (Get Project List)
- URL:
POST /api/project/list - 説明: 現在のアカウント(CSN)からアクセス可能なすべてのプロジェクト一覧を返します。
- Request Body:
{
"searchKeyword": ""
}
2. プロジェクト詳細照会 (Get Project Detail)
- URL:
POST /api/project/detail - 説明: 特定のプロジェクトの詳細設定および割り当てられた資産の数を照会します。
- Request Body:
{
"projectIsn": 123
}
3. プロジェクトユーザー一覧照会 (Get Project Users)
- URL:
POST /api/project/users - 説明: 特定のプロジェクトに割り当てられたユーザーリストとそれぞれの権限レベルを照会します。
- Request Body:
{
"projectIsn": 123
}
🔍 レスポンスデータの例
{
"RstVal": 0,
"RstMsg": "Success",
"Data": [
{
"projectIsn": 123,
"projectName": "Mobile App Backend",
"userCount": 5,
"serverCount": 12,
"dbCount": 2
}
]
}
💡 活用事例
- CI/CD パイプライン: デプロイ前にターゲットプロジェクトのサーバー一覧を API で受け取り、並列パッケージ更新をトリガーします.
- 権限監査: 定期的にプロジェクトごとのユーザー権限一覧を抽出し、セキュリティレポートを作成します。
4. プロジェクトユーザー管理(giipapiコマンド)
プロジェクト(CSN)のメンバーを照会・招待・権限変更・削除する実際の giipapi の text/jsondata コマンドです(giipapi_rules.md 参照)。Web UI は ユーザー一覧ガイド を参照してください。
プロジェクトユーザー一覧照会(UserList)
- コマンド:
text=UserList csn - jsondata:
{"csn": 44} - 説明: 呼び出し元が所属するプロジェクト(csn)のメンバー一覧を返します。呼び出し元が当該プロジェクトのメンバーでない場合、エラーなしで空の一覧(0件)を返します。
- 返却カラム:
usn, uloginid, uname, uemail, uregdt, isPay, uPerCorp(権限: 1=Member, 49=Owner)
ユーザー招待/マッピング(PrjUserMap)
- コマンド:
text=PrjUserMap csn uloginid - jsondata:
{"csn": 44, "uloginid": "user@example.com"} - 説明: 既存の GIIP アカウント(
uloginid=ログインID、通常はメール)をプロジェクトメンバーとしてマッピングします。新規メンバーの権限は常に1(Member)から始まります。 - ⚠️ 注意:
uloginidに該当する GIIP アカウントがまだ存在しない場合、マッピングは失敗します(retcode 304)。userlist ページの「招待」ボタンはこの API 呼び出しと招待メール送信を同時に行いますが、この API の失敗は画面に表示せず処理を続行します — 対象者が未加入の場合はメールのみ送信され、実際のメンバーマッピングは対象者が加入した後、再度この API を呼び出すことで完了します。 - 戻り値:
retcode—200(成功),201(未認証),301(呼び出し元が当該csnのメンバーでない),304(対象アカウントなし),305(既にメンバー)
ユーザー権限変更(PrjUserPer)
- コマンド:
text=PrjUserPer csn uloginid uper - jsondata:
{"csn": 44, "uloginid": "user@example.com", "uper": 49} - 説明: メンバーの権限を Member(1)↔ Owner(49)に変更します。呼び出し元は当該プロジェクトの Owner(49)である必要があり、自分自身の権限はこの API では変更できません。
- uper 許可値:
1(Member)または49(Owner)のみ許可され、それ以外の値は拒否されます。 - 戻り値:
RstVal/RstMsg—200(成功),401(未認証),403(権限不足/Ownerでない/対象が自分自身/許可されないuper値),404(対象なしまたは非メンバー)
ユーザー削除(PrjUserDel)
- コマンド:
text=PrjUserDel csn uloginid - jsondata:
{"csn": 44, "uloginid": "user@example.com"} - 説明: プロジェクトメンバーシップを削除します。削除直後、該当ユーザーはプロジェクトの全アセットへのアクセス権を失います。
- 戻り値:
RstVal/RstMsg—200(成功),201(未認証),301(呼び出し元が当該csnのメンバーでない),304(対象がプロジェクトメンバーでない)
🛡️ Sk3(高性能ロギング)の活用
新規プロジェクトの登録やサービスグループの修正など、インフラ全般の構造に影響を与える管理作業において、作業の整合性確保と詳細な監査ログ(Audit Log)のために giipApiSk3 エンドポイントを推奨します。
- エンドポイント:
https://giipfaw.azurewebsites.net/api/giipApiSk3 - 利点: プロジェクト作成失敗時に呼び出し元の詳細な環境情報(IP, UA)と StackTrace を即座に記録し、設定エラーや権限の問題を迅速に分析できます。
- 活用チップ:
textコマンドとjsondataのパラメータ置换機能を活用して、複雑なサービスグループの説明や英語以外の名称などを損失なく安全に管理してください。
🔧 トラブルシューティング
| 症状 | 原因 | 解決方法 |
|---|---|---|
| リクエストが認証エラーで拒否される | 共通認証ヘッダー(x-giip-ak/x-giip-sk)が欠落している | すべてのリクエストに両方の認証ヘッダーが含まれているか確認します |
PrjPut の呼び出しが失敗する、またはプロジェクトが作成されない | text コマンドのシグネチャ(PrjPut <cCode>, '<cName>')が正しくない | Unique な cCode と引用符で囲んだ cName を正確な形式で指定して再度呼び出します |
PrjDel のレスポンスの RstVal が0以外になる | 誤った CSN を指定したか、削除権限が不足している | 正しい CSN を確認し、プロジェクト削除に必要な管理者権限があるか確認します |
PrjGrpPut の日本語/特殊文字の名称が文字化けする | text 文字列内の特殊文字がエスケープされていない | giipApiSk3 の jsondata パラメータ置換機能を使い、名称を損失なく送信します |
PrjUserMap 呼び出し後もユーザー一覧に表示されない | 対象 uloginid の GIIP アカウントがまだ存在せずマッピングが失敗した(招待メールのみ送信済み) | 対象者が先に GIIP に登録した後、再度 PrjUserMap を呼び出します |
PrjUserPer 呼び出しが 403 で拒否される | 呼び出し元が当該プロジェクトの Owner(49)でない、または対象が自分自身になっている | Owner アカウントで呼び出し、対象は自分以外のメンバーを指定します |
バージョン: 1.2
最終更新日: 2026-07-26
ソースファイル: giipv3/public/help/api-project-user.ja.md
関連ドキュメント: