Gestion des rôles et des autorisations Azure AD avec PowerShell. Avez-vous besoin d’aide pour gérer et automatiser les rôles et les autorisations Azure AD avec Windows PowerShell ? Cet article explique les scénarios typiques pour automatiser le Contrôle d’Accès Basé sur les Rôles (RBAC) Azure en utilisant PowerShell.
Pour poser les bases et se préparer à gérer les rôles et les autorisations Azure, nous commençons par une vue d’ensemble du contrôle d’accès basé sur les rôles (RBAC) Azure. Ensuite, nous expliquons les trois éléments de l’attribution de rôle.
Il y a également une section qui explique les prérequis pour gérer les rôles et les autorisations Azure AD avec Windows PowerShell.
Les sections suivantes sont dédiées à l’explication des étapes pour attribuer des rôles Azure AD à l’aide de PowerShell.
Enfin, nous expliquons comment lister les rôles attribués aux utilisateurs et aux groupes à l’aide de PowerShell.
Qu’est-ce que le Contrôle d’Accès Basé sur les Rôles (RBAC) Azure
Le contrôle d’accès en fonction du rôle (RBAC) d’Azure permet aux administrateurs d’effectuer un contrôle d’accès granulaire aux ressources. En d’autres termes, Azure RBAC permet aux administrateurs de contrôler qui a accès aux ressources.
De plus, RBAC contrôle le niveau d’accès aux ressources dans Azure.
Au cœur du RBAC se trouvent les attributions de rôles. Azure dispose de centaines de rôles intégrés avec des autorisations prédéfinies qui sont attribuées aux utilisateurs, groupes ou principaux de service.
L’existence de rôles intégrés avec des autorisations prédéfinies facilite les attributions de rôles, car les administrateurs n’ont pas à accorder des autorisations aux objets directement.
Cependant, il peut y avoir des cas où les rôles intégrés ne conviennent pas aux besoins d’une organisation. Dans cette situation, des rôles personnalisés sont créés.
Cet article couvre les étapes pour attribuer des rôles existants et également créer et attribuer des rôles personnalisés Azure AD.
Éléments d’attribution de rôle Azure
Attribuer des attributions de rôles implique 3 éléments – principal de sécurité, définition de rôle et portée. Le principal de sécurité est l’objet Azure Active Directory qui doit être attribué au rôle.
D’autre part, la définition de rôle est le rôle intégré ou personnalisé Azure AD qui est attribué tandis que la portée est le niveau auquel le rôle est attribué. Il existe 4 portées auxquelles les rôles sont attribués dans Azure.
Plus précisément, les rôles Azure sont attribués à une ressource, un groupe de ressources, un abonnement et un groupe de gestion. Pour attribuer un rôle à une ressource, vous avez besoin de l’identifiant de la ressource.
Cependant, attribuer un rôle à une portée de groupe de ressources nécessite le nom du groupe de ressources. L’exécution de la commande Get-AzResourceGroup renvoie tous les groupes de ressources, y compris leurs noms dans l’abonnement actuel.
Si vous attribuez un rôle à la portée de l’abonnement, vous avez besoin de l’identifiant de l’abonnement. Pour répertorier tous les abonnements dans le locataire, exécutez la commande Get-AzSubscription.
Enfin, les rôles sont attribués à une portée de groupe de gestion qui nécessite le nom du groupe de gestion. Pour obtenir le nom d’un groupe de gestion, exécutez la commande Get-AzManagementGroup.
Comprendre ces éléments est important pour la gestion des rôles et des autorisations Azure AD avec PowerShell. Dans la partie restante de l’article, nous explorons comment le principal de sécurité, la définition de rôle et la portée sont utilisés pour attribuer et gérer des rôles dans Azure AD en utilisant PowerShell.
Prérequis pour la gestion des rôles et des autorisations Azure AD avec PowerShell
Avant qu’un administrateur n’attribue des rôles, il doit remplir les exigences suivantes:
- L’utilisateur doit être attribué les rôles avec les autorisations Microsoft.Authorization/roleAssignments/write. Les seuls rôles avec cette autorisation sont Administrateur d’accès utilisateur, Propriétaire ou Administrateur global.
- Deuxièmement, vous avez besoin d’accéder à Azure Cloud Shell ou à Azure PowerShell.
- Le compte utilisateur exécutant les commandes PowerShell doit avoir l’autorisation Directory.Read.All de Microsoft Graph.
- Enfin, pour effectuer certaines tâches dans cet article, votre compte nécessite une licence Azure AD Premium P1 minimale.
Au fur et à mesure de la progression dans cet article, nous expliquons les étapes pour attribuer ces autorisations selon les besoins.
Étapes pour attribuer les rôles Azure AD intégrés à l’aide de PowerShell Si vous cliquez sur le lien du cloud shell ci-dessus et vous connectez avec votre compte Azure, il affiche un écran comme celui de la capture d’écran ci-dessous. L’avantage d’Azure Cloud Shell est qu’il ne nécessite pas l’installation de modules PowerShell sur votre PC.
I’ll be running the PowerShell commands in this and subsequent sections from Azure Cloud Shell, a browser-based shell that allows running Azure CLI or PowerShell commands. However, I’ll be running the commands from my computer.
Si vous cliquez sur le lien de l’invite de commandes cloud ci-dessus et que vous vous connectez avec votre compte Azure, il affiche un écran comme celui de la capture d’écran ci-dessous. L’avantage d’Azure Cloud Shell est qu’il ne nécessite pas l’installation de modules PowerShell sur votre PC.
Étape 1 : Déterminer l’ID de l’objet
Vous devez obtenir l’ID de l’objet avant d’attribuer un rôle à une ressource Azure. Suivez ces étapes pour déterminer l’ID de l’utilisateur, du groupe ou de l’abonnement.
1. Ouvrez Azure Cloud Shell – shell.azure.com et connectez-vous avec votre compte Azure.
Si vous ouvrez Azure Cloud Shell pour la première fois, il vous demande de créer un compte de stockage.
2. Exécutez les commandes ci-dessous pour obtenir l’ID de l’utilisateur ou du groupe auquel vous devez attribuer un rôle. Dans la première commande, je renvoie l’ID d’un utilisateur qui commence par
$userid = (Get-AzADUser -UserPrincipalName AnthonyRa@corp.itechguides.com).id
$groupid = (Get-AzADGroup -DisplayName "Helpdesk Admins (AAD)").id
. La première commande enregistre l’ID de l’utilisateur dans la variable userid, tandis que la deuxième enregistre l’ID du groupe dans la variable grouped. Avant d’exécuter les commandes, n’oubliez pas de modifier le UserPrincipalName et le DisplayName.
Étape 2 : Obtenir le rôle à attribuer
La prochaine étape pour gérer les rôles et les autorisations Azure AD avec PowerShell consiste à déterminer le rôle à attribuer. Commencez par répertorier tous les rôles disponibles dans votre locataire Azure AD à l’aide de la commande suivante.
Get-AzRoleDefinition | Format-Table -Property Name, IsCustom, Id
La commande affiche le Nom et l’ Id de tous les rôles dans le locataire. De plus, elle retourne Vrai ou Faux dans la colonne IsCustom.
Pour illustrer, je veux attribuer le rôle Administrateur de sécurité à l’utilisateur et au groupe que j’ai déterminés à l’étape 1. Pour afficher le nom du rôle, je redirige la sortie de la commande Get-AzRoleDefinition vers Where-Object comme indiqué dans cette commande.
$roleassignmentname = (Get-AzRoleDefinition | where-object {$_.name -eq "Security Admin"}).Name
Étape 3 : Identifier le rôle à attribuer
La commande ci-dessous retourne l’ID de ressource d’un compte de stockage (étendue de la ressource) et l’enregistre dans la variable ResourceID.
Plus tard, j’attribue à l’utilisateur de l’étape 1 le rôle « Administrateur de sécurité » dans cette ressource de compte de stockage.
$scoperesourceID = (Get-AzResource | Where-object {$_.name -eq "veeambackup21"}).ResourceID
Étape 4 : Attribuer le rôle Azure
En utilisant les informations des étapes 1 à 3, exécutez la commande ci-dessous pour attribuer le rôle à l’utilisateur. Avant d’exécuter la commande, le rôle n’est pas attribué à ce compte de stockage, comme indiqué dans la capture d’écran ci-dessous.
La première commande attribue le rôle de « Administrateur de sécurité » à un utilisateur enregistré dans la variable $userid. De même, la deuxième commande attribue le même rôle à un groupe enregistré dans la variable $groupid.
New-AzRoleAssignment -ObjectId $userid -RoleDefinitionName $roleassignmentname -Scope $scoperesourceID
New-AzRoleAssignment -ObjectId $groupid -RoleDefinitionName $roleassignmentname -Scope $scoperesourceID
Après avoir exécuté les commandes ci-dessus, actualiser les comptes de stockage affiche le rôle de Administrateur de sécurité, ainsi que l’utilisateur et le groupe ayant reçu le rôle.
Afficher l’attribution des rôles Azure AD en utilisant PowerShell
Auparavant, j’avais attribué le rôle de « Administrateur de sécurité » à un utilisateur avec UPN, [email protected]. Si vous vous en souvenez, l’ID de l’utilisateur était enregistré dans la variable $userid.
De même, l’ID de portée du compte de stockage était enregistré dans la variable $scoperesourceID. Pour afficher l’attribution du rôle pour l’utilisateur, j’exécute la commande ci-dessous.
get-AzRoleAssignment -scope $scoperesourceID -ObjectId $userid
La commande affiche les détails de l’attribution du rôle, y compris le nom de l’attribution de rôle et la portée.
get-AzRoleAssignment -scope $scoperesourceID -ObjectId $groupid
Gestion des rôles et autorisations Azure AD avec PowerShell Conclusion
L’administration des rôles Azure nécessite une connaissance du modèle de contrôle d’accès basé sur les rôles. De plus, comprendre les éléments d’attribution de rôle Azure – principal de sécurité, définition de rôle et portée – est essentiel pour gérer efficacement les attributions de rôle avec PowerShell.
Non seulement cela, mais un compte attribuant des rôles doit remplir certaines conditions préalables telles que la configuration de PowerShell avec les modules requis et la garantie de privilèges administratifs appropriés.
Le guide étape par étape fourni dans cet article offre une feuille de route claire à suivre lors de l’attribution des rôles Azure AD intégrés à l’aide de PowerShell. De la détermination de l’ID d’objet à l’identification de la portée pour l’attribution de rôle, chaque étape est méticuleusement décrite, facilitant un processus d’allocation de rôle fluide et contrôlé.
Source:
https://infrasos.com/managing-azure-ad-roles-and-permissions-with-powershell/