<p>Veuillez consulter ce <a href="https://learn.microsoft.com/en-us/cli/azure/create-an-azure-service-principal-azure-cli?toc=%2Fazure%2Fazure-resource-manager%2Ftoc.json&view=azure-cli-latest">document officiel</a>.</p>
<p>Un Azure Service Principal est une identité de sécurité utilisée par les<br>
applications créées par les utilisateurs, les services et les outils d’automatisation pour accéder à des<br>
ressources Azure spécifiques. Considérez-le comme une ‘identité utilisateur’ (login et mot de passe ou<br>
certificat) avec un rôle spécifique, et des permissions strictement contrôlées<br>
pour accéder à vos ressources. Il n’a besoin de pouvoir faire que des choses spécifiques,<br>
contrairement à une identité utilisateur générale. Cela améliore la sécurité si vous<br>
ne lui accordez que le niveau minimum de permissions nécessaire pour effectuer ses<br>
tâches de gestion.</p>
<p>Si vous souhaitez créer un nouveau Service Principal (sp) avec Azure CLI 2.0, vous pouvez vous connecter avec votre utilisateur Azure AD. Puis exécutez la commande suivante.</p>
<pre><code class="lang-auto">az ad sp create-for-rbac --name {appId} --password "{strong password}"
</code></pre>
<p>Le résultat ressemble à ceci :</p>
<pre><code class="lang-auto">{
"appId": "a487e0c1-82af-47d9-9a0b-af184eb87646d",
"displayName": "MyDemoWebApp",
"name": "http://MyDemoWebApp",
"password": {strong password},
"tenant": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"
}
</code></pre>
<p><code>appId</code> est votre utilisateur de connexion, <code>password</code> est le mot de passe de connexion.</p>
<p>Après la création du sp, vous devez également lui attribuer le rôle <code>Contributor</code>, puis vous pourrez gérer vos ressources Azure.</p>
<pre><code class="lang-auto">az role assignment create --assignee <objectID> --role Contributor
</code></pre>
<p>Maintenant, vous pouvez vous connecter en mode non interactif avec la commande suivante.</p>
<pre><code class="lang-auto">az login --service-principal -u <appid> --password {password-or-path-to-cert} --tenant {tenant}
</code></pre>