Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этой статье объясняется, как преобразовать определения и назначения схемы в стеки развертывания. Стеки развертывания — это новые средства в Microsoft.Resources
пространстве имен, в результате чего функции Azure Blueprint в этой области.
Шаги миграции
Экспортируйте определения схемы в файлы JSON определения схемы, которые включают артефакты политик Azure, назначения ролей Azure и шаблоны. Дополнительные сведения см. в статье "Экспорт определения схемы".
Преобразуйте json-файлы определения схемы в один шаблон ARM или Bicep-файл для развертывания с помощью стеков развертывания с помощью следующих рекомендаций:
- Назначения ролей: преобразование любых назначений ролей.
-
Политики: преобразуйте все назначения политик в синтаксис Bicep (или шаблон JSON ARM), а затем добавьте их в основной шаблон. Вы также можете внедрить его
policyDefinitions
в шаблон JSON. - Шаблоны. Преобразование всех шаблонов в основной шаблон для отправки в стек развертывания. Вы можете использовать модули в Bicep, внедрять шаблоны в виде вложенных шаблонов или ссылок шаблонов, а также использовать спецификации шаблонов для хранения шаблонов в Azure. Спецификации шаблонов не требуются для использования стеков развертывания.
-
Блокировки: стек развертывания DenySettingsMode позволяет блокировать нежелательные изменения с помощью
DenySettingsMode
(аналогично блокировкам схемы). Их можно настроить с помощью Azure CLI или Azure PowerShell. Для этого необходимо, чтобы соответствующие роли могли задавать параметры запрета. Дополнительные сведения см. в стеках развертывания.
При необходимости можно создать спецификации шаблонов для преобразованных шаблонов ARM или Bicep-файлов. Спецификации шаблонов позволяют хранить шаблоны и их версии в среде Azure, упрощая общий доступ к шаблонам в организации. Стеки развертывания позволяют развертывать определения спецификаций шаблона или файлы шаблонов ARM или Bicep в указанной целевой области.
Пример
Следующий файл Bicep является примером файла миграции.
targetScope = 'subscription'
param roleAssignmentName string = 'myTestRoleAssignment'
param roleDefinitionId string = guid(roleAssignmentName)
param principalId string = guid('myTestId')
param policyAssignmentName string = 'myTestPolicyAssignment'
param policyDefinitionID string = '/providers/Microsoft.Authorization/policyDefinitions/06a78e20-9358-41c9-923c-fb736d382a4d'
param rgName string = 'myTestRg'
param rgLocation string = deployment().location
param templateSpecName string = 'myNetworkingTs'
// Step 1 - create role assignments
resource roleAssignment 'Microsoft.Authorization/roleAssignments@2022-04-01' = {
name: guid(roleAssignmentName)
properties: {
principalId: principalId
roleDefinitionId: roleDefinitionId
}
}
// Step 2 - create policy assignments
resource policyAssignment 'Microsoft.Authorization/policyAssignments@2022-06-01' = {
name: policyAssignmentName
scope: subscriptionResourceId('Microsoft.Resources/resourceGroups', resourceGroup().name)
properties: {
policyDefinitionId: policyDefinitionID
}
}
// Step 3 - create template artifacts via modules (or template specs)
resource rg1 'Microsoft.Resources/resourceGroups@2021-01-01' = {
name: rgName
location: rgLocation
}
module vnet 'templates/bicep/vnet.bicep' = if (rgName == 'myTestRg') {
name: uniqueString(rgName)
scope: rg1
params: { location: rgLocation }
}