Tutoriel : Protéger les nouvelles ressources avec des verrous de ressource Azure BlueprintsTutorial: Protect new resources with Azure Blueprints resource locks

Les verrous de ressources Azure Blueprints permettent de protéger les ressources nouvellement déployées contre toute manipulation, même par un compte disposant du rôle Propriétaire.With Azure Blueprints resource locks, you can protect newly deployed resources from being tampered with, even by an account with the Owner role. Vous pouvez ajouter cette protection dans les définitions de blueprint des ressources qui ont été créées par un artefact de modèle Resource Manager.You can add this protection in the blueprint definitions of resources created by a Resource Manager template artifact.

Dans ce tutoriel, vous allez effectuer les étapes suivantes :In this tutorial, you'll complete these steps:

  • Créer une définition de blueprintCreate a blueprint definition
  • Affecter l’état Publié à votre définition de blueprintMark your blueprint definition as Published
  • Affecter votre définition de blueprint à un abonnement existantAssign your blueprint definition to an existing subscription
  • Inspecter le nouveau groupe de ressourcesInspect the new resource group
  • Annuler l’affectation du blueprint afin de retirer les verrousUnassign the blueprint to remove the locks

PrérequisPrerequisites

Si vous n’avez pas d’abonnement Azure, créez un compte gratuit avant de commencer.If you don't have an Azure subscription, create a free account before you begin.

Créer une définition de blueprintCreate a blueprint definition

Tout d’abord, créez la définition de blueprint.First, create the blueprint definition.

  1. Sélectionnez Tous les services dans le volet gauche.Select All services in the left pane. Recherchez et sélectionnez Blueprints.Search for and select Blueprints.

  2. Dans la page Démarrage située à gauche, sélectionnez Créer sous Créer un blueprint.On the Getting started page on the left, select Create under Create a blueprint.

  3. Accédez à l’exemple de blueprint Blueprint vide situé en haut de la page.Find the Blank Blueprint blueprint sample at the top of the page. Sélectionnez Commencer par un blueprint vide.Select Start with blank blueprint.

  4. Entrez les informations suivantes sous l’onglet Fonctions de base :Enter this information on the Basics tab:

    • Nom du blueprint : Entrez le nom de votre copie de l’exemple de blueprint.Blueprint name: Provide a name for your copy of the blueprint sample. Pour ce didacticiel, nous utiliserons le nom locked-storageaccount.For this tutorial, we'll use the name locked-storageaccount.
    • Description du blueprint : Ajoutez une description pour la définition de blueprint.Blueprint description: Add a description for the blueprint definition. Utilisez For testing blueprint resource locking on deployed resources (« Pour tester le verrouillage de ressources de blueprint sur les ressources déployées »).Use For testing blueprint resource locking on deployed resources.
    • Emplacement de la définition : Sélectionnez le bouton représentant des points de suspension (...), puis sélectionnez le groupe d’abonnement ou l’abonnement dans lequel enregistrer votre définition de blueprint.Definition location: Select the ellipsis button (...) and then select the management group or subscription to save your blueprint definition to.
  5. Sélectionnez l’onglet Artefacts situé en haut de la page, ou sélectionnez Suivant : Artefacts dans le bas de la page.Select the Artifacts tab at the top of the page, or select Next: Artifacts at the bottom of the page.

  6. Ajoutez un groupe de ressources au niveau de l’abonnement :Add a resource group at the subscription level:

    1. Sélectionnez la ligne Ajouter un artefact située sous Abonnement.Select the Add artifact row under Subscription.
    2. Sélectionnez Groupe de ressources sous Type d’artefact.Select Resource Group under Artifact type.
    3. Définissez le Nom complet de l'artefact sur RGtoLock.Set the Artifact display name to RGtoLock.
    4. Laissez les champs Nom du groupe de ressources et Emplacement vides, mais vérifiez que la case de chaque propriété est cochée pour en faire des paramètres dynamiques.Leave the Resource Group Name and Location boxes blank, but make sure the check box is selected on each property to make them dynamic parameters.
    5. Sélectionnez Ajouter pour ajouter l’artefact au blueprint.Select Add to add the artifact to the blueprint.
  7. Ajoutez un modèle sous le groupe de ressources :Add a template under the resource group:

    1. Sélectionnez la ligne Ajouter un artefact sous l’entrée RGtoLock.Select the Add artifact row under the RGtoLock entry.
    2. Sélectionnez Modèle Azure Resource Manager sous Type d’artefact, définissez Nom complet de l’artefact sur la valeur StorageAccount, et laissez le champ Description vide.Select Azure Resource Manager template under Artifact type, set Artifact display name to StorageAccount, and leave Description blank.
    3. Sous l’onglet Modèle, collez le modèle Resource Manager suivant dans la zone de l’éditeur.On the Template tab, paste the following Resource Manager template into the editor box. Après avoir collé le modèle, sélectionnez Ajouter pour ajouter cet artefact au blueprint.After you paste in the template, select Add to add the artifact to the blueprint.
    {
        "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
        "contentVersion": "1.0.0.0",
        "parameters": {
            "storageAccountType": {
                "type": "string",
                "defaultValue": "Standard_LRS",
                "allowedValues": [
                    "Standard_LRS",
                    "Standard_GRS",
                    "Standard_ZRS",
                    "Premium_LRS"
                ],
                "metadata": {
                    "description": "Storage Account type"
                }
            }
        },
        "variables": {
            "storageAccountName": "[concat('store', uniquestring(resourceGroup().id))]"
        },
        "resources": [{
            "type": "Microsoft.Storage/storageAccounts",
            "name": "[variables('storageAccountName')]",
            "location": "[resourceGroup().location]",
            "apiVersion": "2018-07-01",
            "sku": {
                "name": "[parameters('storageAccountType')]"
            },
            "kind": "StorageV2",
            "properties": {}
        }],
        "outputs": {
            "storageAccountName": {
                "type": "string",
                "value": "[variables('storageAccountName')]"
            }
        }
    }
    
  8. Cliquez sur Enregistrer le brouillon en bas de la page.Select Save Draft at the bottom of the page.

