Skip to content
Learni
Voir tous les tutoriels
Sécurité & IAM

Comment automatiser CyberArk avec API en 2026

18 minADVANCED
Read in English

Introduction

CyberArk est la solution leader en gestion des accès privilégiés (PAM). En 2026, l'automatisation via son API REST permet de réduire les risques et d'accélérer les déploiements. Ce tutoriel vous guide à travers la configuration avancée, l'authentification OAuth et l'orchestration de comptes. Vous apprendrez à créer des scripts fiables pour la rotation des mots de passe et la gestion des politiques. Chaque étape inclut des exemples concrets et fonctionnels adaptés aux environnements d'entreprise.

Prérequis

  • Compte CyberArk avec droits admin et API activée
  • PowerShell 7+ et Python 3.11+
  • Connaissances avancées en OAuth2 et REST
  • Accès au Vault et au PVWA
  • Outils : Postman ou curl pour tests initiaux

Configuration OAuth2

oauth-config.json
{
  "client_id": "your-client-id",
  "client_secret": "your-client-secret",
  "grant_type": "client_credentials",
  "scope": "privilegeaccess"
}

Ce fichier JSON définit les credentials OAuth2 nécessaires pour authentifier les appels API. Stockez-le de manière sécurisée et ne le versionnez jamais.

Authentification PowerShell

Connect-CyberArk.ps1
$body = Get-Content -Raw -Path '.\oauth-config.json' | ConvertFrom-Json
$tokenResponse = Invoke-RestMethod -Uri 'https://your-pvwa.com/PasswordVault/API/auth/OAuth2/Token' -Method Post -Body $body -ContentType 'application/json'
$headers = @{ 'Authorization' = "Bearer $($tokenResponse.access_token)" }

Ce script PowerShell récupère un token d'accès et prépare les headers pour tous les appels suivants. Gérez les erreurs 401 avec un mécanisme de refresh.

Test de connexion

Exécutez le script PowerShell pour valider l'authentification. Vérifiez que le token est bien reçu et que les permissions API sont correctes avant de passer aux opérations de gestion de comptes.

Récupération des comptes

get_accounts.py
import requests
import json

headers = {'Authorization': 'Bearer YOUR_TOKEN'}
response = requests.get('https://your-pvwa.com/PasswordVault/API/Accounts', headers=headers)
print(json.dumps(response.json(), indent=2))

Ce script Python liste tous les comptes gérés dans le Vault. Filtrez par Safe ou plateforme pour des requêtes plus précises en production.

Rotation mot de passe

Rotate-Password.ps1
$accountId = '12345'
$body = @{ reason = 'Rotation planifiée' } | ConvertTo-Json
Invoke-RestMethod -Uri "https://your-pvwa.com/PasswordVault/API/Accounts/$accountId/ChangeCredentials" -Method Post -Headers $headers -Body $body -ContentType 'application/json'

Ce script déclenche la rotation immédiate d'un mot de passe via l'API. Ajoutez une gestion d'erreur et un log pour les audits de conformité.

Configuration politique JSON

policy-config.json
{
  "PolicyName": "Production-Admins",
  "PlatformId": "WinServerLocal",
  "SafeName": "Prod-Admin-Safe",
  "PasswordComplexity": {
    "MinLength": 16,
    "RequireSpecial": true
  }
}

Ce fichier JSON définit une politique de rotation et de complexité. Importez-le via l'API pour appliquer des règles strictes sur plusieurs Safes.

Bonnes pratiques

  • Toujours utiliser OAuth2 avec rotation des secrets
  • Logger chaque appel API avec horodatage et identifiant de requête
  • Implémenter des retries avec backoff exponentiel
  • Isoler les credentials dans un vault dédié
  • Tester les scripts en environnement de staging avant production

Erreurs courantes

  • Oublier le scope 'privilegeaccess' dans la requête OAuth
  • Ne pas gérer les tokens expirés (erreur 401)
  • Utiliser des appels synchrones sans timeout
  • Ignorer les limites de taux (rate limiting) de l'API

Pour aller plus loin

Approfondissez l'orchestration avec les workflows CPM et les intégrations SIEM. Découvrez nos formations CyberArk avancées.

Comment automatiser CyberArk avec API en 2026 | Learni