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
{
"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
$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
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
$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
{
"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.