Öğretici: Azure şemaları kaynak kilitleri ile yeni kaynakları korumaTutorial: Protect new resources with Azure Blueprints resource locks

Azure şemaları kaynak kilitleriile, yeni dağıtılan kaynakların, sahip rolü olan bir hesap tarafından bile üzerinde oynanarak korunmasını sağlayabilirsiniz.With Azure Blueprints resource locks, you can protect newly deployed resources from being tampered with, even by an account with the Owner role. Bu korumayı, bir kaynak yöneticisi şablonu yapıtı tarafından oluşturulan kaynakların şema tanımlarına ekleyebilirsiniz.You can add this protection in the blueprint definitions of resources created by a Resource Manager template artifact.

Bu öğreticide, aşağıdaki adımları tamamlayacaksınız:In this tutorial, you'll complete these steps:

  • Şema tanımı oluşturmaCreate a blueprint definition
  • Şema tanımınızı yayımlandı olarak işaretleyinMark your blueprint definition as Published
  • Şema tanımınızı mevcut bir aboneliğe atamaAssign your blueprint definition to an existing subscription
  • Yeni kaynak grubunu İnceleInspect the new resource group
  • Kilitleri kaldırmak için şema atamasını kaldırmaUnassign the blueprint to remove the locks

ÖnkoşullarPrerequisites

Bu öğreticiyi tamamlamak için bir Azure aboneliğinizin olması gerekir.To complete this tutorial, you need an Azure subscription. Azure aboneliğiniz yoksa başlamadan önce ücretsiz bir hesap oluşturun.If you don't have an Azure subscription, create a free account before you begin.

Şema tanımı oluşturmaCreate a blueprint definition

İlk olarak, şema tanımını oluşturun.First, create the blueprint definition.

  1. Sol bölmedeki tüm hizmetler ' i seçin.Select All services in the left pane. Şemalarıarayın ve seçin.Search for and select Blueprints.

  2. Soldaki Başlarken sayfasında, şema Oluşturaltında Oluştur ' u seçin.On the Getting started page on the left, select Create under Create a blueprint.

  3. Sayfanın üst kısmındaki boş BLUEPRINT şema örneğini bulun.Find the Blank Blueprint blueprint sample at the top of the page. Boş şema ile Başlat' ı seçin.Select Start with blank blueprint.

  4. Temel bilgiler sekmesinde bu bilgileri girin:Enter this information on the Basics tab:

    • Şema adı: şema örneğinin kopyasına bir ad verin.Blueprint name: Provide a name for your copy of the blueprint sample. Bu öğreticide, kilitli-storageaccountadını kullanacağız.For this tutorial, we'll use the name locked-storageaccount.
    • Şema açıklaması: şema tanımı için bir açıklama ekleyin.Blueprint description: Add a description for the blueprint definition. Dağıtılan kaynaklarda şema kaynak kilitlemeyi test etmek içinkullanın.Use For testing blueprint resource locking on deployed resources.
    • Tanım konumu: üç nokta düğmesini (...) seçin ve ardından şema tanımınızı kaydetmek için yönetim grubunu veya aboneliği seçin.Definition location: Select the ellipsis button (...) and then select the management group or subscription to save your blueprint definition to.
  5. Sayfanın üst kısmındaki yapıtlar sekmesini seçin veya sayfanın altındaki yapıtlar ' ı seçin.Select the Artifacts tab at the top of the page, or select Next: Artifacts at the bottom of the page.

  6. Abonelik düzeyinde bir kaynak grubu ekleyin:Add a resource group at the subscription level:

    1. Abonelikaltında yapıt Ekle satırını seçin.Select the Add artifact row under Subscription.
    2. Yapıt türüaltında kaynak grubu ' nu seçin.Select Resource Group under Artifact type.
    3. Yapıt görünen adını rgtolockolarak ayarlayın.Set the Artifact display name to RGtoLock.
    4. Kaynak grubu adını ve konum kutularını boş bırakın, ancak her bir özellikte onay kutusunun seçili olduğundan emin olun ve dinamik parametreleriyapın.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. Yapıtı şemasını Blueprint öğesine eklemek için Ekle ' yi seçin.Select Add to add the artifact to the blueprint.
  7. Kaynak grubunun altına bir şablon ekleyin:Add a template under the resource group:

    1. Rgtolock girişinin altındaki yapıt Ekle satırını seçin.Select the Add artifact row under the RGtoLock entry.
    2. Yapıt türüaltında Azure Resource Manager şablonu ' nu seçin, yapıt görünen adını storageaccountolarak ayarlayın ve açıklamayı boş bırakın.Select Azure Resource Manager template under Artifact type, set Artifact display name to StorageAccount, and leave Description blank.
    3. Şablon sekmesinde, aşağıdaki kaynak yöneticisi şablonunu düzenleyici kutusuna yapıştırın.On the Template tab, paste the following Resource Manager template into the editor box. Şablonu yapıştırdıktan sonra, yapıtı şemasını Blueprint 'e eklemek için Ekle ' yi seçin.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. Sayfanın alt kısmındaki Taslağı kaydet ' i seçin.Select Save Draft at the bottom of the page.

