Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Les outils automatisés qui utilisent des services Azure doivent toujours disposer d’autorisations restreintes pour s’assurer que les ressources Azure sont sécurisées. Par conséquent, au lieu d’avoir des applications se connecter en tant qu’utilisateur entièrement privilégié, Azure offre des principals de service. Un principal de service Azure est une identité créée pour une utilisation avec des applications, des services hébergés et des outils automatisés. Cette identité est utilisée pour accéder aux ressources.
Dans ce tutoriel, vous allez apprendre à :
- Créer un principal de service
- Se connecter à l’aide d’un principal de service et d’un mot de passe
- Se connecter à l’aide d’un principal de service et d’un certificat
- Gérer les rôles du principal du service
- Créer une ressource Azure à l’aide d’un principal de service
- Réinitialiser les identifiants du principal de service
Conditions préalables
- Dans le cadre d'un abonnement, vous devez disposer des autorisations
User Access Administrator
ouRole Based Access Control Administrator
, ou de niveau supérieur, pour créer un principal du service. Pour obtenir la liste des rôles disponibles pour le contrôle d’accès en fonction du rôle Azure (Azure RBAC), consultez les rôles intégrés Azure.
Utilisez l’environnement Bash dans Azure Cloud Shell. Pour obtenir plus d’informations, consultez Démarrage d’Azure Cloud Shell.
Si vous préférez exécuter des commandes de référence CLI localement, installez Azure CLI. Si vous exécutez sur Windows ou macOS, envisagez d’exécuter Azure CLI dans un conteneur Docker. Pour plus d’informations, consultez Guide pratique pour exécuter Azure CLI dans un conteneur Docker.
Si vous utilisez une installation locale, connectez-vous à Azure CLI à l’aide de la commande az login. Pour terminer le processus d’authentification, suivez les étapes affichées dans votre terminal. Pour obtenir d’autres options de connexion, consultez S’authentifier auprès d’Azure à l’aide d’Azure CLI.
Lorsque vous y êtes invité, installez l’extension Azure CLI lors de la première utilisation. Pour plus d’informations sur les extensions, consultez Utiliser et gérer des extensions avec Azure CLI.
Exécutez az version pour rechercher la version et les bibliothèques dépendantes installées. Pour effectuer une mise à niveau vers la dernière version, exécutez az upgrade.
Créer un principal de service
Utilisez la commande de référence azure CLI az ad sp create-for-rbac pour créer un principal de service. Cet exemple ne spécifie pas de --name
paramètre. Par conséquent, un nom contenant un horodatage est automatiquement créé.
az ad sp create-for-rbac
Console de sortie :
{
"appId": "myAppId",
"displayName": "myServicePrincipalName",
"password": "myServicePrincipalPassword",
"tenant": "myTentantId"
}
Si vous ne respectez pas les conventions d’affectation de noms de ressources et prévoyez de créer un rôle et une étendue pour votre nouveau principal de service ultérieurement, la az ad sp create-for-rbac
commande sans paramètres est une solution acceptable. Toutefois, sans rôle et périmètre, la nouvelle entité de service n’a pas accès aux ressources. Il existe simplement.
Lorsque vous créez un principal de service sans paramètres, effectuez également les étapes suivantes :
- Enregistrez votre mot de passe affecté par le système, car vous ne pouvez pas le récupérer à nouveau. Si vous perdez le mot de passe, réinitialisez-le en utilisant az ad sp credential reset comme expliqué dans Réinitialiser les informations d’identification du principal de service.
- Définissez l’attribution de rôle pour votre nouveau principal de service à l’aide d’az role assignment create , comme expliqué dans Gérer les rôles de principal de service.
Remarque
Si votre compte n’a pas l’autorisation de créer un principal de service, az ad sp create-for-rbac
retourne un message d’erreur contenant « Privilèges insuffisants pour effectuer l’opération ». Contactez votre administrateur Microsoft Entra pour créer un principal de service.
Dans un répertoire d’ID Microsoft Entra dans lequel les paramètres de Inscription des applications par les utilisateurs est défini sur Non, vous devez être membre de l’un des rôles intégrés Microsoft Entra ID suivants (qui ont l’action : microsoft.directory/applications/createAsOwner
ou microsoft.directory/applications/create
) :
- Développeur d’applications
- Administrateur d’application
- Administrateur d’application cloud
- Administrateur général
- Administrateur d’identité hybride
Pour plus d’informations sur les paramètres utilisateur dans Microsoft Entra ID, consultez Restreindre les utilisateurs qui peuvent créer des applications.
Créer un principal de service avec un rôle et une étendue
En guise de meilleure pratique, attribuez toujours un principal de service spécifique --role
et --scopes
lorsque vous créez un principal de service. Suivez ces étapes :
Déterminez le rôle approprié.
Lors de la détermination du rôle, utilisez toujours le principe du privilège minimum. Par exemple, ne donnez pas à votre principal
contributor
de service des autorisations à un abonnement si le principal de service doit uniquement accéder au stockage Azure au sein d’un groupe de ressources. Considérez un rôle spécialisé comme contributeur aux données blob de stockage. Pour obtenir la liste complète des rôles disponibles dans Azure RBAC, consultez Rôles intégrés Azure.Obtenez une valeur pour le paramètre de portée.
Recherchez et copiez l’ID de ressource de la ressource Azure dont le nouveau principal de service doit accéder. Ces informations se trouvent généralement dans la page Propriétés ou Points de terminaison du portail Azure de chaque ressource. Voici des exemples
--scopes
courants, mais comptez sur votre ID de ressource pour un format et une valeur réels.Étendue Exemple : Abonnement /subscriptions/mySubscriptionID
groupe de ressources /subscriptions/mySubscriptionID/resourceGroups/myResourceGroupName
Machine virtuelle /subscriptions/mySubscriptionID/resourceGroups/myResourceGroupName/providers/Microsoft.Compute/virtualMachines/myVMname
Service de fichiers du compte de stockage /subscriptions/mySubscriptionID/resourceGroups/myResourceGroupName/providers/Microsoft.Storage/storageAccounts/myStorageAccountName/fileServices/default
Fabrique de données /subscriptions/mySubscriptionID/resourceGroups/myResourceGroupName/providers/Microsoft.DataFactory/factories/myDataFactoryName
Pour plus d’exemples de portée, consultez Comprendre la portée d’Azure RBAC.
Créez le principal de service.
Dans cet exemple, un nouveau principal de service nommé myServicePrincipalName1 est créé avec des autorisations de lecteur pour toutes les ressources du groupe de ressources RG1.
# Bash script az ad sp create-for-rbac --name myServicePrincipalName1 \ --role reader \ --scopes /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myRG1
Le
--scopes
paramètre accepte une liste de périmètres séparée par des espaces. Dans cet exemple, un nouveau principal de service nommé myServicePrincipalName2 est créé avec des autorisations de lecteur pour toutes les ressources du groupe de ressources myRG1. Ce principal de service reçoit également des autorisations de lecteur pour myVM situé dans myRG2.# Bash script az ad sp create-for-rbac --name myServicePrincipalName2 \ --role reader \ --scopes /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myRG1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myRG2/providers/Microsoft.Compute/virtualMachines/myVM
Si vous décidez que vous avez accordé trop peu ou trop d’autorisations à votre nouveau principal de service, modifiez les autorisations en gérant les rôles de principal de service.
Créer un principal de service à l’aide de variables
Vous pouvez également créer un principal de service à l’aide de variables :
# Bash script
let "randomIdentifier=$RANDOM*$RANDOM"
servicePrincipalName="msdocs-sp-$randomIdentifier"
roleName="azureRoleName"
subscriptionID=$(az account show --query id --output tsv)
# Verify the ID of the active subscription
echo "Using subscription ID $subscriptionID"
resourceGroup="myResourceGroupName"
echo "Creating SP for RBAC with name $servicePrincipalName, with role $roleName and in scopes /subscriptions/$subscriptionID/resourceGroups/$resourceGroup"
az ad sp create-for-rbac --name $servicePrincipalName \
--role $roleName \
--scopes /subscriptions/$subscriptionID/resourceGroups/$resourceGroup
Pour obtenir la liste complète des propriétés du principal de service, utilisez az ad sp list et consultez Obtenir un principal de service existant.
Avertissement
Lorsque vous créez un principal de service Azure à l’aide de la commande, la az ad sp create-for-rbac
sortie inclut des informations d’identification que vous devez protéger. Veillez à ne pas inclure ces informations d’identification dans votre code ou vérifiez les informations d’identification dans votre contrôle de code source. En guise d’alternative, envisagez d’utiliser identités managées si disponible pour éviter d’avoir à utiliser des informations d’identification.
Étapes suivantes
Maintenant que vous avez appris à créer un principal de service Azure, passez à l’étape suivante pour apprendre à utiliser des principaux de service avec l’authentification par mot de passe.