<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="fr">
	<id>http://wiki.lli.be/index.php?action=history&amp;feed=atom&amp;title=Grrrr_DevOps_Pipeline..._premier_gros_crash_%F0%9F%98%A4%2Ffr</id>
	<title>Grrrr DevOps Pipeline... premier gros crash 😤/fr - Historique des versions</title>
	<link rel="self" type="application/atom+xml" href="http://wiki.lli.be/index.php?action=history&amp;feed=atom&amp;title=Grrrr_DevOps_Pipeline..._premier_gros_crash_%F0%9F%98%A4%2Ffr"/>
	<link rel="alternate" type="text/html" href="http://wiki.lli.be/index.php?title=Grrrr_DevOps_Pipeline..._premier_gros_crash_%F0%9F%98%A4/fr&amp;action=history"/>
	<updated>2026-05-14T13:46:24Z</updated>
	<subtitle>Historique des versions pour cette page sur le wiki</subtitle>
	<generator>MediaWiki 1.45.3</generator>
	<entry>
		<id>http://wiki.lli.be/index.php?title=Grrrr_DevOps_Pipeline..._premier_gros_crash_%F0%9F%98%A4/fr&amp;diff=392&amp;oldid=prev</id>
		<title>FuzzyBot : Mise à jour pour être en accord avec la nouvelle version de la source de la page</title>
		<link rel="alternate" type="text/html" href="http://wiki.lli.be/index.php?title=Grrrr_DevOps_Pipeline..._premier_gros_crash_%F0%9F%98%A4/fr&amp;diff=392&amp;oldid=prev"/>
		<updated>2025-06-05T12:50:56Z</updated>

		<summary type="html">&lt;p&gt;Mise à jour pour être en accord avec la nouvelle version de la source de la page&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Nouvelle page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;lt;languages/&amp;gt;&lt;br /&gt;
Je savais que Microsoft avait prévenu… mais comme souvent, personne n’a vu passer l’info sérieusement 😅&lt;br /&gt;
&lt;br /&gt;
On bosse dans une équipe &amp;#039;&amp;#039;fullstack DevOps&amp;#039;&amp;#039;, avec des scripts qui appellent des procédures SQL dans des &amp;#039;&amp;#039;&amp;#039;milliers de bases Azure SQL&amp;#039;&amp;#039;&amp;#039;, que ce soit pour de la maintenance, des exports, du nettoyage… bref, du classique.&lt;br /&gt;
&lt;br /&gt;
Et pour ça, &amp;#039;&amp;#039;&amp;#039;on utilise le token obtenu avec la fonction &amp;lt;code&amp;gt;Get-AzAccessToken&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
Le hic ? Microsoft met à jour en continu leur backend. Donc le &amp;#039;&amp;#039;&amp;#039;pool d’Azure Pipeline&amp;#039;&amp;#039;&amp;#039; qui exécute nos scripts PowerShell est mis à jour automatiquement, sans intervention de notre part.&lt;br /&gt;
&lt;br /&gt;
Et ce dimanche… &amp;#039;&amp;#039;&amp;#039;patatras 💥&amp;#039;&amp;#039;&amp;#039; : ils ont mis à jour le module &amp;#039;&amp;#039;&amp;#039;Az.Accounts de la version 4 vers la 5&amp;#039;&amp;#039;&amp;#039;, avec un &amp;#039;&amp;#039;&amp;#039;breaking change majeur&amp;#039;&amp;#039;&amp;#039; :&amp;lt;blockquote&amp;gt;Le token n’est plus retourné en &amp;lt;code&amp;gt;String&amp;lt;/code&amp;gt;, mais en &amp;lt;code&amp;gt;SecureString&amp;lt;/code&amp;gt; !&amp;lt;/blockquote&amp;gt;Résultat ? Toutes les fonctions plus anciennes qui manipulent ces tokens n’arrivent plus à les lire, et &amp;#039;&amp;#039;&amp;#039;ça casse tout. En prod.&amp;#039;&amp;#039;&amp;#039; 😩&lt;br /&gt;
&lt;br /&gt;
Le pire ? Comme tout tourne dans un backend, &amp;#039;&amp;#039;&amp;#039;on ne remonte pas les warnings&amp;#039;&amp;#039;&amp;#039;, donc &amp;#039;&amp;#039;&amp;#039;personne ne l’a vu venir&amp;#039;&amp;#039;&amp;#039;. C’est seulement une fois que les exports sont tombés en erreur qu’on a compris.&lt;br /&gt;
&lt;br /&gt;
🎓 Leçon apprise : ne jamais ignorer les warnings… même s’ils sont planqués dans les logs.&lt;br /&gt;
&lt;br /&gt;
🔧 Fix : il faut ajouter le paramètre &amp;lt;code&amp;gt;-AsPlainText&amp;lt;/code&amp;gt; dans certains cas ou revoir complètement la gestion du token selon le module utilisé.&lt;br /&gt;
&lt;br /&gt;
Voici le warning qu’on aurait dû prendre au sérieux :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;pwsh&amp;quot;&amp;gt;&lt;br /&gt;
get-azaccesstoken&lt;br /&gt;
WARNING: Upcoming breaking changes in the cmdlet &amp;#039;Get-AzAccessToken&amp;#039; :&lt;br /&gt;
The Token property of the output type will be changed from String to SecureString. Add the [-AsSecureString] switch to avoid the impact of this upcoming breaking change.&lt;br /&gt;
- The change is expected to take effect in Az version : &amp;#039;14.0.0&amp;#039;&lt;br /&gt;
- The change is expected to take effect in Az.Accounts version : &amp;#039;5.0.0&amp;#039;&lt;br /&gt;
Note : https://aka.ms/azps-changewarnings&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;WorkArround&amp;lt;syntaxhighlight lang=&amp;quot;powershell&amp;quot;&amp;gt;&lt;br /&gt;
$azAccountsVersion = (Get-Module -ListAvailable -Name Az.Accounts | Sort-Object Version -Descending | Select-Object -First 1).Version&lt;br /&gt;
$dexResourceUrl   = &amp;#039;https://database.windows.net/&amp;#039;&lt;br /&gt;
if ($azAccountsVersion -ge [Version]&amp;#039;5.0.0&amp;#039;) {&lt;br /&gt;
    write-host  &amp;quot;Az.Accounts 5.0.0 and above&amp;quot;&lt;br /&gt;
    $AccessTokenSecure = (Get-AzAccessToken -ResourceUrl $dexResourceUrl).Token&lt;br /&gt;
    $token  = ConvertFrom-SecureString -SecureString $AccessTokenSecure -AsPlainText&lt;br /&gt;
} else {&lt;br /&gt;
    write-host  &amp;quot;Az.Accounts below 5.0.0&amp;quot;&lt;br /&gt;
    $token = (Get-AzAccessToken -ResourceUrl $dexResourceUrl).Token&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
[[Catégorie:Boîte à idées]]&lt;/div&gt;</summary>
		<author><name>FuzzyBot</name></author>
	</entry>
</feed>