Bu adım, seçilen yönetim grubunda veya abonelikte şema tanımını oluşturur.This step creates the blueprint definition in the selected management group or subscription.

Şema tanımını kaydetme başarılı oldu Portal bildirimi göründüğünde bir sonraki adıma gidin.After the Saving blueprint definition succeeded portal notification appears, go to the next step.

Şema tanımını yayımlamaPublish the blueprint definition

Şema tanımınız artık ortamınızda oluşturulmuştur.Your blueprint definition has now been created in your environment. Taslak modunda oluşturulur ve atanmadan ve dağıtılmadan önce yayımlanmaları gerekir.It's created in Draft mode and must be published before it can be assigned and deployed.

  1. Sol bölmedeki tüm hizmetler ' i seçin.Select All services in the left pane. Şemalarıarayın ve seçin.Search for and select Blueprints.

  2. Sol taraftaki Blueprint tanımları sayfasını seçin.Select the Blueprint definitions page on the left. Kilitli-storageaccount şeması tanımını bulmak için filtreleri kullanın ve ardından seçin.Use the filters to find the locked-storageaccount blueprint definition, and then select it.

  3. Sayfanın üst kısmındaki şemayı Yayımla ' yı seçin.Select Publish blueprint at the top of the page. Sağdaki yeni bölmede Sürümolarak 1,0 girin.In the new pane on the right, enter 1.0 as the Version. Daha sonra bir değişiklik yaparsanız bu özellik faydalıdır.This property is useful if you make a change later. Şeması dağıtılan kaynakları kilitlemek için yayımlanan ilk sürümgibi değişiklik notlarınıgirin.Enter Change notes, such as First version published for locking blueprint deployed resources. Ardından sayfanın alt kısmında Yayımla ' yı seçin.Then select Publish at the bottom of the page.

Bu adım, şema 'in bir aboneliğe atanmasını olanaklı kılar.This step makes it possible to assign the blueprint to a subscription. Şema tanımı yayımlandıktan sonra yine de değişiklik yapabilirsiniz.After the blueprint definition is published, you can still make changes. Değişiklik yaparsanız, aynı şema tanımının sürümleri arasındaki farkları izlemek için tanımı yeni bir sürüm değeriyle yayımlamanız gerekir.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.

Şema tanımını yayımlama başarılı oldu Portal bildirimi göründüğünde bir sonraki adıma gidin.After the Publishing blueprint definition succeeded portal notification appears, go to the next step.

Şema tanımını atamaAssign the blueprint definition

