<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
    <id>https://dso-conseils.fr/blog</id>
    <title>DSO Conseils Blog</title>
    <updated>2026-08-10T09:30:00.000Z</updated>
    <generator>https://github.com/jpmonette/feed</generator>
    <link rel="alternate" href="https://dso-conseils.fr/blog"/>
    <subtitle>DSO Conseils Blog</subtitle>
    <icon>https://dso-conseils.fr/img/favicon.ico</icon>
    <entry>
        <title type="html"><![CDATA[Migration des scripts: de vRA 8.x vers VCF Automation 9.1]]></title>
        <id>https://dso-conseils.fr/blog/migration-scripts-auth-vra8-vers-vcf-automation-91</id>
        <link href="https://dso-conseils.fr/blog/migration-scripts-auth-vra8-vers-vcf-automation-91"/>
        <updated>2026-08-10T09:30:00.000Z</updated>
        <summary type="html"><![CDATA[Objectif: migrer les scripts vRA 8.x vers VCF Automation 9.1, sans perte de fonctionnalite sur la chaine d'authentification.]]></summary>
        <content type="html"><![CDATA[<p>Objectif: migrer les scripts vRA 8.x vers VCF Automation 9.1, sans perte de fonctionnalite sur la chaine d'authentification.</p>
<p>Le besoin de base reste identique: obtenir un refresh token, puis generer un access token exploitable dans les appels API. En revanche, le mecanisme historique de creation du refresh token en vRA 8.x n'est plus la reference cible en VCF Automation 9.1.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="1-point-de-depart-en-vra-8x">1. Point de depart en vRA 8.x<a href="https://dso-conseils.fr/blog/migration-scripts-auth-vra8-vers-vcf-automation-91#1-point-de-depart-en-vra-8x" class="hash-link" aria-label="Lien direct vers 1. Point de depart en vRA 8.x" title="Lien direct vers 1. Point de depart en vRA 8.x" translate="no">​</a></h2>
<p>Dans les scripts historiques vRA 8.x, le schema etait generalement le suivant:</p>
<ol>
<li class="">creation du refresh token via login utilisateur</li>
<li class="">creation du bearer token via endpoint d'autorisation</li>
<li class="">appels API metier</li>
</ol>
<p>Exemple de creation de refresh token en vRA 8.x:</p>
<div class="language-http codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-http codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">POST {{vra}}/csp/gateway/am/api/login?access_token</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">Content-Type: application/json</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">{</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">  "username": "{{username}}",</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">  "password": "{{password}}"</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">}</span><br></div></code></pre></div></div>
<p>Puis generation du bearer token:</p>
<div class="language-http codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-http codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">POST {{vra}}/csp/gateway/am/api/auth/api-tokens/authorize?refresh_token={{refresh_token}}</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">Accept: application/json</span><br></div></code></pre></div></div>
<p>Ce mecanisme explique la structure de nombreux scripts existants.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="2-ce-qui-change-en-vcf-automation-91">2. Ce qui change en VCF Automation 9.1<a href="https://dso-conseils.fr/blog/migration-scripts-auth-vra8-vers-vcf-automation-91#2-ce-qui-change-en-vcf-automation-91" class="hash-link" aria-label="Lien direct vers 2. Ce qui change en VCF Automation 9.1" title="Lien direct vers 2. Ce qui change en VCF Automation 9.1" translate="no">​</a></h2>
<p>En cible VCF Automation 9.1, la creation initiale du refresh token ne repose plus sur le meme usage login/password des anciens scripts.</p>
<p>Il existe maintenant deux methodes possibles:</p>
<ol>
<li class="">methode API Token utilisateur</li>
<li class="">methode Service Account</li>
</ol>
<p>Les deux methodes permettent ensuite de generer un access token via OAuth.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="3-methode-a-api-token-utilisateur">3. Methode A: API Token utilisateur<a href="https://dso-conseils.fr/blog/migration-scripts-auth-vra8-vers-vcf-automation-91#3-methode-a-api-token-utilisateur" class="hash-link" aria-label="Lien direct vers 3. Methode A: API Token utilisateur" title="Lien direct vers 3. Methode A: API Token utilisateur" translate="no">​</a></h2>
<p>Cette methode est adaptee pour les tests, les validations rapides et les usages personnels.</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="actions-ihm">Actions IHM<a href="https://dso-conseils.fr/blog/migration-scripts-auth-vra8-vers-vcf-automation-91#actions-ihm" class="hash-link" aria-label="Lien direct vers Actions IHM" title="Lien direct vers Actions IHM" translate="no">​</a></h3>
<p>Dans l'organisation cible:</p>
<ol>
<li class="">ouvrir le menu utilisateur</li>
<li class="">ouvrir My Account</li>
<li class="">ouvrir API Tokens</li>
<li class="">cliquer New</li>
<li class="">nommer le token</li>
<li class="">cliquer Create</li>
<li class="">copier immediatement la valeur affichee</li>
</ol>
<p>Le token affiche est a conserver dans le gestionnaire de secrets. Dans ce flux, il est utilise comme refresh token.</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="appel-oauth-pour-obtenir-le-bearer-token">Appel OAuth pour obtenir le bearer token<a href="https://dso-conseils.fr/blog/migration-scripts-auth-vra8-vers-vcf-automation-91#appel-oauth-pour-obtenir-le-bearer-token" class="hash-link" aria-label="Lien direct vers Appel OAuth pour obtenir le bearer token" title="Lien direct vers Appel OAuth pour obtenir le bearer token" translate="no">​</a></h3>
<div class="language-http codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-http codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">POST {{vra}}/tm/oauth/tenant/{{org}}/token</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">Content-Type: application/x-www-form-urlencoded</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">Accept: application/json</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">grant_type=refresh_token&amp;refresh_token={{api_token_utilisateur}}</span><br></div></code></pre></div></div>
<p>Selon l'environnement, l'endpoint fonctionnel peut etre <code>/oauth/tenant/{{org}}/token</code> ou <code>/tm/oauth/tenant/{{org}}/token</code>. La pratique recommandee consiste a standardiser un seul endpoint valide dans les scripts.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="4-methode-b-service-account-cible-recommandee">4. Methode B: Service Account (cible recommandee)<a href="https://dso-conseils.fr/blog/migration-scripts-auth-vra8-vers-vcf-automation-91#4-methode-b-service-account-cible-recommandee" class="hash-link" aria-label="Lien direct vers 4. Methode B: Service Account (cible recommandee)" title="Lien direct vers 4. Methode B: Service Account (cible recommandee)" translate="no">​</a></h2>
<p>Pour une automatisation durable (jobs planifies, pipelines CI/CD, integrations), cette methode constitue la cible prioritaire.</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="41-creation-du-service-account-dans-lihm">4.1 Creation du Service Account dans l'IHM<a href="https://dso-conseils.fr/blog/migration-scripts-auth-vra8-vers-vcf-automation-91#41-creation-du-service-account-dans-lihm" class="hash-link" aria-label="Lien direct vers 4.1 Creation du Service Account dans l'IHM" title="Lien direct vers 4.1 Creation du Service Account dans l'IHM" translate="no">​</a></h3>
<p>Dans l'organisation VCF Automation cible:</p>
<ol>
<li class="">ouvrir Infrastructure</li>
<li class="">ouvrir Access Control</li>
<li class="">ouvrir Service Accounts</li>
<li class="">cliquer New</li>
<li class="">renseigner Name</li>
<li class="">attribuer les Roles necessaires</li>
<li class="">renseigner Client Version</li>
<li class="">renseigner Client URL</li>
<li class="">generer Software ID si demande</li>
<li class="">finaliser la creation</li>
</ol>
<p>Etat attendu apres creation: Created.</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="42-recuperer-la-bonne-valeur-didentite">4.2 Recuperer la bonne valeur d'identite<a href="https://dso-conseils.fr/blog/migration-scripts-auth-vra8-vers-vcf-automation-91#42-recuperer-la-bonne-valeur-didentite" class="hash-link" aria-label="Lien direct vers 4.2 Recuperer la bonne valeur d'identite" title="Lien direct vers 4.2 Recuperer la bonne valeur d'identite" translate="no">​</a></h3>
<p>Dans la ligne du Service Account:</p>
<ol>
<li class="">deplier le detail</li>
<li class="">copier Client ID</li>
</ol>
<p>Point critique: utiliser Client ID pour OAuth, et non Software ID.</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="43-demander-lautorisation-device-authorization">4.3 Demander l'autorisation (device authorization)<a href="https://dso-conseils.fr/blog/migration-scripts-auth-vra8-vers-vcf-automation-91#43-demander-lautorisation-device-authorization" class="hash-link" aria-label="Lien direct vers 4.3 Demander l'autorisation (device authorization)" title="Lien direct vers 4.3 Demander l'autorisation (device authorization)" translate="no">​</a></h3>
<div class="language-http codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-http codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">@vra = https://vcfa.example.com</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">@org = vcfa</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">@client_id = remplacer_par_client_id</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">###</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"># @name DemandeAutorisation</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">POST {{vra}}/oauth/tenant/{{org}}/device_authorization</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">Content-Type: application/x-www-form-urlencoded</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">Accept: application/json</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">client_id={{client_id}}</span><br></div></code></pre></div></div>
<p>La reponse contient notamment <code>device_code</code> et <code>user_code</code>.</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="44-validation-manuelle-dans-lihm">4.4 Validation manuelle dans l'IHM<a href="https://dso-conseils.fr/blog/migration-scripts-auth-vra8-vers-vcf-automation-91#44-validation-manuelle-dans-lihm" class="hash-link" aria-label="Lien direct vers 4.4 Validation manuelle dans l'IHM" title="Lien direct vers 4.4 Validation manuelle dans l'IHM" translate="no">​</a></h3>
<p>Toujours dans:</p>
<ol>
<li class="">Infrastructure</li>
<li class="">Access Control</li>
<li class="">Service Accounts</li>
<li class="">Review Access Requests</li>
</ol>
<p>Puis:</p>
<ol>
<li class="">coller le user_code</li>
<li class="">cliquer Lookup</li>
<li class="">verifier la demande</li>
<li class="">cliquer Grant</li>
</ol>
<p>Etat attendu: Granted.</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="45-echange-initial-pour-obtenir-refresh-token--access-token">4.5 Echange initial pour obtenir refresh token + access token<a href="https://dso-conseils.fr/blog/migration-scripts-auth-vra8-vers-vcf-automation-91#45-echange-initial-pour-obtenir-refresh-token--access-token" class="hash-link" aria-label="Lien direct vers 4.5 Echange initial pour obtenir refresh token + access token" title="Lien direct vers 4.5 Echange initial pour obtenir refresh token + access token" translate="no">​</a></h3>
<div class="language-http codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-http codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">###</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"># @name CreationTokensServiceAccount</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">POST {{vra}}/oauth/tenant/{{org}}/token</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">Content-Type: application/x-www-form-urlencoded</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">Accept: application/json</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">grant_type=urn:ietf:params:oauth:grant-type:device_code&amp;client_id={{client_id}}&amp;device_code={{device_code}}</span><br></div></code></pre></div></div>
<p>Points de controle:</p>
<ol>
<li class="">utiliser device_code (pas user_code)</li>
<li class="">utiliser le meme org</li>
<li class="">utiliser le meme client_id</li>
</ol>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="5-renouvellement-standard-dans-les-scripts-cible-91">5. Renouvellement standard dans les scripts cible 9.1<a href="https://dso-conseils.fr/blog/migration-scripts-auth-vra8-vers-vcf-automation-91#5-renouvellement-standard-dans-les-scripts-cible-91" class="hash-link" aria-label="Lien direct vers 5. Renouvellement standard dans les scripts cible 9.1" title="Lien direct vers 5. Renouvellement standard dans les scripts cible 9.1" translate="no">​</a></h2>
<p>Une fois le refresh token disponible, les scripts doivent utiliser:</p>
<div class="language-http codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-http codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">POST {{vra}}/oauth/tenant/{{org}}/token</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">Content-Type: application/x-www-form-urlencoded</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">Accept: application/json</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">grant_type=refresh_token&amp;refresh_token={{refresh_token}}</span><br></div></code></pre></div></div>
<p>Le champ <code>access_token</code> est le bearer token a envoyer dans les appels API.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="6-rotation-des-refresh-tokens-point-cle">6. Rotation des refresh tokens (point cle)<a href="https://dso-conseils.fr/blog/migration-scripts-auth-vra8-vers-vcf-automation-91#6-rotation-des-refresh-tokens-point-cle" class="hash-link" aria-label="Lien direct vers 6. Rotation des refresh tokens (point cle)" title="Lien direct vers 6. Rotation des refresh tokens (point cle)" translate="no">​</a></h2>
<p>Si la rotation est active, chaque renouvellement du Bearer Token renvoi un nouveau refresh token.</p>
<ol>
<li class="">Tant que vous utilisez l'ancien refresh token, le meme refresh token sera propose dans la reponse.</li>
<li class="">A la premiere utilisation du nouveau refresh token, l'ancien est desactive.</li>
<li class="">Il est donc necessaire de sauvegarder le nouveau refresh token des sa premiere utilisation, et de prevoir cette action avant la fin de vie du refresh token.</li>
</ol>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="7-modifications-concretes-a-appliquer-dans-les-scripts">7. Modifications concretes a appliquer dans les scripts<a href="https://dso-conseils.fr/blog/migration-scripts-auth-vra8-vers-vcf-automation-91#7-modifications-concretes-a-appliquer-dans-les-scripts" class="hash-link" aria-label="Lien direct vers 7. Modifications concretes a appliquer dans les scripts" title="Lien direct vers 7. Modifications concretes a appliquer dans les scripts" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="71-endpoints">7.1 Endpoints<a href="https://dso-conseils.fr/blog/migration-scripts-auth-vra8-vers-vcf-automation-91#71-endpoints" class="hash-link" aria-label="Lien direct vers 7.1 Endpoints" title="Lien direct vers 7.1 Endpoints" translate="no">​</a></h3>
<p>Remplacer les appels historiques:</p>
<ol>
<li class=""><code>/csp/gateway/am/api/login?access_token</code></li>
<li class=""><code>/csp/gateway/am/api/auth/api-tokens/authorize</code></li>
</ol>
<p>Par les endpoints OAuth 9.1:</p>
<ol>
<li class=""><code>/oauth/tenant/{org}/device_authorization</code></li>
<li class=""><code>/oauth/tenant/{org}/token</code></li>
</ol>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="72-format-des-requetes">7.2 Format des requetes<a href="https://dso-conseils.fr/blog/migration-scripts-auth-vra8-vers-vcf-automation-91#72-format-des-requetes" class="hash-link" aria-label="Lien direct vers 7.2 Format des requetes" title="Lien direct vers 7.2 Format des requetes" translate="no">​</a></h3>
<p>Pour OAuth:</p>
<ol>
<li class="">utiliser <code>Content-Type: application/x-www-form-urlencoded</code></li>
<li class="">ne pas envoyer ces appels en JSON</li>
</ol>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="73-variables-de-configuration">7.3 Variables de configuration<a href="https://dso-conseils.fr/blog/migration-scripts-auth-vra8-vers-vcf-automation-91#73-variables-de-configuration" class="hash-link" aria-label="Lien direct vers 7.3 Variables de configuration" title="Lien direct vers 7.3 Variables de configuration" translate="no">​</a></h3>
<p>A introduire ou normaliser dans les scripts:</p>
<ol>
<li class="">vra_base_url</li>
<li class="">org</li>
<li class="">client_id (si Service Account)</li>
<li class="">refresh_token courant</li>
</ol>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="74-securite-et-observabilite">7.4 Securite et observabilite<a href="https://dso-conseils.fr/blog/migration-scripts-auth-vra8-vers-vcf-automation-91#74-securite-et-observabilite" class="hash-link" aria-label="Lien direct vers 7.4 Securite et observabilite" title="Lien direct vers 7.4 Securite et observabilite" translate="no">​</a></h3>
<ol>
<li class="">ne jamais journaliser access_token ou refresh_token en clair</li>
<li class="">eviter les renouvellements concurrents avec la meme valeur</li>
<li class="">ajouter des controles explicites sur le code HTTP et la presence des champs token</li>
</ol>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="8-exemple-rest-client-complet-base-cible">8. Exemple REST Client complet (base cible)<a href="https://dso-conseils.fr/blog/migration-scripts-auth-vra8-vers-vcf-automation-91#8-exemple-rest-client-complet-base-cible" class="hash-link" aria-label="Lien direct vers 8. Exemple REST Client complet (base cible)" title="Lien direct vers 8. Exemple REST Client complet (base cible)" translate="no">​</a></h2>
<div class="language-http codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-http codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">@vra = https://vcfa.example.com</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">@org = vcfa</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">@client_id = remplacer_par_client_id</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">@device_code = remplacer_par_device_code</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">@refresh_token = remplacer_par_refresh_token</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">###</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"># Etape 1 - Demande d'autorisation Service Account</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">POST {{vra}}/oauth/tenant/{{org}}/device_authorization</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">Content-Type: application/x-www-form-urlencoded</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">Accept: application/json</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">client_id={{client_id}}</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">###</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"># Etape manuelle IHM</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"># Infrastructure &gt; Access Control &gt; Service Accounts</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"># Review Access Requests &gt; user_code &gt; Lookup &gt; Grant</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">###</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"># Etape 2 - Echange initial</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">POST {{vra}}/oauth/tenant/{{org}}/token</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">Content-Type: application/x-www-form-urlencoded</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">Accept: application/json</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">grant_type=urn:ietf:params:oauth:grant-type:device_code&amp;client_id={{client_id}}&amp;device_code={{device_code}}</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">###</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"># Etape 3 - Renouvellement standard</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">POST {{vra}}/oauth/tenant/{{org}}/token</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">Content-Type: application/x-www-form-urlencoded</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">Accept: application/json</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">grant_type=refresh_token&amp;refresh_token={{refresh_token}}</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">&gt; {%</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">  client.global.set("access_token", response.body.access_token);</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">  client.global.set("refresh_token", response.body.refresh_token);</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">%}</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">###</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"># Etape 4 - Appel API metier</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">GET {{vra}}/iaas/api/projects</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">Authorization: Bearer {{access_token}}</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">Accept: application/json</span><br></div></code></pre></div></div>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="9-conclusion">9. Conclusion<a href="https://dso-conseils.fr/blog/migration-scripts-auth-vra8-vers-vcf-automation-91#9-conclusion" class="hash-link" aria-label="Lien direct vers 9. Conclusion" title="Lien direct vers 9. Conclusion" translate="no">​</a></h2>
<p>La migration vRA 8.x vers VCF Automation 9.1 doit remplacer le flux historique de creation du refresh token par un flux OAuth cible, en choisissant explicitement l'une des deux methodes:</p>
<ol>
<li class="">API Token utilisateur pour les usages simples et de test</li>
<li class="">Service Account pour les automatisations durables</li>
</ol>
<p>La stabilite de la cible repose sur trois exigences:</p>
<ol>
<li class="">endpoints OAuth corrects</li>
<li class="">format <code>application/x-www-form-urlencoded</code> respecte</li>
<li class="">gestion rigoureuse de la rotation des refresh tokens</li>
</ol>]]></content>
        <author>
            <name>DSO Conseils</name>
        </author>
        <category label="vmware" term="vmware"/>
        <category label="vra" term="vra"/>
        <category label="vcf-automation" term="vcf-automation"/>
        <category label="oauth" term="oauth"/>
        <category label="service-account" term="service-account"/>
        <category label="api" term="api"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[vRA 8.x - Menu]]></title>
        <id>https://dso-conseils.fr/blog/vra-recapitulatif-complet</id>
        <link href="https://dso-conseils.fr/blog/vra-recapitulatif-complet"/>
        <updated>2026-06-18T12:05:00.000Z</updated>
        <summary type="html"><![CDATA[Cette page sert de menu d'entree pour naviguer entre les sections vRA 8.x et vRO 8.x.]]></summary>
        <content type="html"><![CDATA[<p>Cette page sert de menu d'entree pour naviguer entre les sections vRA 8.x et vRO 8.x.</p>
<p>Navigation:</p>
<ul>
<li class="">Partie 1: <a class="" href="https://dso-conseils.fr/blog/vra-menus-console-cloud-assembly">vRA 8.x - Partie 1 - Console et Cloud Assembly</a></li>
<li class="">Partie 2: <a class="" href="https://dso-conseils.fr/blog/vra-service-broker-code-stream-administration">vRA 8.x - Partie 2 - Service Broker, Code Stream, Admin</a></li>
<li class="">Partie 3: <a class="" href="https://dso-conseils.fr/blog/vro-menus-services-elements">vRO 8.x - Menus et elements</a></li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="vue-densemble-vra-8x">Vue d'ensemble vRA 8.x<a href="https://dso-conseils.fr/blog/vra-recapitulatif-complet#vue-densemble-vra-8x" class="hash-link" aria-label="Lien direct vers Vue d'ensemble vRA 8.x" title="Lien direct vers Vue d'ensemble vRA 8.x" translate="no">​</a></h2>
<ul>
<li class="">Console principale (menus racine)</li>
<li class="">Cloud Assembly</li>
<li class="">Service Broker</li>
<li class="">Code Stream</li>
<li class="">Administration</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="raccourcis-vers-les-sections-detaillees">Raccourcis vers les sections detaillees<a href="https://dso-conseils.fr/blog/vra-recapitulatif-complet#raccourcis-vers-les-sections-detaillees" class="hash-link" aria-label="Lien direct vers Raccourcis vers les sections detaillees" title="Lien direct vers Raccourcis vers les sections detaillees" translate="no">​</a></h2>
<ul>
<li class=""><a class="" href="https://dso-conseils.fr/blog/vra-menus-console-cloud-assembly">Partie 1 - Console et Cloud Assembly</a></li>
<li class=""><a class="" href="https://dso-conseils.fr/blog/vra-service-broker-code-stream-administration">Partie 2 - Service Broker, Code Stream, Admin</a></li>
<li class=""><a class="" href="https://dso-conseils.fr/blog/vro-menus-services-elements">Partie 3 - vRO 8.x - Menus et elements</a></li>
</ul>
<hr>
<p>Navigation:</p>
<ul>
<li class="">Partie 1: <a class="" href="https://dso-conseils.fr/blog/vra-menus-console-cloud-assembly">vRA 8.x - Partie 1 - Console et Cloud Assembly</a></li>
<li class="">Partie 2: <a class="" href="https://dso-conseils.fr/blog/vra-service-broker-code-stream-administration">vRA 8.x - Partie 2 - Service Broker, Code Stream, Admin</a></li>
<li class="">Partie 3: <a class="" href="https://dso-conseils.fr/blog/vro-menus-services-elements">vRO 8.x - Menus et elements</a></li>
</ul>]]></content>
        <author>
            <name>DSO Conseils</name>
        </author>
        <category label="vmware" term="vmware"/>
        <category label="vra" term="vra"/>
        <category label="recapitulatif" term="recapitulatif"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[vRA 8.x - Partie 1 - Console et Cloud Assembly]]></title>
        <id>https://dso-conseils.fr/blog/vra-menus-console-cloud-assembly</id>
        <link href="https://dso-conseils.fr/blog/vra-menus-console-cloud-assembly"/>
        <updated>2026-06-18T12:04:00.000Z</updated>
        <summary type="html"><![CDATA[Cette serie presente les menus, services et elements de vRA 8.x, organisee en plusieurs pages.]]></summary>
        <content type="html"><![CDATA[<p>Cette serie presente les menus, services et elements de vRA 8.x, organisee en plusieurs pages.</p>
<p>Navigation:</p>
<ul>
<li class="">Menu: <a class="" href="https://dso-conseils.fr/blog/vra-recapitulatif-complet">vRA 8.x - Menu</a></li>
<li class="">Partie suivante: <a class="" href="https://dso-conseils.fr/blog/vra-service-broker-code-stream-administration">vRA 8.x - Partie 2 - Service Broker, Code Stream, Admin</a></li>
<li class="">Partie 3: <a class="" href="https://dso-conseils.fr/blog/vro-menus-services-elements">vRO 8.x - Menus et elements</a></li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="1-console-principale-menus-racine">1. Console principale (menus racine)<a href="https://dso-conseils.fr/blog/vra-menus-console-cloud-assembly#1-console-principale-menus-racine" class="hash-link" aria-label="Lien direct vers 1. Console principale (menus racine)" title="Lien direct vers 1. Console principale (menus racine)" translate="no">​</a></h2>
<ul>
<li class="">Services</li>
<li class="">Design</li>
<li class="">Infrastructure</li>
<li class="">Extensibility</li>
<li class="">Service Broker</li>
<li class="">Code Stream</li>
<li class="">Identity &amp; Access</li>
<li class="">Administration</li>
<li class="">Marketplace</li>
<li class="">Cloud Assembly</li>
</ul>
<hr>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="2-cloud-assembly">2. Cloud Assembly<a href="https://dso-conseils.fr/blog/vra-menus-console-cloud-assembly#2-cloud-assembly" class="hash-link" aria-label="Lien direct vers 2. Cloud Assembly" title="Lien direct vers 2. Cloud Assembly" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="21-infrastructure">2.1. Infrastructure<a href="https://dso-conseils.fr/blog/vra-menus-console-cloud-assembly#21-infrastructure" class="hash-link" aria-label="Lien direct vers 2.1. Infrastructure" title="Lien direct vers 2.1. Infrastructure" translate="no">​</a></h3>
<ul>
<li class="">Cloud Accounts</li>
<li class="">Cloud Zones</li>
<li class="">Projects</li>
<li class="">Flavor Mappings</li>
<li class="">Image Mappings</li>
<li class="">Network Profiles</li>
<li class="">Storage Profiles</li>
<li class="">Tags</li>
<li class="">Kubernetes Zones</li>
<li class="">Kubernetes Clusters</li>
<li class="">Secrets</li>
<li class="">Integrations (Git, IPAM, NSX, Ansible, SaltStack, etc.)</li>
</ul>
<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id="211-projects-detail-complet">2.1.1. Projects (detail complet)<a href="https://dso-conseils.fr/blog/vra-menus-console-cloud-assembly#211-projects-detail-complet" class="hash-link" aria-label="Lien direct vers 2.1.1. Projects (detail complet)" title="Lien direct vers 2.1.1. Projects (detail complet)" translate="no">​</a></h4>
<ul>
<li class="">Overview<!-- -->
<ul>
<li class="">Description du projet</li>
<li class="">Statut</li>
<li class="">Dernieres activites</li>
<li class="">Tags</li>
<li class="">Owner / Administrators</li>
</ul>
</li>
<li class="">Users<!-- -->
<ul>
<li class="">Ajout d'utilisateurs</li>
<li class="">Ajout de groupes AD</li>
<li class="">Roles :<!-- -->
<ul>
<li class="">Project Administrator</li>
<li class="">Project Member</li>
<li class="">Viewer</li>
</ul>
</li>
</ul>
</li>
<li class="">Integrations<!-- -->
<ul>
<li class="">vSphere</li>
<li class="">NSX-T</li>
<li class="">AWS</li>
<li class="">Azure</li>
<li class="">GCP</li>
<li class="">IPAM</li>
<li class="">Ansible</li>
<li class="">SaltStack</li>
<li class="">Git Integration</li>
<li class="">vRO Integration</li>
</ul>
</li>
<li class="">Provisioning<!-- -->
<ul>
<li class="">Cloud Zones associees</li>
<li class="">Placement Policies</li>
<li class="">Constraints / Tags</li>
<li class="">Flavor Mappings</li>
<li class="">Image Mappings</li>
<li class="">Storage Profiles</li>
<li class="">Network Profiles</li>
<li class="">Custom Properties</li>
</ul>
</li>
<li class="">Resources<!-- -->
<ul>
<li class="">Machines</li>
<li class="">Disks</li>
<li class="">Networks</li>
<li class="">Load Balancers</li>
<li class="">Kubernetes clusters</li>
<li class="">Custom Resources</li>
</ul>
</li>
<li class="">Deployments<!-- -->
<ul>
<li class="">Historique des deploiements</li>
<li class="">Statut (Success / Failed / In progress)</li>
<li class="">Logs</li>
<li class="">Actions Day-2 autorisees</li>
</ul>
</li>
<li class="">Policies<!-- -->
<ul>
<li class="">Lease Policies</li>
<li class="">Approval Policies</li>
<li class="">Day-2 Policies</li>
<li class="">Naming Policies</li>
<li class="">Resource Limits</li>
<li class="">Quotas (CPU, RAM, Storage, Instances)</li>
</ul>
</li>
<li class="">Custom Naming<!-- -->
<ul>
<li class="">Modeles de nommage (Machines, Disks, Networks, Load Balancers)</li>
<li class="">Variables : <code>${project}</code>, <code>${deployment}</code>, <code>${resource}</code>, <code>${sequence}</code></li>
</ul>
</li>
<li class="">Secrets<!-- -->
<ul>
<li class="">Credentials</li>
<li class="">Tokens</li>
<li class="">Passwords</li>
<li class="">Stockage dans vRA Secrets Manager</li>
</ul>
</li>
<li class="">API &amp; YAML<!-- -->
<ul>
<li class="">Export YAML du projet</li>
<li class="">Import / Update via API</li>
<li class="">Endpoints REST :<!-- -->
<ul>
<li class="">/iaas/api/projects</li>
<li class="">/project-service/api/projects</li>
</ul>
</li>
</ul>
</li>
</ul>
<hr>
<p>Navigation:</p>
<ul>
<li class="">Menu: <a class="" href="https://dso-conseils.fr/blog/vra-recapitulatif-complet">vRA 8.x - Menu</a></li>
<li class="">Partie suivante: <a class="" href="https://dso-conseils.fr/blog/vra-service-broker-code-stream-administration">vRA 8.x - Partie 2 - Service Broker, Code Stream, Admin</a></li>
</ul>]]></content>
        <author>
            <name>DSO Conseils</name>
        </author>
        <category label="vmware" term="vmware"/>
        <category label="vra" term="vra"/>
        <category label="aria-automation" term="aria-automation"/>
        <category label="cloud-assembly" term="cloud-assembly"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[vRA 8.x - Partie 2 - Service Broker, Code Stream, Admin]]></title>
        <id>https://dso-conseils.fr/blog/vra-service-broker-code-stream-administration</id>
        <link href="https://dso-conseils.fr/blog/vra-service-broker-code-stream-administration"/>
        <updated>2026-06-18T12:03:00.000Z</updated>
        <summary type="html"><![CDATA[Suite de la serie vRA 8.x.]]></summary>
        <content type="html"><![CDATA[<p>Suite de la serie vRA 8.x.</p>
<p>Navigation:</p>
<ul>
<li class="">Menu: <a class="" href="https://dso-conseils.fr/blog/vra-recapitulatif-complet">vRA 8.x - Menu</a></li>
<li class="">Partie precedente: <a class="" href="https://dso-conseils.fr/blog/vra-menus-console-cloud-assembly">vRA 8.x - Partie 1 - Console et Cloud Assembly</a></li>
<li class="">Partie suivante: <a class="" href="https://dso-conseils.fr/blog/vro-menus-services-elements">vRO 8.x - Menus et elements</a></li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="22-design">2.2. Design<a href="https://dso-conseils.fr/blog/vra-service-broker-code-stream-administration#22-design" class="hash-link" aria-label="Lien direct vers 2.2. Design" title="Lien direct vers 2.2. Design" translate="no">​</a></h2>
<ul>
<li class="">Cloud Templates</li>
<li class="">Custom Resources</li>
<li class="">Resource Actions</li>
<li class="">Property Groups</li>
<li class="">Subscriptions</li>
<li class="">Pipelines (Code Stream)</li>
</ul>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="23-extensibility">2.3. Extensibility<a href="https://dso-conseils.fr/blog/vra-service-broker-code-stream-administration#23-extensibility" class="hash-link" aria-label="Lien direct vers 2.3. Extensibility" title="Lien direct vers 2.3. Extensibility" translate="no">​</a></h3>
<ul>
<li class="">Actions ABX</li>
<li class="">vRO Workflows</li>
<li class="">Event Topics</li>
<li class="">Subscriptions</li>
<li class="">Custom Forms</li>
</ul>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="24-deployments">2.4. Deployments<a href="https://dso-conseils.fr/blog/vra-service-broker-code-stream-administration#24-deployments" class="hash-link" aria-label="Lien direct vers 2.4. Deployments" title="Lien direct vers 2.4. Deployments" translate="no">​</a></h3>
<ul>
<li class="">Deployments</li>
<li class="">Resources</li>
<li class="">Requests</li>
</ul>
<hr>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="3-service-broker">3. Service Broker<a href="https://dso-conseils.fr/blog/vra-service-broker-code-stream-administration#3-service-broker" class="hash-link" aria-label="Lien direct vers 3. Service Broker" title="Lien direct vers 3. Service Broker" translate="no">​</a></h2>
<ul>
<li class="">Catalog</li>
<li class="">Content Sources</li>
<li class="">Content Sharing</li>
<li class="">Policies<!-- -->
<ul>
<li class="">Lease</li>
<li class="">Approval</li>
<li class="">Day-2 actions</li>
<li class="">Naming</li>
</ul>
</li>
<li class="">Custom Forms</li>
<li class="">Deployments</li>
</ul>
<hr>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="4-code-stream">4. Code Stream<a href="https://dso-conseils.fr/blog/vra-service-broker-code-stream-administration#4-code-stream" class="hash-link" aria-label="Lien direct vers 4. Code Stream" title="Lien direct vers 4. Code Stream" translate="no">​</a></h2>
<ul>
<li class="">Pipelines</li>
<li class="">Endpoints</li>
<li class="">Tasks</li>
<li class="">Executions</li>
<li class="">Variables</li>
<li class="">Dashboard</li>
</ul>
<hr>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="5-administration">5. Administration<a href="https://dso-conseils.fr/blog/vra-service-broker-code-stream-administration#5-administration" class="hash-link" aria-label="Lien direct vers 5. Administration" title="Lien direct vers 5. Administration" translate="no">​</a></h2>
<ul>
<li class="">Branding</li>
<li class="">Notifications</li>
<li class="">Licensing</li>
<li class="">Identity &amp; Access</li>
<li class="">Projects</li>
<li class="">Audit Logs</li>
</ul>
<hr>
<p>Navigation:</p>
<ul>
<li class="">Menu: <a class="" href="https://dso-conseils.fr/blog/vra-recapitulatif-complet">vRA 8.x - Menu</a></li>
<li class="">Partie precedente: <a class="" href="https://dso-conseils.fr/blog/vra-menus-console-cloud-assembly">vRA 8.x - Partie 1 - Console et Cloud Assembly</a></li>
<li class="">Partie suivante: <a class="" href="https://dso-conseils.fr/blog/vro-menus-services-elements">vRO 8.x - Menus et elements</a></li>
</ul>]]></content>
        <author>
            <name>DSO Conseils</name>
        </author>
        <category label="vmware" term="vmware"/>
        <category label="vra" term="vra"/>
        <category label="service-broker" term="service-broker"/>
        <category label="code-stream" term="code-stream"/>
        <category label="administration" term="administration"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[vRO 8.x - Menus et elements]]></title>
        <id>https://dso-conseils.fr/blog/vro-menus-services-elements</id>
        <link href="https://dso-conseils.fr/blog/vro-menus-services-elements"/>
        <updated>2026-06-18T12:01:00.000Z</updated>
        <summary type="html"><![CDATA[Navigation:]]></summary>
        <content type="html"><![CDATA[<p>Navigation:</p>
<ul>
<li class="">Menu: <a class="" href="https://dso-conseils.fr/blog/vra-recapitulatif-complet">vRA 8.x - Menu</a></li>
<li class="">Partie precedente: <a class="" href="https://dso-conseils.fr/blog/vra-service-broker-code-stream-administration">vRA 8.x - Partie 2 - Service Broker, Code Stream, Admin</a></li>
<li class="">Retour debut serie: <a class="" href="https://dso-conseils.fr/blog/vra-menus-console-cloud-assembly">vRA 8.x - Partie 1 - Console et Cloud Assembly</a></li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="1-menus-principaux">1. Menus principaux<a href="https://dso-conseils.fr/blog/vro-menus-services-elements#1-menus-principaux" class="hash-link" aria-label="Lien direct vers 1. Menus principaux" title="Lien direct vers 1. Menus principaux" translate="no">​</a></h2>
<ul>
<li class="">Dashboard</li>
<li class="">Workflows</li>
<li class="">Actions</li>
<li class="">Configurations</li>
<li class="">Resources</li>
<li class="">Inventory</li>
<li class="">Plugins</li>
<li class="">Packages</li>
<li class="">Library</li>
<li class="">Policies</li>
<li class="">Certificates</li>
<li class="">System</li>
</ul>
<hr>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="2-workflows">2. Workflows<a href="https://dso-conseils.fr/blog/vro-menus-services-elements#2-workflows" class="hash-link" aria-label="Lien direct vers 2. Workflows" title="Lien direct vers 2. Workflows" translate="no">​</a></h2>
<ul>
<li class="">Run</li>
<li class="">Edit</li>
<li class="">Schema</li>
<li class="">Inputs</li>
<li class="">Outputs</li>
<li class="">Variables</li>
<li class="">Presentation</li>
<li class="">Permissions</li>
</ul>
<hr>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="3-actions">3. Actions<a href="https://dso-conseils.fr/blog/vro-menus-services-elements#3-actions" class="hash-link" aria-label="Lien direct vers 3. Actions" title="Lien direct vers 3. Actions" translate="no">​</a></h2>
<ul>
<li class="">JavaScript Actions</li>
<li class="">Modules</li>
<li class="">Dependencies</li>
</ul>
<hr>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="4-inventory">4. Inventory<a href="https://dso-conseils.fr/blog/vro-menus-services-elements#4-inventory" class="hash-link" aria-label="Lien direct vers 4. Inventory" title="Lien direct vers 4. Inventory" translate="no">​</a></h2>
<ul>
<li class="">vSphere</li>
<li class="">NSX</li>
<li class="">REST Hosts</li>
<li class="">SOAP Hosts</li>
<li class="">SSH Hosts</li>
<li class="">Active Directory (AD)</li>
<li class="">Custom Plugins</li>
</ul>
<hr>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="5-plugins">5. Plugins<a href="https://dso-conseils.fr/blog/vro-menus-services-elements#5-plugins" class="hash-link" aria-label="Lien direct vers 5. Plugins" title="Lien direct vers 5. Plugins" translate="no">​</a></h2>
<ul>
<li class="">vCenter Plugin</li>
<li class="">NSX Plugin</li>
<li class="">REST Plugin</li>
<li class="">SSH Plugin</li>
<li class="">PowerShell Plugin</li>
<li class="">Active Directory Plugin</li>
<li class="">Custom Plugins</li>
</ul>
<hr>
<p>Navigation:</p>
<ul>
<li class="">Menu: <a class="" href="https://dso-conseils.fr/blog/vra-recapitulatif-complet">vRA 8.x - Menu</a></li>
<li class="">Partie precedente: <a class="" href="https://dso-conseils.fr/blog/vra-service-broker-code-stream-administration">vRA 8.x - Partie 2 - Service Broker, Code Stream, Admin</a></li>
<li class="">Retour debut serie: <a class="" href="https://dso-conseils.fr/blog/vra-menus-console-cloud-assembly">vRA 8.x - Partie 1 - Console et Cloud Assembly</a></li>
</ul>]]></content>
        <author>
            <name>DSO Conseils</name>
        </author>
        <category label="vmware" term="vmware"/>
        <category label="vro" term="vro"/>
        <category label="aria-orchestrator" term="aria-orchestrator"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[Bienvenue sur le blog DSO Conseils]]></title>
        <id>https://dso-conseils.fr/blog/bienvenue</id>
        <link href="https://dso-conseils.fr/blog/bienvenue"/>
        <updated>2026-06-03T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[Le blog DSO Conseils est en ligne. Retrouvez prochainement des articles techniques sur VMware Cloud Foundation, l'automatisation d'infrastructure et les bonnes pratiques d'architecture Cloud.]]></summary>
        <content type="html"><![CDATA[<p>Le blog DSO Conseils est en ligne. Retrouvez prochainement des articles techniques sur VMware Cloud Foundation, l'automatisation d'infrastructure et les bonnes pratiques d'architecture Cloud.</p>
<p>Des retours d'expérience, des guides pratiques et des actualités sur l'écosystème VCF seront publiés régulièrement.</p>]]></content>
        <author>
            <name>DSO Conseils</name>
        </author>
        <category label="bienvenue" term="bienvenue"/>
    </entry>
</feed>