Cette étape crée la définition de blueprint dans le groupe d’administration ou l’abonnement sélectionné.This step creates the blueprint definition in the selected management group or subscription.

Dès que la notification Définition de blueprint enregistrée s’affiche dans le portail, passez à l’étape suivante.After the Saving blueprint definition succeeded portal notification appears, go to the next step.

Publier la définition de blueprintPublish the blueprint definition

Votre définition de blueprint est à présent créée dans votre environnement.Your blueprint definition has now been created in your environment. Elle est créée en mode Brouillon et doit être publiée avant de pouvoir être attribuée et déployée.It's created in Draft mode and must be published before it can be assigned and deployed.

  1. Sélectionnez Tous les services dans le volet gauche.Select All services in the left pane. Recherchez et sélectionnez Blueprints.Search for and select Blueprints.

  2. Sélectionnez la page Définitions de blueprint à gauche.Select the Blueprint definitions page on the left. Utilisez les filtres pour trouver la définition de blueprint locked-storageaccount, puis sélectionnez celle-ci.Use the filters to find the locked-storageaccount blueprint definition, and then select it.

  3. Sélectionnez Publier le blueprint dans le haut de la page.Select Publish blueprint at the top of the page. Dans le nouveau volet situé sur la droite, entrez 1.0 pour la version.In the new pane on the right, enter 1.0 as the Version. Cette propriété est utile si vous devez faire une modification ultérieurement.This property is useful if you make a change later. Sous Change notes, entrez des remarques sur les modifications, par exemple, Première version publiée pour le verrouillage des ressources déployées du blueprint.Enter Change notes, such as First version published for locking blueprint deployed resources. Sélectionnez ensuite Publier en bas de la page.Then select Publish at the bottom of the page.

Cette étape permet d’affecter le plan à un abonnement.This step makes it possible to assign the blueprint to a subscription. Vous pouvez modifier la définition de blueprint, même après sa publication.After the blueprint definition is published, you can still make changes. Si vous la modifiez, vous devez la publier avec une nouvelle valeur de version, de manière à pouvoir voir les différences qui existent entre les versions d’une même définition de blueprint.If you make changes, you need to publish the definition with a new version value to track differences between versions of the same blueprint definition.

Dès que la notification Définition de blueprint publiée s’affiche dans le portail, passez à l’étape suivante.After the Publishing blueprint definition succeeded portal notification appears, go to the next step.

Affecter la définition de blueprintAssign the blueprint definition

