Hızlı başlangıç: REST API Azure Blueprint tanımlama ve atamaQuickstart: Define and Assign an Azure Blueprint with REST API

Şema oluşturma ve atama süreçlerini anlamak, ortak tutarlılık desenlerini tanımlamanızı ve Resource Manager şablonlarını, ilkelerini, güvenlik düzeyini ve daha fazlasını temel alan yeniden kullanılabilir ve hızla dağıtılabilir yapılandırmalar geliştirmenizi sağlar.Learning how to create and assign blueprints enables the definition of common patterns to develop reusable and rapidly deployable configurations based on Resource Manager templates, policy, security, and more. Bu öğreticide kuruluşunuzda aşağıdakiler gibi şema oluşturma, yayımlama ve atama konusundaki yaygın görevlerin bazılarını yerine getirmek için Azure Blueprints'i kullanmayı öğreneceksiniz:In this tutorial, you learn to use Azure Blueprints to do some of the common tasks related to creating, publishing, and assigning a blueprint within your organization, such as:

ÖnkoşullarPrerequisites

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.

Azure Cloud Shell kullanmaUse Azure Cloud Shell

Azure, tarayıcınız aracılığıyla kullanabileceğiniz etkileşimli bir kabuk ortamı Azure Cloud Shell.Azure hosts Azure Cloud Shell, an interactive shell environment that you can use through your browser. Azure hizmetleriyle çalışmak için Cloud Shell ile bash veya PowerShell kullanabilirsiniz.You can use either Bash or PowerShell with Cloud Shell to work with Azure services. Bu makaledeki kodu, yerel ortamınıza herhangi bir şey yüklemeye gerek kalmadan çalıştırmak için Cloud Shell önceden yüklenmiş komutları kullanabilirsiniz.You can use the Cloud Shell preinstalled commands to run the code in this article without having to install anything on your local environment.

Azure Cloud Shell başlamak için:To start Azure Cloud Shell:

SeçenekOption Örnek/bağlantıExample/Link
Kod bloğunun sağ üst köşesindeki Deneyin’i seçin.Select Try It in the upper-right corner of a code block. Dene ' nin seçilmesi, kodu Cloud Shell otomatik olarak kopyalamaz.Selecting Try It doesn't automatically copy the code to Cloud Shell. Azure Cloud Shell için deneme örneği
https://shell.azure.comgidin veya tarayıcınızda Cloud Shell açmak Için Cloud Shell Başlat düğmesini seçin.Go to https://shell.azure.com, or select the Launch Cloud Shell button to open Cloud Shell in your browser. Yeni bir pencerede başlatma Cloud Shell Launch Cloud Shell in a new window
Azure Portalsağ üstteki menü çubuğunda Cloud Shell düğmesini seçin.Select the Cloud Shell button on the top-right menu bar in the Azure portal. Azure portaldaki Cloud Shell düğmesi

Bu makaledeki kodu Azure Cloud Shell çalıştırmak için:To run the code in this article in Azure Cloud Shell:

  1. Cloud Shell başlatın.Start Cloud Shell.

  2. Kodu kopyalamak için bir kod bloğunda Kopyala düğmesini seçin.Select the Copy button on a code block to copy the code.

  3. Windows ve Linux 'ta Ctrl+SHIFT+v ' i seçerek veya macos 'ta cmd+SHIFT+v ' i seçerek kodu Cloud Shell oturumuna yapıştırın.Paste the code into the Cloud Shell session by selecting Ctrl+Shift+V on Windows and Linux or by selecting Cmd+Shift+V on macOS.

  4. Kodu çalıştırmak için ENTER ' u seçin.Select Enter to run the code.

REST API'sini kullanmaya başlamaGetting started with REST API

REST API konusunda bilginiz yoksa özellikle istek URI'si ve istek gövdesi olmak üzere REST API hakkında genel bilgi edinmek için Azure REST API Başvurusu sayfasını inceleyerek başlayın.If you're unfamiliar with REST API, start by reviewing Azure REST API Reference to get a general understanding of REST API, specifically request URI and request body. Bu makalede Azure Blueprints ile çalışmak üzere yönlendirme yapmak için bu kavramlar kullanılmakta ve bunları bildiğiniz kabul edilmektedir.This article uses these concepts to provide directions for working with Azure Blueprints and assumes a working knowledge of them. ARMClient gibi araçlar yetkilendirme adımlarını otomatik olarak gerçekleştirebilir ve bu nedenle yeni başlayanlar için önerilir.Tools such as ARMClient and others may handle authorization automatically and are recommended for beginners.

