Contrôler et organiser les ressources Azure avec Azure Resource Manager

Principes des groupes de ressources

Que sont les groupes de ressources ?

Les groupes de ressources sont un composant fondamental de la plateforme Azure. Un groupe de ressources est un conteneur logique de ressources déployées dans Azure. Ces ressources sont tous les éléments que vous créez dans un abonnement Azure, comme les machines virtuelles, les passerelles Application Gateway et les instances CosmosDB.

Regroupement logique

En regroupant les ressources selon leur utilisation, leur type ou leur emplacement, vous organisez et structurez l’ensemble des ressources que vous créez dans Azure.

exemple

Cycle de vie

Si vous supprimez un groupe de ressources, toutes les ressources qu’il contient sont également supprimées. L’organisation des ressources par cycle de vie peut être utile dans des environnements hors production, afin de pouvoir faire des tests et supprimer les ressources quand vous avez terminé. L’utilisation de groupes de ressources facilite la suppression en bloc des ressources.

Autorisation

Les groupes de ressources constituent également une étendue pour l’application des autorisations de contrôle d’accès en fonction du rôle (RBAC). En appliquant des autorisations de contrôle d’accès en fonction du rôle (RBAC) à un groupe de ressources, vous facilitez son administration et en limitez l’accès au strict nécessaire.

Utiliser des groupes de ressources pour une meilleure organisation

Convention de nommage cohérente

Pour commencer, vous devez adopter une convention de nommage compréhensible. Vous avez nommé notre groupe de ressources msftlearn-core-infrastructure-rg. Ce nom fournit des indications sur l’utilisation du groupe de ressources (msftlearn), sur les types de ressources qu’il contient (core-infrastructure) et sur son propre type de ressource (rg).

Principes d’organisation

Les groupes de ressources peuvent être organisés de différentes façons, comme nous allons le voir à travers quelques exemples. Vous pouvez placer toutes les ressources qui constituent l’infrastructure centrale dans ce groupe de ressources.

exemple

Vous pouvez aussi les organiser par environnement (production, AQ, développement).

exemple

Vous pouvez même combiner ces stratégies et les organiser par environnement et département. Placez les ressources « finance » de production et les ressources « finance » de développement dans deux groupes de ressources séparés.

exemple

Utiliser des étiquettes pour organiser les ressources

Vous pouvez ajouter et utiliser des étiquettes via le portail Azure, Azure CLI, Azure PowerShell, les modèles Resource Manager et l’API REST. Par exemple, pour ajouter une étiquette de ressource à un réseau virtuel à l’aide d’Azure CLI, vous pouvez utiliser la commande suivante :

az resource tag --tags Department=Finance \
    --resource-group msftlearn-core-infrastructure-rg \
    --name msftlearn-vnet1 \
    --resource-type "Microsoft.Network/virtualNetworks"

Utiliser des stratégies pour imposer des normes

Créer une stratégie

Vous voulez faire en sorte que toutes les ressources soient associées à l’étiquette Department et que, à défaut, la création soit bloquée. Vous devez créer une définition de stratégie, puis l’attribuer à une étendue.

Créer la définition de stratégie

  1. Si ce n’est déjà fait, accédez au portail Azure à partir d’un navigateur web. Dans la zone de recherche de la barre de navigation supérieure, recherchez Stratégie et sélectionnez le service Stratégie.

  2. Sélectionnez le volet Définitions dans la section Création dans le menu de gauche.

  3. Vous devez voir s’afficher la liste des stratégies prédéfinies disponibles. Dans cet exemple, vous allez créer votre propre stratégie personnalisée. Cliquez sur + Définition de stratégie dans le menu supérieur.

  4. La boîte de dialogue Nouvelle définition de stratégie s’affiche. Pour définir l’option Emplacement de définition, cliquez sur les points bleus …. Sélectionnez l’abonnement dans lequel placer la stratégie ; cet abonnement doit être le même que pour le groupe de ressources. Cliquez sur Sélectionner.

  5. De retour dans la boîte de dialogue Nouvelle définition de stratégie, dans la zone Nom, nommez votre stratégie Enforce tag on resource.

  6. Pour la Description, entrez This policy enforces the existence of a tag on a resource.

  7. Sous Catégorie, sélectionnez Utiliser l’existante, puis sélectionnez la catégorie Général.

  8. Dans Règle de stratégie, supprimez tout le texte dans la zone et collez le code JSON suivant à la place.

