
Una herramienta de interfaz de línea de comandos para gestionar las activaciones de roles de Azure Privileged Identity Management (PIM) directamente desde tu terminal.
Una herramienta de línea de comandos para gestionar activaciones de roles de Azure Privileged Identity Management (PIM) directamente desde tu terminal.
Antes de usar azpim, asegúrate de tener:
# Instalar Azure CLI (si no está instalado)
# Ver: https://docs.microsoft.com/es-es/cli/azure/install-azure-cli
# Iniciar sesión en Azure
az login
# Verificar que has iniciado sesión
az account show
# Usando npm
npm install -g azpim
# Usando pnpm
pnpm add -g azpim
# Usando yarn
yarn global add azpim
Después de la instalación, el comando azpim estará disponible globalmente.
Si usabas azp-cli anteriormente, tus presets se almacenan en ~/.config/azp-cli/ (o %APPDATA%\azp-cli\ en Windows). Para migrar:
presets.json a la nueva ubicación: ~/.config/azpim/ (o %APPDATA%\azpim\)npm uninstall -g azp-cli# Clonar el repositorio
git clone https://github.com/tapanmeena/azpim.git
cd azpim
# Instalar dependencias
pnpm install
# Construir el proyecto
pnpm build
# Enlazar globalmente para desarrollo
npm link
# Después de la instalación global
azpim
# O con comandos específicos
azpim activate
azpim deactivate
azpim preset list
azpim update
# Modo de desarrollo (desde el código fuente)
pnpm dev
| Comando | Alias | Descripción |
|---|---|---|
activate | a | Activar un rol en Azure PIM (predeterminado) |
deactivate | d | Desactivar un rol en Azure PIM |
preset | - | Gestionar presets reutilizables |
favorites | fav | Gestionar suscripciones favoritas |
check-update | update, upgrade | Verificar si hay una versión más reciente |
help | - | Mostrar información de ayuda |
Flags globales:
--debug - Habilitar registro de depuración--version - Mostrar número de versión| Comando | Descripción |
|---|---|
preset list | Listar todos los presets disponibles |
preset show | Mostrar detalles de un preset específico |
preset add | Añadir un nuevo preset (asistente interactivo) |
preset edit | Editar un preset existente (asistente interactivo) |
preset remove | Eliminar un preset |
| Comando | Descripción |
|---|---|
favorites list | Listar todas las suscripciones favoritas |
favorites add | Añadir una suscripción a favoritos |
favorites remove | Eliminar una suscripción de favoritos |
favorites clear | Borrar todos los favoritos |
favorites export | Exportar favoritos a un archivo |
favorites import | Importar favoritos desde un archivo |
favorites refresh | Refrescar la caché de suscripciones |
Puedes verificar si hay una versión más reciente disponible:
azpim update
# alias
azpim upgrade
Notas:
azpim update termina con código 0 si está actualizado, 2 si hay una actualización disponible y 1 en caso de error.--check-only - Solo verificar y mostrar el estado sin mostrar instrucciones de actualización.--output json devuelve una respuesta estructurada adecuada para scripts.azpim activate y azpim deactivate también mostrarán un breve aviso de "actualización disponible" (solo modo texto) como máximo una vez al día.AZPIM_NO_UPDATE_NOTIFIER=1 (o AZPIM_DISABLE_UPDATE_CHECK=1).La caché de comprobación de actualizaciones se almacena junto con los presets en tu directorio de configuración:
~/.config/azpim/update-check.json (o $XDG_CONFIG_HOME/azpim/update-check.json)%APPDATA%\azpim\update-check.jsonUsa flags para activar o desactivar roles de PIM directamente sin pasar por el menú interactivo, perfecto para scripting y flujos de trabajo CI/CD.
# Activar un solo rol por nombre (no interactivo)
azpim activate --non-interactive --yes \
--subscription-id <SUBSCRIPTION_GUID> \
--role-name "Owner" \
--duration-hours 2 \
--justification "Break-glass por incidente" \
--output json
# Activar múltiples roles (repetir --role-name)
azpim activate --non-interactive --yes \
--subscription-id <SUBSCRIPTION_GUID> \
--role-name "Contributor" \
--role-name "User Access Administrator"
# Si un nombre de rol coincide con varios roles elegibles (diferentes ámbitos),
# --non-interactive dará error a menos que permitas explícitamente activar todas las coincidencias
azpim activate --non-interactive --yes \
--subscription-id <SUBSCRIPTION_GUID> \
--role-name "Contributor" \
--allow-multiple
# Vista previa de lo que sucedería sin enviar solicitudes
azpim activate --non-interactive --dry-run \
--subscription-id <SUBSCRIPTION_GUID> \
--role-name "Contributor" \
--output json
# Desactivar roles específicos
azpim deactivate --non-interactive --yes \
--subscription-id <SUBSCRIPTION_GUID> \
--role-name "Owner" \
--justification "Tarea completada"
# Desactivar en todas las suscripciones (omitir subscription-id)
azpim deactivate --non-interactive --yes \
--role-name "Contributor" \
--allow-multiple
Flags comunes (activate/deactivate):