Blueprints belirtimleri için bkz. Azure Blueprints REST API’si.For the Blueprints specs, see Azure Blueprints REST API.

REST API ve PowerShellREST API and PowerShell

REST API çağrısı yapmak için bir aracınız yoksa bu yönergeleri PowerShell kullanarak gerçekleştirebilirsiniz.If you don't already have a tool for making REST API calls, consider using PowerShell for these instructions. Aşağıda Azure kimlik doğrulaması için basit bir üst bilgi verilmiştir.Following is a sample header for authenticating with Azure. Bir kimlik doğrulaması üst bilgisi (bazen Taşıyıcı belirteç olarak da adlandırılır) oluşturun ve bağlanılacak REST API URI'sini herhangi bir parametre ya da İstek Gövdesi ile sağlayın:Generate an authentication header, sometimes called a Bearer token, and provide the REST API URI to connect to with any parameters or a Request Body:

# Log in first with Connect-AzAccount if not using Cloud Shell

$azContext = Get-AzContext
$azProfile = [Microsoft.Azure.Commands.Common.Authentication.Abstractions.AzureRmProfileProvider]::Instance.Profile
$profileClient = New-Object -TypeName Microsoft.Azure.Commands.ResourceManager.Common.RMProfileClient -ArgumentList ($azProfile)
$token = $profileClient.AcquireAccessToken($azContext.Subscription.TenantId)
$authHeader = @{
    'Content-Type'='application/json'
    'Authorization'='Bearer ' + $token.AccessToken
}

# Invoke the REST API
$restUri = 'https://management.azure.com/subscriptions/{subscriptionId}?api-version=2016-06-01'
$response = Invoke-RestMethod -Uri $restUri -Method Get -Headers $authHeader

Aboneliğiniz hakkında bilgi almak için yukarıdaki {subscriptionId}$restUrideğişkeni içinde yer alan öğesini değiştirin.Replace {subscriptionId} in the $restUri variable above to get information about your subscription. $response değişkeni Invoke-RestMethod cmdlet'inin sonucunu tutar ve ConvertFrom-Json gibi cmdlet'ler ile ayrıştırılabilir.The $response variable holds the result of the Invoke-RestMethod cmdlet, which can be parsed with cmdlets such as ConvertFrom-Json. REST API hizmet uç noktası bir İstek Gövdesi bekliyorsa -Body öğesinin Invoke-RestMethod parametresine JSON biçiminde bir değişken sağlayın.If the REST API service endpoint expects a Request Body, provide a JSON formatted variable to the -Body parameter of Invoke-RestMethod.

Şema oluşturmaCreate a blueprint

Uyumluluk için standart desen tanımlamanın ilk adımı kullanılabilir durumdaki kaynaklardan bir şema oluşturmaktır.The first step in defining a standard pattern for compliance is to compose a blueprint from the available resources. Abonelik için rol ve ilke atamalarını yapılandırmak üzere 'MyBlueprint' adlı bir şema oluşturacağız.We'll create a blueprint named 'MyBlueprint' to configure role and policy assignments for the subscription. Ardından bir kaynak grubu ekleyecek ve bu kaynak grubuna da bir Resource Manager şablonu ve rol ataması ekleyeceğiz.Then we'll add a resource group, a Resource Manager template, and a role assignment on the resource group.

Not

REST API kullanıldığında ilk olarak şema nesnesi oluşturulur.When using the REST API, the blueprint object is created first. Eklenecek ve parametreye sahip olan her yapıt için parametrelerin önceden ilk şema içinde tanımlanması gerekir.For each artifact to be added that has parameters, the parameters need to be defined in advance on the initial blueprint.

