giip

Azure 리소스 그룹 관리 API 레퍼런스

프로젝트(CSN)와 Azure 리소스 그룹(RG)의 매핑을 조회·등록/수정·삭제하는 API 상세 명세입니다. 화면 기능 Azure 리소스 그룹 관리가 사용하는 것과 동일한 API입니다.

🔌 Azure 리소스 그룹 관리 페이지로 이동 →

📋 개요

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. 매핑 목록 조회 — AzureRgListpApiAzureRgListbyAK

현재 사용자가 접근 가능한 CSN의 RG 매핑 목록을 조회합니다.

  • text: AzureRgList csn
  • jsondata: { "csn": <CSN> } (생략 시 유저 소속 전체 CSN)
  • 반환: carSn, cSn, carResourceGroup, carSubscriptionId, carSubscriptionName, carLSsn, carNote, carStatus, carRegdt (행 목록), 권한 없으면 Proc_MSG='403|...'

2. 매핑 등록/수정 — AzureRgPutpApiAzureRgPutbyAK

새 매핑을 등록하거나 기존 매핑을 수정합니다(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_MSG 200|OK / 400|... / 403|... / 404|Not found

3. 매핑 삭제 — AzureRgDelpApiAzureRgDelbyAK

carSn 으로 매핑 한 건을 삭제합니다.

  • text: AzureRgDel carSn
  • jsondata: { "carSn": <carSn> }
  • 반환: Proc_MSG 200|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 소속이 아님
AzureRgPut400을 반환필수값(csn/carResourceGroup) 누락csncarResourceGroup을 반드시 포함합니다
의도치 않게 기존 매핑이 갱신됨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.ko.md


관련 문서: