Краткое руководство. Развертывание управляемого приложения каталога служб
Статья
В этом кратком руководстве вы используете определение управляемого приложения, созданное с помощью одной из статей краткого руководства. Развертывание создает две группы ресурсов. Одна группа ресурсов содержит управляемое приложение, а другая — управляемая группа ресурсов для развернутых ресурсов. Определение управляемого приложения развертывает план Служба приложений, Служба приложений и учетную запись хранения.
В примерах используются имена групп ресурсов, созданные в кратком руководстве , для публикации определения приложения. Если вы использовали краткое руководство по публикации определения с собственным хранилищем, используйте эти имена групп ресурсов.
Публикация определения приложения: packageStorageGroup и appDefinitionGroup.
Публикация определения с помощью собственного хранилища: packageStorageGroup, byosDefinitionStorageGroup и byosAppDefinitionGroup.
Чтобы получить определение управляемого приложения с помощью Azure PowerShell, выполните следующие команды.
В Visual Studio Code откройте новый терминал PowerShell и войдите в подписку Azure.
Connect-AzAccount
Команда открывает браузер по умолчанию и запрашивает вход в Azure. Дополнительные сведения см. в разделе "Вход с помощью Azure PowerShell".
Из Azure PowerShell получите определение управляемого приложения. В этом примере используйте имя группы ресурсов appDefinitionGroup , созданное при развертывании определения управляемого приложения.
Значение переменной $definitionid используется при развертывании управляемого приложения.
Чтобы получить определение управляемого приложения с помощью Azure CLI, выполните следующие команды.
В Visual Studio Code откройте новый сеанс терминала Bash и войдите в подписку Azure. Если вы установили Git, выберите Git Bash.
az login
Команда открывает браузер по умолчанию и запрашивает вход в Azure. Дополнительные сведения см. в разделе "Вход с помощью Azure CLI".
В Azure CLI получите определение управляемого приложения. В этом примере используйте имя группы ресурсов appDefinitionGroup , созданное при развертывании определения управляемого приложения.
az managedapp definition list --resource-group appDefinitionGroup
Команда перечисляет все доступные определения в указанной группе ресурсов, например sampleManagedApplication.
Создайте переменную для идентификатора ресурса определения управляемого приложения.
definitionid=$(az managedapp definition show --resource-group appDefinitionGroup --name sampleManagedApplication --query id --output tsv)
Значение переменной $definitionid используется при развертывании управляемого приложения.
Чтобы получить определение управляемого приложения из портал Azure, выполните следующие действия.
$mrgtimestamp Переменные $mrgprefix объединяются и хранятся в переменной$mrgname. Значение переменной находится в формате mrg-sampleManagedApplication-20230512103059. Значение переменной $mrgname используется при развертывании управляемого приложения.
Необходимо указать несколько параметров команде развертывания для управляемого приложения. Можно использовать форматированную строку JSON или создать JSON-файл. В этом примере мы используем форматированную строку JSON. Экранный символ PowerShell для кавычек — это символ обратной черты (`). Обратная черта также используется для продолжения строки, чтобы команды могли использовать несколько строк.
Синтаксис форматируемой строки JSON выглядит следующим образом:
Для удобочитаемости завершенная строка JSON использует обратную черту для продолжения строки. Значения хранятся в переменной $params и используются в команде развертывания. Параметры в строке JSON необходимы для развертывания управляемых ресурсов.
appServicePlanName: создайте имя плана. Не более 40 буквенно-цифровых символов и дефисов. Например, demoAppServicePlan. Служба приложений имена планов должны быть уникальными в пределах группы ресурсов в подписке.
appServiceNamePrefix: создайте префикс для имени плана. Не более 47 буквенно-цифровых символов или дефисов. Например, demoApp. Во время развертывания префикс объединяется с уникальной строкой для создания имени, которое глобально уникально в Azure.
Создайте группу ресурсов для развертывания управляемого приложения.
az group create --name applicationGroup --location westus
Кроме того, необходимо создать имя и путь для группы ресурсов управляемого приложения. Группа ресурсов создается при развертывании управляемого приложения.
Выполните следующие команды, чтобы создать путь к управляемой группе ресурсов.
$mrgtimestamp Переменные $mrgprefix объединяются и хранятся в переменной$mrgname. Значение переменной находится в формате mrg-sampleManagedApplication-20230512103059. subid Переменная mrgname объединяется для создания mrgpath значения переменной, создающей управляемую группу ресурсов во время развертывания.
Необходимо указать несколько параметров команде развертывания для управляемого приложения. Можно использовать форматированную строку JSON или создать JSON-файл. В этом примере мы используем форматированную строку JSON. В Bash escape-символ для кавычек — это символ обратной косой черты (\). Обратная косая черта также используется для продолжения строки, чтобы команды могли использовать несколько строк.
Синтаксис форматируемой строки JSON выглядит следующим образом:
Для удобочитаемости завершенная строка JSON использует обратную косую черту для продолжения строки. Значения хранятся в переменной params и используются в команде развертывания. Параметры в строке JSON необходимы для развертывания управляемых ресурсов.
appServicePlanName: создайте имя плана. Не более 40 буквенно-цифровых символов и дефисов. Например, demoAppServicePlan. Служба приложений имена планов должны быть уникальными в пределах группы ресурсов в подписке.
appServiceNamePrefix: создайте префикс для имени плана. Не более 47 буквенно-цифровых символов или дефисов. Например, demoApp. Во время развертывания префикс объединяется с уникальной строкой для создания имени, которое глобально уникально в Azure.
Укажите значения для вкладки "Основные сведения" и нажмите кнопку "Далее".
Подписка. Выберите подписку, в которой будет развернуто управляемое приложение.
Группа ресурсов. Выберите группу ресурсов. В этом примере создайте группу ресурсов с именем applicationGroup.
Регион. Выберите расположение, где будет развернут ресурс.
Имя приложения: введите имя управляемого приложения. В этом примере используйте имя demoManagedApplication.
Управляемая группа ресурсов: имя управляемой группы ресурсов, содержащей ресурсы, развернутые для управляемого приложения. Имя по умолчанию находится в формате mrg-{definitionName}-{dateTime} , но можно изменить имя.
Укажите значения для вкладки параметров веб-приложения и нажмите кнопку "Далее".
Служба приложений имя плана: создайте имя плана. Не более 40 буквенно-цифровых символов и дефисов. Например, demoAppServicePlan. Служба приложений имена планов должны быть уникальными в пределах группы ресурсов в подписке.
Служба приложений префикс имени: создайте префикс для имени плана. Не более 47 буквенно-цифровых символов или дефисов. Например, demoApp. Во время развертывания префикс объединяется с уникальной строкой для создания имени, которое глобально уникально в Azure.
name: укажите имя управляемого приложения. В этом примере используйте имя demoManagedApplication.
resource-group: имя группы ресурсов, созданной для управляемого приложения.
location: укажите регион для развертывания ресурсов. В этом примере используйте westus.
managed-rg-id: использует значение переменной $mrgpath . При развертывании управляемого приложения создается управляемая группа ресурсов.
managedapp-definition-id: использует значение переменной $definitionid для идентификатора ресурса определения управляемого приложения.
kind: указывает тип управляемого приложения. В этом примере используется ServiceCatalog.
parameters: использует значение переменной $params в форматируемой строке JSON.
Просмотрите сводку выбранных значений и убедитесь, что ошибки не отображаются. Выберите "Создать", чтобы развернуть управляемое приложение.
Показать результаты
После развертывания управляемого приложения из каталога служб будут созданы две группы ресурсов. Одна группа ресурсов содержит управляемое приложение. Другая группа ресурсов содержит развернутые управляемые ресурсы. В этом примере Служба приложений, Служба приложений плана и учетной записи хранения.
Управляемое приложение
После завершения развертывания можно проверить состояние управляемого приложения.
Выполните следующую команду, чтобы проверить состояние управляемого приложения.
az managedapp list --resource-group applicationGroup
Следующая команда анализирует данные об управляемом приложении, чтобы отобразить только имя и состояние подготовки приложения.
az managedapp list --resource-group applicationGroup --query "[].{Name:name, provisioningState:provisioningState}"
Перейдите в группу ресурсов с именем applicationGroup и выберите "Обзор". Группа ресурсов содержит управляемое приложение с именем demoManagedApplication.
Выберите имя управляемого приложения, чтобы получить дополнительные сведения, такие как ссылка на управляемую группу ресурсов.
Управляемые ресурсы
Ресурсы, развернутые в управляемой группе ресурсов, можно просмотреть.
Чтобы отобразить ресурсы управляемой группы ресурсов, выполните следующую команду. При создании параметров вы создали $mrgname переменную.
Get-AzResource -ResourceGroupName $mrgname
Отображение всех назначений ролей для управляемой группы ресурсов.
Get-AzRoleAssignment -ResourceGroupName $mrgname
Определение управляемого приложения, созданное в статьях краткого руководства, использовало группу с назначением роли владельца. Группу можно просмотреть с помощью следующей команды.
Вы также можете перечислить назначения запрета для управляемой группы ресурсов.
Get-AzDenyAssignment -ResourceGroupName $mrgname
Чтобы отобразить ресурсы управляемой группы ресурсов, выполните следующую команду. При создании параметров вы создали $mrgname переменную.
az resource list --resource-group $mrgname
Выполните следующую команду, чтобы указать только имя, тип и состояние подготовки для управляемых ресурсов.
az resource list --resource-group $mrgname --query "[].{Name:name, Type:type, provisioningState:provisioningState}"
Выполните следующую команду, чтобы перечислить назначение роли для группы, которая использовалась в определении управляемого приложения.
az role assignment list --resource-group $mrgname
Следующая команда анализирует данные для назначения ролей группы.
az role assignment list --resource-group $mrgname --role Owner --query "[].{ResourceGroup:resourceGroup, GroupName:principalName, RoleDefinition:roleDefinitionId, Role:roleDefinitionName}"
Чтобы просмотреть назначения запрета управляемой группы ресурсов, используйте команды портал Azure или Azure PowerShell.
Перейдите в управляемую группу ресурсов с префиксом имени mrg-sampleManagedApplication и выберите "Обзор" , чтобы отобразить развернутые ресурсы. Группа ресурсов содержит Служба приложений, план Служба приложений и учетную запись хранения.
У управляемой группы ресурсов и каждого ресурса, созданного управляемым приложением, есть назначение роли. При использовании статьи краткого руководства по созданию определения вы создали группу Microsoft Entra. Эта группа использовалась в определении управляемого приложения. При развертывании управляемого приложения назначение роли для этой группы было добавлено в управляемые ресурсы.
Чтобы просмотреть назначение роли с помощью портала Azure, выполните указанные ниже действия.
Перейдите к группе ресурсов mrg-sampleManagedApplication .
Выберите Управление доступом (IAM)>Назначения ролей.
Также можно просмотреть запрет назначений ресурса.
Назначение роли предоставляет издателю приложения доступ к управлению учетной записью хранения. В этом примере издатель может быть ИТ-отделом. Запрет назначений служит для предотвращения клиентами вноса изменений в конфигурацию управляемого ресурса. Управляемые приложения разработаны таким образом, чтобы клиенты не нуждались в обслуживании ресурсов. Запретные назначения исключают группу Microsoft Entra, назначенную в назначениях ролей.
Очистка ресурсов
Завершив работу с управляемым приложением, вы можете удалить группы ресурсов и удалить все созданные ресурсы. Например, в этом кратком руководстве вы создали группы ресурсов applicationGroup и управляемую группу ресурсов с префиксом mrg-sampleManagedApplication.