Her bir REST API URI'sinde kendi değerlerinizle değiştirmeniz gereken değişkenler bulunur:In each REST API URI, there are variables that are used that you need to replace with your own values:

  • {YourMG}-yönetim grubunuzun KIMLIĞIYLE değiştirin{YourMG} - Replace with the ID of your management group
  • {subscriptionId} - Abonelik kimliğinizle değiştirin{subscriptionId} - Replace with your subscription ID

Not

Ayrıca, planlar abonelik düzeyinde oluşturulabilir.Blueprints may also be created at the subscription level. Bir örnek görmek için bkz. abonelikte şema oluşturma örneği.To see an example, see create blueprint at subscription example.

  1. İlk şema nesnesini oluşturun.Create the initial blueprint object. İstek Gövdesi şemayla ilgili özellikleri, oluşturulacak kaynak gruplarını ve tüm şema düzeyi parametreleri içerir.The Request Body includes properties about the blueprint, any resource groups to create, and all of the blueprint level parameters. Parametreler atama sırasında ayarlanır ve sonraki adımlarda eklenecek yapıtlar tarafından kullanılır.The parameters are set during assignment and used by the artifacts added in later steps.

    • REST API URI'siREST API URI

      PUT https://management.azure.com/providers/Microsoft.Management/managementGroups/{YourMG}/providers/Microsoft.Blueprint/blueprints/MyBlueprint?api-version=2018-11-01-preview
      
    • İstek GövdesiRequest Body

      {
          "properties": {
              "description": "This blueprint sets tag policy and role assignment on the subscription, creates a ResourceGroup, and deploys a resource template and role assignment to that ResourceGroup.",
              "targetScope": "subscription",
              "parameters": {
                  "storageAccountType": {
                      "type": "string",
                      "metadata": {
                          "displayName": "storage account type.",
                          "description": null
                      }
                  },
                  "tagName": {
                      "type": "string",
                      "metadata": {
                          "displayName": "The name of the tag to provide the policy assignment.",
                          "description": null
                      }
                  },
                  "tagValue": {
                      "type": "string",
                      "metadata": {
                          "displayName": "The value of the tag to provide the policy assignment.",
                          "description": null
                      }
                  },
                  "contributors": {
                      "type": "array",
                      "metadata": {
                          "description": "List of AAD object IDs that is assigned Contributor role at the subscription"
                      }
                  },
                  "owners": {
                      "type": "array",
                      "metadata": {
                          "description": "List of AAD object IDs that is assigned Owner role at the resource group"
                      }
                  }
              },
              "resourceGroups": {
                  "storageRG": {
                      "description": "Contains the resource template deployment and a role assignment."
                  }
              }
          }
      }
      
  2. Abonelikte rol ataması ekleyin.Add role assignment at subscription. İstek Gövdesi yapıtın türünü tanımlar, özellikler rol tanımı tanımlayıcısıyla eşlenir ve sorumlu kimlikleri değer dizisi olarak geçirilir.The Request Body defines the kind of artifact, the properties align to the role definition identifier, and the principal identities are passed as an array of values. Aşağıdaki örnekte belirtilen rolün verildiği sorumlu kimlikleri, şema ataması sırasında ayarlanan bir parametreyle yapılandırılmıştır.In the example below, the principal identities granted the specified role are configured to a parameter that is set during blueprint assignment. Bu örnek, b24988ac-6180-42a0-ab88-20f7382dd24cbir GUID ile katkıda bulunan yerleşik rolünü kullanır.This example uses the Contributor built-in role with a GUID of b24988ac-6180-42a0-ab88-20f7382dd24c.

    • REST API URI'siREST API URI

      PUT https://management.azure.com/providers/Microsoft.Management/managementGroups/{YourMG}/providers/Microsoft.Blueprint/blueprints/MyBlueprint/artifacts/roleContributor?api-version=2018-11-01-preview
      
    • İstek GövdesiRequest Body

      {
          "kind": "roleAssignment",
          "properties": {
              "roleDefinitionId": "/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c",
              "principalIds": "[parameters('contributors')]"
          }
      }
      
  3. Abonelikte ilke ataması ekleyin.Add policy assignment at subscription. İstek Gövdesi yapıtın türü ile bir ilke veya girişim tanımıyla eşleşen özellikleri tanımlar ve ilke atamasını şema ataması sırasında yapılandırılacak tanımlı şema parametrelerini kullanacak şekilde yapılandırır.The Request Body defines the kind of artifact, the properties that align to a policy or initiative definition, and configures the policy assignment to use the defined blueprint parameters to configure during blueprint assignment. Bu örnek, 49c88fc8-6fd1-46fd-a676-f12d1d3a4c71GUID 'SI ile kaynak grupları yerleşik Ilkesine Uygula etiketi ve varsayılan değerini kullanır.This example uses the Apply tag and its default value to resource groups built-in policy with a GUID of 49c88fc8-6fd1-46fd-a676-f12d1d3a4c71.

    • REST API URI'siREST API URI

      PUT https://management.azure.com/providers/Microsoft.Management/managementGroups/{YourMG}/providers/Microsoft.Blueprint/blueprints/MyBlueprint/artifacts/policyTags?api-version=2018-11-01-preview
      
    • İstek GövdesiRequest Body

      {
          "kind": "policyAssignment",
          "properties": {
              "description": "Apply tag and its default value to resource groups",
              "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/49c88fc8-6fd1-46fd-a676-f12d1d3a4c71",
              "parameters": {
                  "tagName": {
                      "value": "[parameters('tagName')]"
                  },
                  "tagValue": {
                      "value": "[parameters('tagValue')]"
                  }
              }
          }
      }
      
  4. Abonelikte Depolama etiketi için (storageAccountType parametresini yeniden kullanarak) başka bir ilke ataması ekleyin.Add another policy assignment for Storage tag (reusing storageAccountType parameter) at subscription. Bu ek ilke ataması yapıtı, şemada tanımlanan bir parametrenin birden fazla yapıt tarafından kullanılabileceğini gösterir.This additional policy assignment artifact demonstrates that a parameter defined on the blueprint is usable by more than one artifact. Örnekte kaynak grubunda etiket ayarlamak için storageAccountType kullanılmıştır.In the example, the storageAccountType is used to set a tag on the resource group. Bu değer, bir sonraki adımda oluşturulan depolama hesabıyla ilgili bilgi sağlar.This value provides information about the storage account that is created in the next step. Bu örnek, 49c88fc8-6fd1-46fd-a676-f12d1d3a4c71GUID 'SI ile kaynak grupları yerleşik Ilkesine Uygula etiketi ve varsayılan değerini kullanır.This example uses the Apply tag and its default value to resource groups built-in policy with a GUID of 49c88fc8-6fd1-46fd-a676-f12d1d3a4c71.

    • REST API URI'siREST API URI

      PUT https://management.azure.com/providers/Microsoft.Management/managementGroups/{YourMG}/providers/Microsoft.Blueprint/blueprints/MyBlueprint/artifacts/policyStorageTags?api-version=2018-11-01-preview
      
    • İstek GövdesiRequest Body

      {
          "kind": "policyAssignment",
          "properties": {
              "description": "Apply storage tag and the parameter also used by the template to resource groups",
              "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/49c88fc8-6fd1-46fd-a676-f12d1d3a4c71",
              "parameters": {
                  "tagName": {
                      "value": "StorageType"
                  },
                  "tagValue": {
                      "value": "[parameters('storageAccountType')]"
                  }
              }
          }
      }
      
  5. Kaynak grubuna şablon ekleyin.Add template under resource group. Bir Resource Manager şablonunun İstek Gövdesi, şablonun normal JSON bileşenini içerir ve properties.resourceGroup ile hedef kaynak grubunu tanımlar.The Request Body for a Resource Manager template includes the normal JSON component of the template and defines the target resource group with properties.resourceGroup. Şablon aynı zamanda storageAccountType, tagName ve tagValue şema parametrelerini şablona geçirerek hepsini yeniden kullanır.The template also reuses the storageAccountType, tagName, and tagValue blueprint parameters by passing each to the template. Şema parametreleri properties.parameters tanımlanarak şemaya sunulur ve bu anahtar-değer çifti şema JSON nesnesinde kullanılarak değer eklenir.The blueprint parameters are available to the template by defining properties.parameters and inside the template JSON that key-value pair is used to inject the value. Şema ve şablon parametresi adları aynı olabilir ancak burada şemadan şablon yapıtına geçirme işleminin gösterilmesi için farklı olarak belirlenmiştir.The blueprint and template parameter names could be the same, but were made different to illustrate how each passes from the blueprint to the template artifact.

    • REST API URI'siREST API URI

      PUT https://management.azure.com/providers/Microsoft.Management/managementGroups/{YourMG}/providers/Microsoft.Blueprint/blueprints/MyBlueprint/artifacts/templateStorage?api-version=2018-11-01-preview
      
    • İstek GövdesiRequest Body

      {
          "kind": "template",
          "properties": {
              "template": {
                  "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
                  "contentVersion": "1.0.0.0",
                  "parameters": {
                      "storageAccountTypeFromBP": {
                          "type": "string",
                          "defaultValue": "Standard_LRS",
                          "allowedValues": [
                              "Standard_LRS",
                              "Standard_GRS",
                              "Standard_ZRS",
                              "Premium_LRS"
                          ],
                          "metadata": {
                              "description": "Storage Account type"
                          }
                      },
                      "tagNameFromBP": {
                          "type": "string",
                          "defaultValue": "NotSet",
                          "metadata": {
                              "description": "Tag name from blueprint"
                          }
                      },
                      "tagValueFromBP": {
                          "type": "string",
                          "defaultValue": "NotSet",
                          "metadata": {
                              "description": "Tag value from blueprint"
                          }
                      }
                  },
                  "variables": {
                      "storageAccountName": "[concat(uniquestring(resourceGroup().id), 'standardsa')]"
                  },
                  "resources": [{
                      "type": "Microsoft.Storage/storageAccounts",
                      "name": "[variables('storageAccountName')]",
                      "apiVersion": "2016-01-01",
                      "tags": {
                         "[parameters('tagNameFromBP')]": "[parameters('tagValueFromBP')]"
                      },
                      "location": "[resourceGroups('storageRG').location]",
                      "sku": {
                          "name": "[parameters('storageAccountTypeFromBP')]"
                      },
                      "kind": "Storage",
                      "properties": {}
                  }],
                  "outputs": {
                      "storageAccountSku": {
                          "type": "string",
                          "value": "[variables('storageAccountName')]"
                      }
                  }
              },
              "resourceGroup": "storageRG",
              "parameters": {
                  "storageAccountTypeFromBP": {
                      "value": "[parameters('storageAccountType')]"
                  },
                  "tagNameFromBP": {
                      "value": "[parameters('tagName')]"
                  },
                  "tagValueFromBP": {
                      "value": "[parameters('tagValue')]"
                  }
              }
          }
      }
      
  6. Rol atamasını kaynak grubuna ekleyin.Add role assignment under resource group. Yukarıdaki rol ataması girişine benzer şekilde aşağıdaki örnekte de Sahip rolü için tanımlayıcı kullanılır ve şemadan farklı bir parametre sunulur.Similar to the previous role assignment entry, the example below uses the definition identifier for the Owner role and provides it a different parameter from the blueprint. Bu örnek, 8e3af657-a8ff-443c-a75c-2fe8c4bcb635GUID 'SI ile sahip yerleşik rolünü kullanır.This example uses the Owner built-in role with a GUID of 8e3af657-a8ff-443c-a75c-2fe8c4bcb635.

    • REST API URI'siREST API URI

      PUT https://management.azure.com/providers/Microsoft.Management/managementGroups/{YourMG}/providers/Microsoft.Blueprint/blueprints/MyBlueprint/artifacts/roleOwner?api-version=2018-11-01-preview
      
    • İstek GövdesiRequest Body

      {
          "kind": "roleAssignment",
          "properties": {
              "resourceGroup": "storageRG",
              "roleDefinitionId": "/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635",
              "principalIds": "[parameters('owners')]"
          }
      }
      

