Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
С помощью команды REST API для выполнения на серверах с поддержкой Azure Arc (предварительная версия) можно удаленно и безопасно выполнять скрипты или команды на виртуальных машинах с поддержкой Arc, не подключаясь непосредственно к ним через протокол удаленного рабочего стола или SSH.
В этой статье приведены поддерживаемые операции REST API и пример сценария, помогающего понять, как использовать REST API.
Предпосылки
- Версия агента подключенного компьютера на сервере с поддержкой Arc должна быть 1.33 или выше.
- Для использования REST API требуется маркер доступа. См. статью "Начало работы с REST".
Поддерживаемые операции REST API
Для выполнения команд запуска на сервере с поддержкой Azure Arc можно использовать следующие операции REST API.
Операция | Описание |
---|---|
Создание или обновление | Операция создания или обновления команды Run. Выполняет команду Run. |
Удаление | Операция удаления команды Run. Если она запущена, удаление также останавливает команду Run. |
Получить | Операция для получения команды Run. |
Список | Операция для получения всех команд запуска сервера с поддержкой Azure Arc. |
Обновлять | Операция обновления команды Run. Останавливает предыдущую команду Run. |
Примечание.
Выходные и двоичные объекты ошибок перезаписываются при каждом выполнении скрипта команды Run.
Пример сценария REST API
Следующие запросы проводят вас через процесс использования команды Run для удаленной настройки правила брандмауэра, которое позволяет получить доступ к конечной точке www.microsoft.com/pkiops/certs
. В примере сценария используются все доступные операции REST.
В примерах кода используются следующие сведения:
-
Идентификатор подписки -
aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e
-
Имя сервера с поддержкой Arc -
2012DatacenterServer1
-
Группа ресурсов -
ContosoRG
- Операционная система сервера — серверы Windows Server 2012 / R2
Шаг 1. Создание доступа к конечной точке с помощью команды выполнения
Сначала создайте скрипт команды Run, чтобы предоставить доступ к www.microsoft.com/pkiops/certs
конечной точке на целевом сервере с поддержкой Arc с помощью операции PUT.
Вы можете либо предоставить встроенный скрипт, либо ссылку на файл скрипта.
Чтобы предоставить скрипт в строке кода:
PUT https://management.azure.com/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/ContosoRG/providers/Microsoft.HybridCompute/machines/2012DatacenterServer1/runCommands/EndpointAccessCommand?api-version=2024-11-10-preview
{ "location": "eastus2", "properties": { "source": { "script": "New-NetFirewallRule -DisplayName $ruleName -Direction Outbound -Action Allow -RemoteAddress $endpoint -RemotePort $port -Protocol $protocol" }, "parameters": [ { "name": "ruleName", "value": "Allow access to www.microsoft.com/pkiops/certs" }, { "name": "endpoint", "value": "www.microsoft.com/pkiops/certs" }, { "name": "port", "value": 433 }, { "name": "protocol", "value": "TCP" } ], "asyncExecution": false, "runAsUser": "contoso-user1", "runAsPassword": "Contoso123!" "timeoutInSeconds": 3600, "outputBlobUri": "https://mystorageaccount.blob.core.windows.net/myscriptoutputcontainer/MyScriptoutput.txt", "errorBlobUri": "https://mystorageaccount.blob.core.windows.net/mycontainer/MyScriptError.txt" } }
Чтобы связаться с файлом скрипта, выполните следующие действия.
Примечание.
В этом примере предполагается, что вы подготовили файл с именем
newnetfirewallrule.ps1
, который содержит встроенный скрипт, и загрузили его в хранилище блобов.PUT https://management.azure.com/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/ContosoRG/providers/Microsoft.HybridCompute/machines/2012DatacenterServer1/runCommands/EndpointAccessCommand?api-version=2024-11-10-preview
{ "location": "eastus2", "properties": { "source": { "scriptUri": "https://mystorageaccount.blob.core.windows.net/myscriptoutputcontainer/newnetfirewallrule.ps1" }, "parameters": [ { "name": "ruleName", "value": " Allow access to www.microsoft.com/pkiops/certs" }, { "name": "endpoint", "value": "www.microsoft.com/pkiops/certs" }, { "name": "port", "value": 433 }, { "name": "protocol", "value": "TCP" } ], "asyncExecution": false, "runAsUser": "contoso-user1", "runAsPassword": "Contoso123!" "timeoutInSeconds": 3600, "outputBlobUri": "https://mystorageaccount.blob.core.windows.net/myscriptoutputcontainer/MyScriptoutput.txt", "errorBlobUri": "https://mystorageaccount.blob.core.windows.net/mycontainer/MyScriptError.txt" } }
Это
scriptUri
универсальный код ресурса (URI) с подписью общего доступа (SAS) для объекта хранения, и он должен предоставлять доступ для чтения к этому объекту. Для URI SAS предлагается срок действия 24 часа. Вы можете создать SAS URI на портале Azure с помощью параметров блоба или маркера SAS, используяNew-AzStorageBlobSASToken
. Если вы создаете маркер SAS с помощьюNew-AzStorageBlobSASToken
, формат URI SAS:base blob URL + "?"
+ маркер SAS изNew-AzStorageBlobSASToken
.Большие двоичные объекты для вывода и ошибок должны иметь тип AppendBlob, а их SAS URI должны предоставлять доступ на чтение, добавление, создание и запись в эти объекты. Для URI SAS предлагается срок действия 24 часа. Вы можете создавать URI SAS на портале Azure с помощью параметров BLOB или маркера SAS, используя
New-AzStorageBlobSASToken
.
Дополнительные сведения о подписанных URL-адресах см. в статье Предоставление ограниченного доступа к ресурсам службы хранилища Azure с помощью подписанных URL-адресов (SAS).
Шаг 2. Проверка сведений о команде запуска
Убедитесь, что вы правильно подготовили команду Run с помощью операции GET.
GET https://management.azure.com/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/ContosoRG/providers/Microsoft.HybridCompute/machines/2012DatacenterServer1/runCommands/EndpointAccessCommand?api-version=2024-11-10-preview
Шаг 3. Обновление команды запуска
Вы можете обновить существующую команду run с новыми параметрами с помощью операции PATCH. В следующем примере открывается доступ к другой конечной точке *.waconazure.com,
для подключения к Windows Admin Center.
PATCH https://management.azure.com/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/ContosoRG/providers/Microsoft.HybridCompute/machines/2012DatacenterServer1/runCommands/EndpointAccessCommand?api-version=2024-11-10-preview
{
"location": "eastus2",
"properties": {
"source": {
"script": "New-NetFirewallRule -DisplayName $ruleName -Direction Outbound -Action Allow -RemoteAddress $endpoint -RemotePort $port -Protocol $protocol"
},
"parameters": [
{
"name": "ruleName",
"value": "Allow access to WAC endpoint"
},
{
"name": "endpoint",
"value": "*.waconazure.com"
},
{
"name": "port",
"value": 433
},
{
"name": "protocol",
"value": "TCP"
}
],
"asyncExecution": false,
"runAsUser": "contoso-user1",
"runAsPassword": "Contoso123!",
"timeoutInSeconds": 3600,
"outputBlobUri": "https://mystorageaccount.blob.core.windows.net/myscriptoutputcontainer/MyScriptoutput.txt",
"errorBlobUri": "https://mystorageaccount.blob.core.windows.net/mycontainer/MyScriptError.txt"
}
}
Шаг 4. Перечисление команд запуска
Перед удалением команды Run для доступа к конечной точке убедитесь, что для сервера с поддержкой Arc нет других команд run. Операцию LIST можно использовать для получения всех команд выполнения на сервере с поддержкой Arc:
LIST https://management.azure.com/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/ContosoRG/providers/Microsoft.HybridCompute/machines/2012DatacenterServer1/runCommands?api-version=2024-11-10-preview
Шаг 5. Удаление команды запуска
Если расширение команды Run больше не требуется, его можно удалить с помощью следующей операции DELETE:
DELETE https://management.azure.com/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/ContosoRG/providers/Microsoft.HybridCompute/machines/2012DatacenterServer1/runCommands/EndpointAccessCommand?api-version=2024-11-10-preview