Une fois que la définition de blueprint est publiée, vous pouvez l’affecter à un abonnement dans le groupe d’administration où vous avez enregistré la définition.After the blueprint definition is published, you can assign it to a subscription within the management group where you saved it. Dans cette étape, vous allez fournir des paramètres pour que chaque déploiement de la définition de blueprint soit unique.In this step, you provide parameters to make each deployment of the blueprint definition unique.

  1. Sélectionnez Tous les services dans le volet gauche.Select All services in the left pane. Recherchez et sélectionnez Blueprints.Search for and select Blueprints.

  2. Sélectionnez la page Définitions de blueprint à gauche.Select the Blueprint definitions page on the left. Utilisez les filtres pour trouver la définition de blueprint locked-storageaccount, puis sélectionnez celle-ci.Use the filters to find the locked-storageaccount blueprint definition, and then select it.

  3. Sélectionnez Affecter le blueprint dans le haut de la page.Select Assign blueprint at the top of the blueprint definition page.

  4. Indiquez les valeurs des paramètres pour l’affectation du blueprint :Provide the parameter values for the blueprint assignment:

    • Concepts de baseBasics

      • Abonnements : Sélectionnez un ou plusieurs des abonnements du groupe d’administration où vous avez enregistré votre définition de blueprint.Subscriptions: Select one or more of the subscriptions that are in the management group where you saved your blueprint definition. Si vous sélectionnez plusieurs abonnements, une affectation est créée pour chacun d’eux à l’aide des paramètres saisis.If you select more than one subscription, an assignment will be created for each subscription, using the parameters you enter.
      • Nom de l’affectation : Le nom est prérempli automatiquement en fonction du nom de la définition du blueprint.Assignment name: The name is pre-populated based on the name of the blueprint definition. Cette affectation représente le verrouillage du nouveau groupe de ressources. Renommez celle-ci en assignment-locked-storageaccount-TestingBPLocks.We want this assignment to represent locking the new resource group, so change the assignment name to assignment-locked-storageaccount-TestingBPLocks.
      • Emplacement : Sélectionnez une région dans laquelle créer l’identité managée.Location: Select a region in which to create the managed identity. Azure Blueprint utilise cette identité managée pour déployer tous les artefacts dans le blueprint affecté.Azure Blueprint uses this managed identity to deploy all artifacts in the assigned blueprint. Pour en savoir plus, consultez Identités managées pour les ressources Azure.To learn more, see managed identities for Azure resources. Pour ce didacticiel, sélectionnez USA Est 2.For this tutorial, select East US 2.
      • Version de définition du blueprint : Sélectionnez la version publiée 1.0 de la définition de blueprint.Blueprint definition version: Select the published version 1.0 of the blueprint definition.
    • Verrouiller l'affectationLock Assignment

      Sélectionnez le mode de verrouillage Lecture seule.Select the Read Only blueprint lock mode. Pour plus d’informations, consultez Verrouillage des ressources des blueprints.For more information, see blueprints resource locking.

    • Identité géréeManaged Identity

      Utilisez l’option par défaut : Affecté(e) par le système.Use the default option: System assigned. Pour plus d’informations, voir Identités managées.For more information, see managed identities.

    • Paramètres d'artefactArtifact parameters

      Les paramètres définis dans cette section s’appliquent à l’artefact sous lequel ils sont définis.The parameters defined in this section apply to the artifact under which they're defined. Ces paramètres sont des paramètres dynamiques puisqu’ils sont définis lors de l’affectation du blueprint.These parameters are dynamic parameters because they're defined during the assignment of the blueprint. Pour chaque artefact, définissez la valeur du paramètre en vous référant à la colonne Valeur.For each artifact, set the parameter value to what you see in the Value column.

      Nom de l’artefactArtifact name Type d’artefactArtifact type Nom du paramètreParameter name ValeurValue DescriptionDescription
      Groupe de ressources RGtoLockRGtoLock resource group Resource groupResource group NomName TestingBPLocksTestingBPLocks Définit le nom du premier groupe de ressources auquel appliquer les verrous de blueprint.Defines the name of the new resource group to apply blueprint locks to.
      Groupe de ressources RGtoLockRGtoLock resource group Resource groupResource group EmplacementLocation USA Ouest 2West US 2 Définit l’emplacement du nouveau groupe de ressources auquel appliquer les verrous de blueprint.Defines the location of the new resource group to apply blueprint locks to.
      StorageAccountStorageAccount Modèle Resource ManagerResource Manager template storageAccountType (StorageAccount)storageAccountType (StorageAccount) Standard_GRSStandard_GRS Référence SKU du stockage.The storage SKU. La valeur par défaut est Standard_LRS.The default value is Standard_LRS.
  5. Une fois tous les paramètres entrés, sélectionnez Affecter au bas de la page.After you've entered all parameters, select Assign at the bottom of the page.