Şemayı yayımlamaPublish a blueprint

Yapıtları ekledikten sonra şemayı yayımlayabilirsiniz.Now that the artifacts have been added to the blueprint, it's time to publish it. Yayımladığınızda şema bir aboneliğe atanmaya hazır hale gelir.Publishing makes it available to assign to a subscription.

  • REST API URI'siREST API URI

    PUT https://management.azure.com/providers/Microsoft.Management/managementGroups/{YourMG}/providers/Microsoft.Blueprint/blueprints/MyBlueprint/versions/{BlueprintVersion}?api-version=2018-11-01-preview
    

{BlueprintVersion} değeri en fazla 20 karakter olmak üzere harf, rakam ve kısa çizgilerden oluşan bir dizedir (boşluk veya özel karakter kullanılamaz).The value for {BlueprintVersion} is a string of letters, numbers, and hyphens (no spaces or other special characters) with a max length of 20 characters. v20180622-135541 gibi benzersiz ve bilgilendirici bir değer kullanın.Use something unique and informational such as v20180622-135541.

Şema atamaAssign a blueprint

REST API kullanarak yayımlanan şemaları bir aboneliğe atayabilirsiniz.Once a blueprint is published using REST API, it's assignable to a subscription. Oluşturduğunuz şemayı yönetim grubu hiyerarşinizdeki aboneliklerden birine atayın.Assign the blueprint you created to one of the subscriptions under your management group hierarchy. Şema bir aboneliğe kaydedilirse, bu aboneliğe yalnızca atanabilir.If the blueprint is saved to a subscription, it can only be assigned to that subscription. İstek Gövdesi atanacak şemayı belirtir, şema tanımındaki kaynak gruplarının adını ve konumunu sağlar ve şemada tanımlanıp ekli yapıtların biri veya daha fazlası tarafından kullanılan tüm parametreleri sağlar.The Request Body specifies the blueprint to assign, provides name and location to any resource groups in the blueprint definition, and provides all parameters defined on the blueprint and used by one or more attached artifacts.