Şema tanımı yayımlandıktan sonra, bunu kaydettiğiniz yönetim grubu içindeki bir aboneliğe atayabilirsiniz.After the blueprint definition is published, you can assign it to a subscription within the management group where you saved it. Bu adımda, şema tanımının her bir dağıtımını benzersiz hale getirmek için parametreler sağlarsınız.In this step, you provide parameters to make each deployment of the blueprint definition unique.

  1. Sol bölmedeki tüm hizmetler ' i seçin.Select All services in the left pane. Şemalarıarayın ve seçin.Search for and select Blueprints.

  2. Sol taraftaki Blueprint tanımları sayfasını seçin.Select the Blueprint definitions page on the left. Kilitli-storageaccount şeması tanımını bulmak için filtreleri kullanın ve ardından seçin.Use the filters to find the locked-storageaccount blueprint definition, and then select it.

  3. Şema tanım sayfasının en üstünde şema ata ' yı seçin.Select Assign blueprint at the top of the blueprint definition page.

  4. Şema atamasının parametre değerlerini sağlayın:Provide the parameter values for the blueprint assignment:

    • Temel BilgilerBasics

      • Abonelikler: şema tanımınızı kaydettiğiniz yönetim grubunda olan bir veya daha fazla abonelik seçin.Subscriptions: Select one or more of the subscriptions that are in the management group where you saved your blueprint definition. Birden fazla abonelik seçerseniz, girdiğiniz parametreleri kullanarak her bir abonelik için bir atama oluşturulacaktır.If you select more than one subscription, an assignment will be created for each subscription, using the parameters you enter.
      • Atama adı: ad, şema tanımının adına göre önceden doldurulur.Assignment name: The name is pre-populated based on the name of the blueprint definition. Bu atamanın yeni kaynak grubunu kilitlemeyi göstermesini istiyoruz, bu nedenle atama adını atama-kilitli-storageaccount-Testingbpkilitlerolarak değiştirin.We want this assignment to represent locking the new resource group, so change the assignment name to assignment-locked-storageaccount-TestingBPLocks.
      • Konum: yönetilen kimliğin oluşturulacağı bölgeyi seçin.Location: Select a region in which to create the managed identity. Azure Blueprint bu yönetilen kimliği kullanarak tüm yapıtları atanmış şemaya dağıtır.Azure Blueprint uses this managed identity to deploy all artifacts in the assigned blueprint. Daha fazla bilgi için bkz. Azure kaynakları için yönetilen kimlikler.To learn more, see managed identities for Azure resources. Bu öğretici için Doğu ABD 2' yi seçin.For this tutorial, select East US 2.
      • Şema tanımı sürümü: şema tanımının yayınlanan 1,0 sürümünü seçin.Blueprint definition version: Select the published version 1.0 of the blueprint definition.
    • Kilit atamasıLock Assignment

      Salt okuma şeması kilit modunu seçin.Select the Read Only blueprint lock mode. Daha fazla bilgi için bkz. şema kaynağı kilitleme.For more information, see blueprints resource locking.

    • Yönetilen kimlikManaged Identity

      Varsayılan seçeneği kullanın: sistem atandı.Use the default option: System assigned. Daha fazla bilgi için bkz. Yönetilen kimlikler.For more information, see managed identities.

    • Yapıt parametreleriArtifact parameters

      Bu bölümde tanımlanan parametreler, tanımlandıkları yapıt için geçerlidir.The parameters defined in this section apply to the artifact under which they're defined. Şema atama sırasında tanımlandıklarından, bu parametreler dinamik parametrelerdir .These parameters are dynamic parameters because they're defined during the assignment of the blueprint. Her yapıt için, parametre değerini değer sütununda gördüğünüz değere ayarlayın.For each artifact, set the parameter value to what you see in the Value column.

      Yapıt adıArtifact name Yapıt türüArtifact type Parametre adıParameter name DeğerValue AçıklamaDescription
      RGtoLock kaynak grubuRGtoLock resource group Kaynak grubuResource group AdıName TestingbpkilitleriTestingBPLocks Şema kilitlerinin uygulanacağı yeni kaynak grubunun adını tanımlar.Defines the name of the new resource group to apply blueprint locks to.
      RGtoLock kaynak grubuRGtoLock resource group Kaynak grubuResource group KonumLocation Batı ABD 2West US 2 Şema kilitlerini uygulamak için yeni kaynak grubunun konumunu tanımlar.Defines the location of the new resource group to apply blueprint locks to.
      StorageAccountStorageAccount Resource Manager şablonuResource Manager template storageAccountType (StorageAccount)storageAccountType (StorageAccount) Standard_GRSStandard_GRS Depolama SKU 'SU.The storage SKU. Varsayılan değer Standard_LRS' dir.The default value is Standard_LRS.
  5. Tüm parametreleri girdikten sonra sayfanın alt kısmındaki ata ' yı seçin.After you've entered all parameters, select Assign at the bottom of the page.

