Skip to content
KitploitKITPLOIT
도구익스플로잇블로그
Log in
제출
도구익스플로잇블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
azpim — Azure Privileged Identity Management (PIM) 역할 활성화를 터미널에서 직접 관리할 수 있는 명령줄 인터페이스 도구입니다. | Kitploit
도구/GitHubGitHub/tapanmeena/azpim
Authentication & AuthorizationCloud Infrastructure SecurityScripting & AutomationCloud SecurityUtilities & FrameworksIdentity & Access Management (IAM)
GitHubtapanmeena/azpim

azpim

Azure Privileged Identity Management (PIM) 역할 활성화를 터미널에서 직접 관리할 수 있는 명령줄 인터페이스 도구입니다.

저장소 보기
62567개월 전아직 검토되지 않음

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

Azure PIM CLI (azpim)

명령줄 인터페이스 도구로, 터미널에서 직접 Azure Privileged Identity Management(PIM) 역할 활성화를 관리할 수 있습니다.

Terminal UI TypeScript npm License

기능

  • 🔐 역할 활성화 - 적격 Azure PIM 역할을 신속하게 활성화
  • 🔓 역할 비활성화 - 더 이상 필요하지 않은 활성 역할을 비활성화
  • 📋 대화형 메뉴 - 사용자 친화적인 메뉴 기반 인터페이스
  • ✨ 아름다운 UI - 스피너와 색상이 적용된 정돈된 터미널 경험
  • 🔄 다중 역할 지원 - 한 번에 여러 역할 활성화 또는 비활성화
  • 📊 상태 추적 - 활성화/비활성화 상태에 대한 실시간 피드백
  • 💾 프리셋 - 활성화/비활성화 구성을 저장하고 재사용
  • ⭐ 즐겨찾기 - 구독을 즐겨찾기로 표시하여 빠르게 접근
  • 🗃️ 구독 캐시 - 구독 자동 캐싱(6시간 TTL)으로 시작 시간 단축
  • 🚀 비대화형 모드 - 스크립팅 및 자동화를 위한 CLI 플래그
  • 🔔 업데이트 알림 - 자동 업데이트 확인 및 구성 가능한 동작
  • 📤 JSON 출력 - 다른 도구와 통합하기 위한 기계 판독 가능 출력
  • 👤 사용자별 데이터 격리 - Azure 사용자 ID별로 구성 및 캐시 저장

사전 요구 사항

azpim을 사용하기 전에 다음이 필요합니다:

  1. Node.js (v18 이상)
  2. Azure CLI 설치 및 구성
  3. Azure 계정 PIM 적격 역할 보유

Azure CLI 설정

# Azure CLI 설치 (아직 설치되지 않은 경우)
# 참고: https://docs.microsoft.com/en-us/cli/azure/install-azure-cli

# Azure에 로그인
az login

# 로그인 확인
az account show

설치

전역 설치 (권장)

# npm 사용
npm install -g azpim

# pnpm 사용
pnpm add -g azpim

# yarn 사용
yarn global add azpim

설치 후 azpim 명령어를 전역에서 사용할 수 있습니다.

azp-cli에서 마이그레이션

이전에 azp-cli를 사용했다면, 프리셋은 ~/.config/azp-cli/ (Windows에서는 %APPDATA%\azp-cli\)에 저장됩니다. 마이그레이션하려면:

  1. presets.json을 새 위치(~/.config/azpim/ 또는 Windows %APPDATA%\azpim\)로 복사합니다.
  2. 이전 패키지를 제거합니다: npm uninstall -g azp-cli

소스에서 설치 (개발용)

# 저장소 복제
git clone https://github.com/tapanmeena/azpim.git
cd azpim

# 종속성 설치
pnpm install

# 프로젝트 빌드
pnpm build

# 개발용 전역 링크
npm link

사용법

CLI 실행

# 전역 설치 후
azpim

# 또는 특정 명령어 사용
azpim activate
azpim deactivate
azpim preset list
azpim update

# 개발 모드 (소스에서)
pnpm dev

명령어