Her bir REST API URI'sinde kendi değerlerinizle değiştirmeniz gereken değişkenler bulunur:In each REST API URI, there are variables that are used that you need to replace with your own values:

  • {tenantId}-kiracı KIMLIĞINIZLE değiştirin{tenantId} - Replace with your tenant ID
  • {YourMG}-yönetim grubunuzun KIMLIĞIYLE değiştirin{YourMG} - Replace with the ID of your management group
  • {subscriptionId} - Abonelik kimliğinizle değiştirin{subscriptionId} - Replace with your subscription ID
  1. Azure Blueprints hizmet sorumlusuna hedef abonelikte Sahip rolünü atayın.Provide the Azure Blueprint service principal the Owner role on the target subscription. AppID statiktir (f71766dc-90d9-4b7d-bd9d-4499c4331c3f), ancak hizmet sorumlusu KIMLIĞI kiracıya göre değişir.The AppId is static (f71766dc-90d9-4b7d-bd9d-4499c4331c3f), but the service principal ID varies by tenant. Aşağıdaki REST API ile kiracınıza ait ayrıntılı bilgileri isteyebilirsiniz.Details can be requested for your tenant using the following REST API. Farklı bir yetkilendirme sistemine sahip olan Azure Active Directory Graph API'sini kullanır.It uses Azure Active Directory Graph API which has different authorization.

    • REST API URI'siREST API URI

      GET https://graph.windows.net/{tenantId}/servicePrincipals?api-version=1.6&$filter=appId eq 'f71766dc-90d9-4b7d-bd9d-4499c4331c3f'
      
  2. Bir aboneliğe atayarak şema dağıtımını çalıştırın.Run the blueprint deployment by assigning it to a subscription. contributors ve owners parametreleri, rol ataması için sorumluların objectId değerlerinden oluşan bir diziye ihtiyaç duyduğu için Azure Active Directory Graph API'sini kullanarak kendi kullanıcılarınızın, gruplarınızın veya hizmet sorumlularınızın objectId değerlerini toplayıp İstek Gövdesinde kullanabilirsiniz.As the contributors and owners parameters require an array of objectIds of the principals to be granted the role assignment, use Azure Active Directory Graph API for gathering the objectIds for use in the Request Body for your own users, groups, or service principals.

    • REST API URI'siREST API URI

      PUT https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.Blueprint/blueprintAssignments/assignMyBlueprint?api-version=2018-11-01-preview
      
    • İstek GövdesiRequest Body

      {
          "properties": {
              "blueprintId": "/providers/Microsoft.Management/managementGroups/{YourMG}/providers/Microsoft.Blueprint/blueprints/MyBlueprint",
              "resourceGroups": {
                  "storageRG": {
                      "name": "StorageAccount",
                      "location": "eastus2"
                  }
              },
              "parameters": {
                  "storageAccountType": {
                      "value": "Standard_GRS"
                  },
                  "tagName": {
                      "value": "CostCenter"
                  },
                  "tagValue": {
                      "value": "ContosoIT"
                  },
                  "contributors": {
                      "value": [
                          "7be2f100-3af5-4c15-bcb7-27ee43784a1f",
                          "38833b56-194d-420b-90ce-cff578296714"
                      ]
                  },
                  "owners": {
                      "value": [
                          "44254d2b-a0c7-405f-959c-f829ee31c2e7",
                          "316deb5f-7187-4512-9dd4-21e7798b0ef9"
                      ]
                  }
              }
          },
          "identity": {
              "type": "systemAssigned"
          },
          "location": "westus"
      }
      
    • Kullanıcı tarafından atanan yönetilen kimlikUser-assigned managed identity

      Bir şema ataması, Kullanıcı tarafından atanan yönetilen kimlikde kullanabilir.A blueprint assignment can also use a user-assigned managed identity. Bu durumda, istek gövdesinin kimlik kısmı aşağıdaki şekilde değişir.In this case, the identity portion of the request body changes as follows. {yourRG} ve {userIdentity}, kaynak grubu adınızla ve Kullanıcı tarafından atanan yönetilen kimliğinizin adıyla değiştirin.Replace {yourRG} and {userIdentity} with your resource group name and the name of your user-assigned managed identity, respectively.

      "identity": {
          "type": "userAssigned",
          "tenantId": "{tenantId}",
          "userAssignedIdentities": {
              "/subscriptions/{subscriptionId}/resourceGroups/{yourRG}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{userIdentity}": {}
          }
      },
      

      Kullanıcı tarafından atanan yönetilen kimlik herhangi bir abonelik ve kaynak grubunda olabilir ve bu şema, şema ' i atayan kullanıcının izinlerine sahip olur.The user-assigned managed identity can be in any subscription and resource group the user assigning the blueprint has permissions to.

      Önemli

      Planlar Kullanıcı tarafından atanan yönetilen kimliği yönetmez.Blueprints doesn't manage the user-assigned managed identity. Kullanıcılar yeterli rol ve izin atamaktan sorumludur ya da şema ataması başarısız olur.Users are responsible for assigning sufficient roles and permissions or the blueprint assignment will fail.

