Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Za pomocą interfejsu API REST do uruchamiania polecenia na serwerach z obsługą usługi Azure Arc (wersja zapoznawcza) można zdalnie i bezpiecznie wykonywać skrypty lub polecenia na maszynach wirtualnych z obsługą usługi Arc bez bezpośredniego łączenia się z nimi za pośrednictwem protokołu Remote Desktop Protocol lub SSH.
Ten artykuł zawiera obsługiwane operacje interfejsu API REST i przykładowy scenariusz, który ułatwia zrozumienie sposobu korzystania z interfejsu API REST.
Wymagania wstępne
- Wersja agenta Connected Machine na serwerze z obsługą usługi Arc musi być 1.33 lub nowsza.
- Do korzystania z interfejsu API REST potrzebny jest token dostępu. Zobacz Wprowadzenie do usługi REST.
Obsługiwane operacje interfejsu API REST
Następujące operacje interfejsu API REST umożliwiają wykonywanie poleceń Run na serwerze z Azure Arc.
| Operacja | Opis |
|---|---|
| Tworzenie lub aktualizowanie | Operacja tworzenia lub aktualizowania polecenia Uruchom. Uruchamia polecenie Uruchom. |
| Usunąć | Operacja usuwania polecenia Uruchom. Jeśli jest uruchomione, usunięcie także zatrzymuje polecenie Uruchom. |
| Pobierz | Operacja uzyskiwania polecenia 'Uruchom'. |
| Lista | Operacja pobierania wszystkich poleceń działania serwera obsługującego Azure Arc. |
| Aktualizacja | Operacja aktualizowania polecenia Uruchom. Zatrzymuje poprzednie polecenie Uruchom. |
Uwaga
Bloby wyjściowe i błędów są zastępowane za każdym razem, gdy skrypt poleceń uruchamiania jest wykonywany.
Przykładowy scenariusz interfejsu API REST
Poniższe żądania przeprowadzą Cię przez proces korzystania z polecenia Uruchom, aby zdalnie skonfigurować regułę zapory, która umożliwia dostęp do punktu końcowego www.microsoft.com/pkiops/certs. W przykładowym scenariuszu są używane poszczególne dostępne operacje REST.
Przykłady kodu używają następujących informacji:
-
Identyfikator subskrypcji -
aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e -
Nazwa serwera z obsługą usługi Arc -
2012DatacenterServer1 -
Grupa zasobów -
ContosoRG - System operacyjny serwera — serwery z systemem Windows Server 2012/R2
Krok 1. Tworzenie dostępu do punktu końcowego za pomocą polecenia Uruchom
Najpierw utwórz skrypt polecenia "Uruchom", aby zapewnić dostęp do punktu końcowego www.microsoft.com/pkiops/certs na docelowym serwerze z obsługą Arc, korzystając z operacji PUT.
Możesz podać skrypt w tekście lub podlinkować do pliku skryptu.
Aby podać skrypt w wierszu:
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" } }Aby połączyć się z plikiem skryptu:
Uwaga
W tym przykładzie przyjęto założenie, że został przygotowany plik o nazwie
newnetfirewallrule.ps1, zawierający skrypt wewnętrzny, i że ten skrypt został przesłany do magazynu obiektów blob.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" } }scriptUrito wspólny identyfikator URI sygnatury dostępu (SAS) dla obiektu blob magazynu, który musi zapewniać dostęp do odczytu do obiektu blob. Sugerowany jest czas wygaśnięcia 24 godzin dla sygnatury dostępu współdzielonego (SAS) URI. Identyfikator URI sygnatury dostępu współdzielonego można wygenerować na portalu Azure, korzystając z opcji obiektów Blob lub tokenu SAS używającNew-AzStorageBlobSASToken. W przypadku generowania tokenu SAS przy użyciuNew-AzStorageBlobSASTokenpolecenia format identyfikatora URI sygnatury dostępu współdzielonego (SAS) ma postać:base blob URL + "?"+ token SAS zNew-AzStorageBlobSASToken.Bloby danych wyjściowych i błędów muszą być typem AppendBlob, a ich SAS URI muszą zapewniać dostęp do odczytu, dołączania, tworzenia i zapisu. Sugerowany jest czas wygaśnięcia 24 godzin dla identyfikatora URI sygnatury dostępu współdzielonego. Identyfikatory URI SAS można wygenerować na portalu Azure używając opcji blobu lub tokenu SAS przy użyciu
New-AzStorageBlobSASToken.
Aby dowiedzieć się więcej na temat sygnatur dostępu współdzielonego, zobacz Udzielanie ograniczonego dostępu do zasobów usługi Azure Storage przy użyciu sygnatur dostępu współdzielonego (SAS).
Krok 2. Weryfikowanie szczegółów polecenia uruchamiania
Sprawdź, czy poprawnie utworzono polecenie Run przy użyciu operacji 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
Krok 3. Aktualizowanie polecenia uruchamiania
Istniejące polecenie Uruchom można zaktualizować przy użyciu nowych parametrów przy użyciu operacji PATCH. Poniższy przykład otwiera dostęp do innego punktu końcowego w *.waconazure.com, celu uzyskania łączności z centrum administracyjnym systemu Windows.
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"
}
}
Krok 4. Wyświetlanie listy poleceń uruchamiania
Przed usunięciem polecenia uruchomienia dla dostępu do punktu końcowego upewnij się, że nie ma żadnych innych poleceń uruchomienia dla serwera obsługującego Arc. Możesz użyć operacji LIST, aby pobrać wszystkie polecenia Run na serwerze obsługującym 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
Krok 5. Usuwanie polecenia uruchamiania
Jeśli rozszerzenie Uruchom polecenie nie jest już potrzebne, możesz usunąć je przy użyciu następującej operacji 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