Bu adım, tanımlı kaynakları dağıtır ve seçili kilit atamasınıyapılandırır.This step deploys the defined resources and configures the selected Lock Assignment. Şema kilitlerinin uygulanması 30 dakika kadar sürebilir.It can take up to 30 minutes to apply blueprint locks.

Şema tanımı başarılı oldu Portal bildirimi seçildikten sonra, bir sonraki adıma gidin.After the Assigning blueprint definition succeeded portal notification appears, go to the next step.

Atama tarafından dağıtılan kaynakları İnceleInspect resources deployed by the assignment

Atama, Testingbpkilitler kaynak grubunu ve Kaynak Yöneticisi şablonu yapıtı tarafından dağıtılan depolama hesabını oluşturur.The assignment creates the resource group TestingBPLocks and the storage account deployed by the Resource Manager template artifact. Yeni kaynak grubu ve seçilen kilit durumu atama ayrıntıları sayfasında gösterilir.The new resource group and the selected lock state are shown on the assignment details page.

  1. Sol bölmedeki tüm hizmetler ' i seçin.Select All services in the left pane. Şemalarıarayın ve seçin.Search for and select Blueprints.

  2. Sol taraftaki atanan şemalar sayfasını seçin.Select the Assigned blueprints page on the left. Atama-kilitli-storageaccount-Testingbpkilitleri şeması atamasını bulmak için filtreleri kullanın ve ardından seçin.Use the filters to find the assignment-locked-storageaccount-TestingBPLocks blueprint assignment, and then select it.

    Bu sayfadan, atamanın başarılı olduğunu ve kaynakların yeni şema kilit durumuyla dağıtıldığını görebiliriz.From this page, we can see that the assignment succeeded and that the resources were deployed with the new blueprint lock state. Atama güncelleştirilirse, atama işlemi açılır listesi her tanım sürümünün dağıtımıyla ilgili ayrıntıları gösterir.If the assignment is updated, the Assignment operation drop-down shows details about the deployment of each definition version. Özellik sayfasını açmak için kaynak grubunu seçebilirsiniz.You can select the resource group to open the property page.

  3. Testingbpkilitler kaynak grubunu seçin.Select the TestingBPLocks resource group.

  4. Sol taraftaki erişim denetimi (IAM) sayfasını seçin.Select the Access control (IAM) page on the left. Ardından rol atamaları sekmesini seçin.Then select the Role assignments tab.

    Burada, atama-kilitleme-storageaccount-testingbpkilitleri şema atamasının Owner rolüne sahip olduğunu görüyoruz.Here we see that the assignment-locked-storageaccount-TestingBPLocks blueprint assignment has the Owner role. Bu rol, kaynak grubunu dağıtmak ve kilitlemek için kullanıldığından bu rolü içeriyor.It has this role because this role was used to deploy and lock the resource group.

  5. Atamaları Reddet sekmesini seçin.Select the Deny assignments tab.

    Şema ataması, salt okuma şeması kilit modunu zorlamak için dağıtılan kaynak grubunda bir reddetme ataması oluşturdu.The blueprint assignment created a deny assignment on the deployed resource group to enforce the Read Only blueprint lock mode. Reddetme ataması, rol atamaları sekmesinde uygun haklara sahip birinin belirli eylemleri almasını engeller.The deny assignment prevents someone with appropriate rights on the Role assignments tab from taking specific actions. Reddetme ataması _tüm sorumluları_etkiler.The deny assignment affects All principals.

    Bir sorumluyu reddetme atamasından dışlamak hakkında bilgi için bkz. kaynak kilitlemeyi planlar.For information about excluding a principal from a deny assignment, see blueprints resource locking.

  6. Reddetme atamasını seçin ve ardından sol taraftaki Reddedilenler izinleri sayfasını seçin.Select the deny assignment, and then select the Denied Permissions page on the left.

    Reddetme ataması * ve eylem yapılandırmasıyla tüm Işlemleri engellemektedir, ancak NotActionsaracılığıyla */Read 'i dışlayarak okuma erişimine izin verir.The deny assignment is preventing all operations with the * and Action configuration, but it allows read access by excluding */read via NotActions.

  7. Azure portal içerik haritasında Testingbpkilitler-Access Control (IAM) öğesini seçin.In the Azure portal breadcrumb, select TestingBPLocks - Access control (IAM). Ardından sol taraftaki genel bakış sayfasını ve ardından kaynak grubunu sil düğmesini seçin.Then select the Overview page on the left and then the Delete resource group button. Silmeyi onaylamak için Testingbpkilitleri adını girin ve ardından bölmenin altındaki Sil ' i seçin.Enter the name TestingBPLocks to confirm the delete and then select Delete at the bottom of the pane.

    Portal bildirim silme kaynak grubu Testingbpkilitleri başarısız oldu .The portal notification Delete resource group TestingBPLocks failed appears. Hata, hesabınız kaynak grubunu silme iznine sahip olsa da, erişim şeması atama tarafından reddedilir.The error states that although your account has permission to delete the resource group, access is denied by the blueprint assignment. Şema atama sırasında yalnızca okuma şeması kilit modunu seçtiğinizi unutmayın.Remember that we selected the Read Only blueprint lock mode during blueprint assignment. Şema Lock, izin olan bir hesabın, hatta sahibi, kaynağın silinmesini engeller.The blueprint lock prevents an account with permission, even Owner, from deleting the resource. Daha fazla bilgi için bkz. şema kaynağı kilitleme.For more information, see blueprints resource locking.