Cette étape déploie les ressources définies et configure l’option Verrouiller l’affectation sélectionnée.This step deploys the defined resources and configures the selected Lock Assignment. L’application des verrous de blueprint peut prendre jusqu’à 30 minutes.It can take up to 30 minutes to apply blueprint locks.

Dès que la notification Définition de blueprint affectée s’affiche dans le portail, passez à l’étape suivante.After the Assigning blueprint definition succeeded portal notification appears, go to the next step.

Examiner les ressources déployées par l’affectationInspect resources deployed by the assignment

L’affectation crée le groupe de ressources TestingBPLocks et le compte de stockage déployé par l’artefact du modèle Resource Manager.The assignment creates the resource group TestingBPLocks and the storage account deployed by the Resource Manager template artifact. Le nouveau groupe de ressources et l’état de verrouillage sélectionné sont affichés dans la page de détails de l’affectation.The new resource group and the selected lock state are shown on the assignment details page.

  1. Sélectionnez Tous les services dans le volet gauche.Select All services in the left pane. Recherchez et sélectionnez Blueprints.Search for and select Blueprints.

  2. Sélectionnez la page Blueprints affectés à gauche.Select the Assigned blueprints page on the left. Utilisez les filtres pour trouver l’affectation de blueprint assignment-locked-storageaccount-TestingBPLocks, puis sélectionnez celle-ci.Use the filters to find the assignment-locked-storageaccount-TestingBPLocks blueprint assignment, and then select it.

    Dans cette page, nous voyons que l’affectation a réussi et que les ressources ont été déployées avec le nouvel état de verrouillage de blueprint.From this page, we can see that the assignment succeeded and that the resources were deployed with the new blueprint lock state. Si l’affectation est mise à jour, le menu déroulant Opération d’affectation affiche des détails sur le déploiement de chaque version de définition.If the assignment is updated, the Assignment operation drop-down shows details about the deployment of each definition version. Vous pouvez sélectionner le groupe de ressources pour ouvrir la page de propriétés.You can select the resource group to open the property page.

  3. Sélectionnez le groupe de ressources TestingBPLocks.Select the TestingBPLocks resource group.

  4. Sélectionnez le volet Contrôle d’accès (IAM) situé sur la gauche.Select the Access control (IAM) page on the left. Ensuite, sélectionnez l’onglet Attributions de rôles.Then select the Role assignments tab.

    Nous pouvons constater que l’affectation de blueprint assignment-locked-storageaccount-TestingBPLocks dispose du rôle Propriétaire.Here we see that the assignment-locked-storageaccount-TestingBPLocks blueprint assignment has the Owner role. Elle dispose de ce rôle, car celui-ci a été utilisé pour déployer et verrouiller le groupe de ressources.It has this role because this role was used to deploy and lock the resource group.

  5. Sélectionnez l’onglet Affectations de refus.Select the Deny assignments tab.

    L’affectation du blueprint a créé une instance Refuser l’affectation sur le groupe de ressources déployé pour appliquer le mode Lecture seule de verrouillage du blueprint.The blueprint assignment created a deny assignment on the deployed resource group to enforce the Read Only blueprint lock mode. Cette affectation de refus empêche un utilisateur disposant de droits appropriés dans l’onglet Attributions de rôle d’effectuer des actions particulières.The deny assignment prevents someone with appropriate rights on the Role assignments tab from taking specific actions. L’affectation de refus concerne Tous les principaux.The deny assignment affects All principals.

    Pour plus d’informations sur l’exclusion d’un principal à partir d’une affectation de refus, consultez Verrouillage des ressources des blueprints.For information about excluding a principal from a deny assignment, see blueprints resource locking.

  6. Sélectionnez l’affectation Refuser, puis sélectionnez la page Autorisations refusées située sur la gauche.Select the deny assignment, and then select the Denied Permissions page on the left.

    L’affectation Refuser empêche toutes les opérations ayant une configuration * et Action, mais autorise l’accès en lecture, en excluant */read via NotActions.The deny assignment is preventing all operations with the * and Action configuration, but it allows read access by excluding */read via NotActions.

  7. Dans la barre de navigation du portail Azure, sélectionnez TestingBPLocks - Contrôle d’accès (IAM) .In the Azure portal breadcrumb, select TestingBPLocks - Access control (IAM). Sélectionnez ensuite la page Vue d’ensemble à gauche, puis le bouton Supprimer le groupe de ressources.Then select the Overview page on the left and then the Delete resource group button. Entrez le nom TestingBPLocks pour confirmer la suppression, puis sélectionnez Supprimer au bas du volet.Enter the name TestingBPLocks to confirm the delete and then select Delete at the bottom of the pane.

    Le message de notification du portail Échec de la suppression du groupe de ressources TestingBPLocks s’affiche.The portal notification Delete resource group TestingBPLocks failed appears. L’erreur indique que, même si votre compte est autorisé à supprimer le groupe de ressources, l’accès est refusé par l’affectation du blueprint.The error states that although your account has permission to delete the resource group, access is denied by the blueprint assignment. N’oubliez pas que nous avons sélectionné le mode Lecture seule de verrouillage du blueprint pendant l’affectation du blueprint.Remember that we selected the Read Only blueprint lock mode during blueprint assignment. Le verrou de blueprint empêche un compte disposant d’autorisations, y compris Propriétaire, de supprimer la ressource.The blueprint lock prevents an account with permission, even Owner, from deleting the resource. Pour plus d’informations, consultez Verrouillage des ressources des blueprints.For more information, see blueprints resource locking.