명령어별칭설명
activateaAzure PIM에서 역할 활성화 (기본값)
deactivatedAzure PIM에서 역할 비활성화
preset-재사용 가능한 프리셋 관리
favoritesfav즐겨찾기 구독 관리
check-updateupdate, upgrade새 버전 확인
help-도움말 정보 표시

전역 플래그:

  • --debug - 디버그 로깅 활성화
  • --version - 버전 번호 표시

프리셋 하위 명령어

명령어설명
preset list사용 가능한 모든 프리셋 나열
preset show특정 프리셋 세부 정보 표시
preset add새 프리셋 추가 (대화형 마법사)
preset edit기존 프리셋 편집 (대화형 마법사)
preset remove프리셋 제거

즐겨찾기 하위 명령어

명령어설명
favorites list모든 즐겨찾기 구독 나열
favorites add구독을 즐겨찾기에 추가
favorites remove구독을 즐겨찾기에서 제거
favorites clear모든 즐겨찾기 제거
favorites export즐겨찾기를 파일로 내보내기
favorites import즐겨찾기를 파일에서 가져오기
favorites refresh구독 캐시 새로고침

업데이트

새 버전이 있는지 확인할 수 있습니다:

azpim update
# 별칭
azpim upgrade

참고:

  • azpim update는 최신 상태일 때 종료 코드 0, 업데이트 가능 시 2, 오류 시 1을 반환합니다.
  • --check-only - 업그레이드 지침 없이 상태만 확인하고 출력합니다.
  • --output json은 스크립트에 적합한 구조화된 응답을 반환합니다.
  • 기본적으로 azpim activate와 azpim deactivate는 하루에 최대 한 번(텍스트 모드에서만) 짧은 "업데이트 가능" 힌트를 표시합니다.
  • AZPIM_NO_UPDATE_NOTIFIER=1 (또는 AZPIM_DISABLE_UPDATE_CHECK=1)로 업데이트 확인을 비활성화합니다.

업데이트 확인 캐시는 프리셋과 함께 설정 디렉터리에 저장됩니다:

  • macOS/Linux: ~/.config/azpim/update-check.json (또는 $XDG_CONFIG_HOME/azpim/update-check.json)
  • Windows: %APPDATA%\azpim\update-check.json

비대화형 모드 (자동화)

플래그를 사용하여 대화형 메뉴를 거치지 않고 직접 PIM 역할을 활성화/비활성화할 수 있어 스크립팅 및 CI/CD 워크플로에 적합합니다.

활성화 예제

# 이름으로 단일 역할 활성화 (비대화형)
azpim activate --non-interactive --yes \
   --subscription-id <SUBSCRIPTION_GUID> \
   --role-name "Owner" \
   --duration-hours 2 \
   --justification "Break-glass for incident" \
   --output json

# 여러 역할 활성화 (--role-name 반복)
azpim activate --non-interactive --yes \
   --subscription-id <SUBSCRIPTION_GUID> \
   --role-name "Contributor" \
   --role-name "User Access Administrator"

# 역할 이름이 여러 적격 역할(다른 범위)과 일치하는 경우,
# --non-interactive는 모든 일치 항목을 명시적으로 허용하지 않으면 오류 발생
azpim activate --non-interactive --yes \
   --subscription-id <SUBSCRIPTION_GUID> \
   --role-name "Contributor" \
   --allow-multiple

# 요청을 제출하지 않고 시뮬레이션
azpim activate --non-interactive --dry-run \
   --subscription-id <SUBSCRIPTION_GUID> \
   --role-name "Contributor" \
   --output json

비활성화 예제

# 특정 역할 비활성화
azpim deactivate --non-interactive --yes \
   --subscription-id <SUBSCRIPTION_GUID> \
   --role-name "Owner" \
   --justification "Task completed"

# 모든 구독에서 비활성화 (subscription-id 생략)
azpim deactivate --non-interactive --yes \
   --role-name "Contributor" \
   --allow-multiple

사용 가능한 플래그