Şema atamasını kaldırmaUnassign a blueprint

Bir şemayı abonelikten kaldırabilirsiniz.You can remove a blueprint from a subscription. Kaldırma işlemi genellikle yapıt kaynaklarına ihtiyaç duyulmadığında gerçekleştirilir.Removal is often done when the artifact resources are no longer needed. Bir şema kaldırıldığında o şemanın bir parçası olarak atanan yapıtlar geride kalır.When a blueprint is removed, the artifacts assigned as part of that blueprint are left behind. Bir şemanın atamasını kaldırmak için aşağıdaki REST API işlemini kullanın:To remove a blueprint assignment, use the following REST API operation:

  • REST API URI'siREST API URI

    DELETE https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.Blueprint/blueprintAssignments/assignMyBlueprint?api-version=2018-11-01-preview
    

Şema silmeDelete a blueprint

Bir şemanın kendisini kaldırmak için aşağıdaki REST API işlemini kullanın:To remove the blueprint itself, use the following REST API operation:

  • REST API URI'siREST API URI

    DELETE https://management.azure.com/providers/Microsoft.Management/managementGroups/{YourMG}/providers/Microsoft.Blueprint/blueprints/MyBlueprint?api-version=2018-11-01-preview
    

Sonraki adımlarNext steps

Bu hızlı başlangıçta, REST API ile bir şema oluşturdunuz, atadınız ve kaldırdınız.In this quickstart, you've created, assigned, and removed a blueprint with REST API. Azure şemaları hakkında daha fazla bilgi edinmek için şema yaşam döngüsü makalesine ilerleyin.To learn more about Azure Blueprints, continue to the blueprint lifecycle article.