Ces étapes montrent que nos ressources déployées sont à présent protégées par les verrous du blueprint qui empêchent toute suppression non souhaitée, même à partir d’un compte autorisé à supprimer les ressources.These steps show that our deployed resources are now protected with blueprint locks that prevent unwanted deletion, even from an account that has permission to delete the resources.

Annuler l’affectation du blueprintUnassign the blueprint

La dernière étape consiste à supprimer l’affectation de la définition de blueprint.The last step is to remove the assignment of the blueprint definition. Le fait de supprimer l’affectation ne supprime pas les artefacts associés.Removing the assignment doesn't remove the associated artifacts.

  1. Sélectionnez Tous les services dans le volet gauche.Select All services in the left pane. Recherchez et sélectionnez Blueprints.Search for and select Blueprints.

  2. Sélectionnez la page Blueprints affectés à gauche.Select the Assigned blueprints page on the left. Utilisez les filtres pour trouver l’affectation de blueprint assignment-locked-storageaccount-TestingBPLocks, puis sélectionnez celle-ci.Use the filters to find the assignment-locked-storageaccount-TestingBPLocks blueprint assignment, and then select it.

  3. Sélectionnez Annuler l'affectation du blueprint en haut de la page.Select Unassign blueprint at the top of the page. Lisez l’avertissement de la boîte de dialogue de confirmation, puis sélectionnez OK.Read the warning in the confirmation dialog box, and then select OK.

    La suppression du blueprint entraîne la suppression de ses verrous.When the blueprint assignment is removed, the blueprint locks are also removed. Les ressources peuvent à nouveau être supprimées par un compte disposant des autorisations nécessaires.The resources can once again be deleted by an account with appropriate permissions.

  4. Sélectionnez Groupes de ressources dans le menu Azure, puis sélectionnez TestingBPLocks.Select Resource groups from the Azure menu, and then select TestingBPLocks.

  5. Sélectionnez la page Contrôle d’accès (IAM) située sur la gauche, puis sélectionnez l’onglet Attributions de rôles.Select the Access control (IAM) page on the left and then select the Role assignments tab.

Du point de vue de la sécurité du groupe de ressources, l’affectation du blueprint n’a plus d’accès Propriétaire.The security for the resource group shows that the blueprint assignment no longer has Owner access.

Dès que la notification Affectation de blueprint supprimée s’affiche dans le portail, passez à l’étape suivante.After the Removing blueprint assignment succeeded portal notification appears, go to the next step.

Nettoyer les ressourcesClean up resources

Une fois que vous avez terminé le tutoriel, supprimez les ressources suivantes :When you're finished with this tutorial, delete these resources:

  • Groupe de ressources TestingBPLocksResource group TestingBPLocks
  • Définition de blueprint locked-storageaccountBlueprint definition locked-storageaccount

Étapes suivantesNext steps

Dans ce tutoriel, vous avez appris à protéger de nouvelles ressources déployées avec Azure Blueprints.In this tutorial, you've learned how to protect new resources deployed with Azure Blueprints. Pour plus d’informations sur Azure Blueprints, consultez l’article concernant le cycle de vie des blueprints.To learn more about Azure Blueprints, continue to the blueprint lifecycle article.