<p>Je me suis aussi posé cette question. La solution que j’ai adoptée est d’utiliser la tâche « <a href="https://learn.microsoft.com/en-us/azure/devops/pipelines/tasks/deploy/azure-cli?view=azure-devops">Azure CLI</a> » plutôt que la tâche basique « Script » (ou « Bash »). C’est censé être pour exécuter des commandes Az CLI, mais rien ne vous empêche d’exécuter uniquement des scripts Bash standards (ou PSCore si c’est votre préférence).</p>
<p>Si vous examinez les variables d’environnement présentes lorsque vous exécutez cette tâche, vous verrez un ensemble d’informations sur la connexion de service dans des variables préfixées par « ENDPOINT_DATA_ ». Cela correspond à ce que Josh E disait. Cela inclut l’ID d’abonnement Azure, le nom, l’ID d’objet du principal de service, etc.</p>
<p>Vous pouvez optionnellement activer l’ajout des détails du principal de service à l’environnement également. Cela inclura alors la clé SPN, le TenantID, etc. en tant que variables d’environnement secrètes.</p>
<p>Voici à quoi ressemblent les tâches :</p>
<pre><code class="lang-auto">- task: AzureCLI@2
displayName: 'Azure CLI'
inputs:
scriptType: bash
scriptLocation: inlineScript
azureSubscription: '<Service Connection Name>'
inlineScript: |
env | sort
- task: AzureCLI@2
displayName: 'Azure CLI, with SPN info'
inputs:
scriptType: bash
scriptLocation: inlineScript
azureSubscription: '<Service Connection Name>'
addSpnToEnvironment: true
inlineScript: |
env | sort
</code></pre>
<p>Bien entendu, tout cela n’est applicable qu’aux connexions de service Azure Cloud. Il pourrait y avoir des techniques similaires pour d’autres connexions de service, mais je ne les ai pas explorées.</p>