{
  "mode": "Indexed",
  "policyRule": {
    "if": {
      "field": "[concat('tags[', parameters('tagName'), ']')]",
      "exists": "false"
    },
    "then": {
      "effect": "deny"
    }
  },
  "parameters": {
    "tagName": {
      "type": "String",
      "metadata": {
        "displayName": "Tag Name",
        "description": "Name of the tag, such as 'environment'"
      }
    }
  }
}

Utiliser des verrous de ressources pour protéger les ressources

Que sont les verrous de ressource ?

Les verrous de ressource sont un paramètre qui peut être appliqué à n’importe quelle ressource pour en empêcher la modification ou la suppression. Ce paramètre peut être défini à la valeur Supprimer ou En lecture seule. Supprimer autorise toutes les opérations sur la ressource, mais empêche la suppression de la ressource. En lecture seule autorise uniquement les activités de lecture sur la ressource, et empêche ainsi toute modification ou suppression de la ressource. Les verrous de ressource peuvent être appliqués aux abonnements, aux groupes de ressources et à des ressources individuelles. Ils sont hérités quand ils sont appliqués à des niveaux supérieurs.

L’application du paramètre En lecture seule peut produire des résultats inattendus, car certaines opérations assimilées à des opérations de lecture nécessitent en réalité des actions supplémentaires. Par exemple, le placement d’un verrou En lecture seule sur un compte de stockage empêche tous les utilisateurs de lister les clés. L’opération de listage de clés est gérée par le biais d’une requête POST, car les clés retournées sont disponibles pour les opérations d’écriture.

Questionnaire

  1. Les étiquettes peuvent être appliquées à n’importe quel type de ressource sur Azure

Vrai

Faux

  1. Les étiquettes appliquées au niveau du groupe de ressources sont propagées dans toutes les ressources au sein du groupe de ressources.

Vrai

Faux

  1. Quelles sont les fonctionnalités suivantes qui ne s’appliquent pas aux groupes de ressources ?

Les ressources peuvent appartenir à un seul groupe de ressources à la fois.

Les ressources peuvent être déplacées d’un groupe de ressources à un autre groupe de ressources.

Les groupes de ressources peuvent être imbriqués.

Le contrôle d’accès en fonction du rôle peut être appliqué au groupe de ressources.

  1. Laquelle des approches suivantes est-elle une utilisation appropriée des étiquettes ?

Utilisation des étiquettes pour associer un centre de coûts aux ressources en vue de la facturation interne

Utilisation des étiquettes conjointement avec Azure Automation pour planifier des fenêtres de maintenance

Utilisation des étiquettes pour enregistrer l’association environnement/département

Toutes les utilisations d’étiquettes ci-dessus sont appropriées

  1. Laquelle des approches suivantes est la méthode la plus efficace pour garantir le respect d’une convention de nommage dans votre abonnement ?

Envoyer un e-mail détaillant les conventions de nommage, en espérant que celles-ci seront respectées

Créer une stratégie spécifiant vos exigences de nommage et l’assigner à l’étendue de votre abonnement

Accorder à tous les utilisateurs, sauf vous, l’accès en lecture seule à l’abonnement. Exiger que chaque demande de création de ressources vous soit envoyée pour pouvoir vérifier les noms donnés aux ressources, puis les créer.

  1. Lequel des éléments suivants se prêterait-il à l’utilisation d’un verrou de ressource ?

Un circuit ExpressRoute avec une connectivité à votre réseau local

Une machine virtuelle hors production utilisée pour tester occasionnellement des builds d’application

Un compte de stockage utilisé pour stocker temporairement les images traitées dans un environnement de développement