Qu'est-ce qu'un Azure Service Principal ?

Qu’est-ce qu’un Azure Service Principal ?


Source : Stack Overflow [azure].)

Veuillez consulter ce document officiel.

Un Azure Service Principal est une identité de sécurité utilisée par les
applications créées par les utilisateurs, les services et les outils d’automatisation pour accéder à des
ressources Azure spécifiques. Considérez-le comme une ‘identité utilisateur’ (login et mot de passe ou
certificat) avec un rôle spécifique, et des permissions strictement contrôlées
pour accéder à vos ressources. Il n’a besoin de pouvoir faire que des choses spécifiques,
contrairement à une identité utilisateur générale. Cela améliore la sécurité si vous
ne lui accordez que le niveau minimum de permissions nécessaire pour effectuer ses
tâches de gestion.

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.

az ad sp create-for-rbac --name {appId} --password "{strong password}"

Le résultat ressemble à ceci :

{
  "appId": "a487e0c1-82af-47d9-9a0b-af184eb87646d",
  "displayName": "MyDemoWebApp",
  "name": "http://MyDemoWebApp",
  "password": {strong password},
  "tenant": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"
}

appId est votre utilisateur de connexion, password est le mot de passe de connexion.

Après la création du sp, vous devez également lui attribuer le rôle Contributor, puis vous pourrez gérer vos ressources Azure.

az role assignment create --assignee <objectID> --role Contributor

Maintenant, vous pouvez vous connecter en mode non interactif avec la commande suivante.

az login --service-principal -u <appid> --password {password-or-path-to-cert} --tenant {tenant}