공통 플래그 (활성화/비활성화):

  • --non-interactive - 대화형 프롬프트 비활성화
  • -y, --yes - 확인 프롬프트 건너뛰기
  • --subscription-id <id> - 대상 구독 (비활성화 시 선택사항)
  • --role-name <name> - 대상 역할 이름 (반복 가능)
  • --allow-multiple - 여러 역할 일치 허용
  • --dry-run - 제출 없이 미리보기
  • --output <text|json> - 출력 형식 (기본값: text)
  • --quiet - 필수가 아닌 출력 억제

활성화 전용:

  • --duration-hours <n> - 기간 (1-8시간, 역할에 따라 기본값 다름)
  • --justification <text> - 활성화 사유

비활성화 전용:

  • --justification <text> - 비활성화 사유 (선택사항)

프리셋

프리셋을 사용하면 일상적인 활성화/비활성화 루틴(구독 + 역할 이름 + 기간 + 사유)을 저장하고 --preset <name>으로 재사용할 수 있습니다.

프리셋 파일 위치

기본적으로 프리셋은 사용자별 설정 파일에 저장됩니다:

  • macOS/Linux: ~/.config/azpim/presets.json (또는 $XDG_CONFIG_HOME/azpim/presets.json)
  • Windows: %APPDATA%\azpim\presets.json

위치를 재정의하려면:

  • AZPIM_PRESETS_PATH=/path/to/presets.json

프리셋 내용

프리셋은 다음 블록 중 하나 또는 둘 다를 정의할 수 있습니다:

  • activate: subscriptionId, roleNames[], durationHours, justification, allowMultiple
  • deactivate: subscriptionId (선택사항), roleNames[], justification, allowMultiple

justification은 간단한 템플릿을 지원합니다:

  • ${date} → YYYY-MM-DD
  • ${datetime} → ISO 타임스탬프
  • ${userPrincipalName} → Microsoft Graph /me에서 확인

일반적인 워크플로

# 프리셋 생성 (대화형 마법사)
azpim preset add daily-ops

# Azure 통합으로 프리셋 생성 (구독/역할 가져오기)
azpim preset add daily-ops --from-azure

# 프리셋 편집 (대화형 마법사)
azpim preset edit daily-ops

# 모든 프리셋 나열
azpim preset list

# 특정 프리셋 세부 정보 표시
azpim preset show daily-ops

# 프리셋 제거
azpim preset remove daily-ops

# 프리셋 사용 (플래그는 프리셋 값보다 우선)
azpim activate --preset daily-ops --yes

# 프리셋을 사용한 비대화형 실행
azpim activate --preset daily-ops --non-interactive --yes --output json

# 프리셋을 사용한 비활성화
azpim deactivate --preset daily-ops --non-interactive --yes

기본값

azpim preset add로 프리셋을 생성할 때, activate 및/또는 deactivate의 기본 프리셋으로 설정할 수 있습니다.

  • 기본 프리셋은 원샷(one-shot) 흐름을 실행할 때 필수 플래그를 명시적으로 제공하지 않은 경우 자동으로 적용됩니다.
  • 예: 기본 활성화 프리셋을 설정하면, azpim activate --non-interactive --yes가 --subscription-id/--role-name 없이도 작동할 수 있습니다.

예시 세션

╔════════════════════════════════════════════════════╗
║     Azure PIM CLI - Role Activation Manager        ║
╚════════════════════════════════════════════════════╝

✔ Authentication successful

┌─ User Information ──────────────────────────────────
│ Name: John Doe
│ Email: [email protected]
└──────────────────────────────────────────────────────

✔ Found 3 subscription(s)

? What would you like to do?
❯ ▶ Activate Role(s)
  ◼ Deactivate Role(s)
  ✕ Exit

역할 활성화 흐름

  1. 사용 가능한 Azure 구독 중 하나 선택
  2. 활성화할 적격 역할을 하나 이상 선택
  3. 활성화 기간 지정 (1-8시간)
  4. 활성화 사유 제공
  5. 확인 및 활성화

역할 비활성화 흐름

  1. 구독 전반의 현재 활성 역할 보기
  2. 비활성화할 역할 선택
  3. 비활성화 확인

즐겨찾기

도구 다운로드