Bu adımlarda, dağıtılmış kaynaklarımızın, kaynakları silme izni olan bir hesaptan bile, istenmeyen silme işlemini önleyen şema kilitleri ile korunduğu gösterilmektedir.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.

Şema atamasını kaldırmaUnassign the blueprint

Son adım, şema tanımının atamasını kaldırdır.The last step is to remove the assignment of the blueprint definition. Atamanın kaldırılması ilişkili yapıtları kaldırmaz.Removing the assignment doesn't remove the associated artifacts.

  1. Sol bölmedeki tüm hizmetler ' i seçin.Select All services in the left pane. Şemalarıarayın ve seçin.Search for and select Blueprints.

  2. Sol taraftaki atanan şemalar sayfasını seçin.Select the Assigned blueprints page on the left. Atama-kilitli-storageaccount-Testingbpkilitleri şeması atamasını bulmak için filtreleri kullanın ve ardından seçin.Use the filters to find the assignment-locked-storageaccount-TestingBPLocks blueprint assignment, and then select it.

  3. Sayfanın üst kısmında şema atamasını Kaldır ' ı seçin.Select Unassign blueprint at the top of the page. Onay iletişim kutusunda uyarıyı okuyun ve ardından Tamam' ı seçin.Read the warning in the confirmation dialog box, and then select OK.

    Şema ataması kaldırıldığında, BLUEPRINT kilitleri da kaldırılır.When the blueprint assignment is removed, the blueprint locks are also removed. Kaynaklar bir kez daha uygun izinlere sahip bir hesap tarafından silinebilir.The resources can once again be deleted by an account with appropriate permissions.

  4. Azure menüsünden kaynak grupları ' nı seçin ve ardından Testingbpkilitleri' nı seçin.Select Resource groups from the Azure menu, and then select TestingBPLocks.

  5. Sol taraftaki erişim denetimi (IAM) sayfasını seçin ve ardından rol atamaları sekmesini seçin.Select the Access control (IAM) page on the left and then select the Role assignments tab.

Kaynak grubunun güvenliği, şema atamasının artık sahip erişimine sahip olmadığını gösterir.The security for the resource group shows that the blueprint assignment no longer has Owner access.

Şema atamasını kaldırma başarılı oldu Portal bildirimi görüntülendikten sonra bir sonraki adıma gidin.After the Removing blueprint assignment succeeded portal notification appears, go to the next step.

Kaynakları temizlemeClean up resources

Bu öğreticiyi tamamladığınızda, şu kaynakları silin:When you're finished with this tutorial, delete these resources:

  • Kaynak grubu TestingbpkilitleriResource group TestingBPLocks
  • Blueprint Definition kilitlendi-storageaccountBlueprint definition locked-storageaccount

Sonraki adımlarNext steps