- artykuł
- 12/16/2021
- 12 protokół do czytania
-
- D
- M
- a
- v
- d
-
+11
klient OMA DM komunikuje się z serwerem przez HTTPS i używa DM Sync (OMA DM v1.2) jako ładunku wiadomości. Ten temat opisuje funkcjonalność OMA DM, którą klient DM obsługuje w ogóle. Pełny opis protokołu OMA DM v1. 2 można znaleźć na stronie internetowej OMA.
standardy OMA DM
poniższa tabela przedstawia standardy oma DM używane przez System Windows.
obszar ogólny | obsługiwany standard oma DM |
---|---|
transport danych i sesja |
|
Bootstrap XML | oma Client Provisioning XML. |
polecenia protokołu DM | poniższa lista pokazuje polecenia używane przez urządzenie. Więcej informacji na temat elementów poleceń oma DM można znaleźć w „witrynie OMA” dostępnej na stronie OMA.
jeśli element XML, który nie jest poprawnym poleceniem oma DM, Znajduje się pod jednym z następujących elementów, dla tego elementu zwracany jest kod statusu 400: jeśli w poleceniu DM Nie podano CmdID, klient zwraca puste pole w elemencie status i kod statusu 400. jeśli pierwiastki atomowe są zagnieżdżone, zwracane są następujące kody stanu: aby uzyskać więcej informacji o komendzie atomowej, zobacz wspólne elementy protokołu oma DM. wykonywanie polecenia Add, a następnie Replace na tym samym węźle w elemencie atomowym nie jest obsługiwane. LocURI nie może zaczynać się od / .meta XML tag w SyncHdr jest ignorowany przez urządzenie. |
obiekty standardowe OMA DM | DevInfo
|
bezpieczeństwo |
|
węzły | w drzewie oma DM obowiązują następujące reguły dla nazwy węzła:
|
pliki Aprowizacji | Aprowizacja XML musi być dobrze uformowana i postępować zgodnie z definicją w protokole reprezentacji SyncML](https://go.microsoft.com/fwlink/p/?LinkId=526905). jeśli element XML, który nie jest poprawnym poleceniem oma DM, jest pod SyncBody, dla tego elementu zwracany jest kod stanu 400. Uwaga
aby reprezentować ciąg znaków Unicode jako URI, najpierw Zakoduj łańcuch jako UTF-8. Następnie Zakoduj każdy z UTF-8 bajtów za pomocą kodowania URI. |
obsługa WBXML | Windows obsługuje wysyłanie i odbieranie SyncML zarówno w formacie XML, jak i zakodowanym formacie WBXML. Jest to konfigurowalne przy użyciu węzła DEFAULTENCODING w charakterystyce aplikacji w7 podczas rejestracji. Więcej informacji na temat kodowania WBXML znajduje się w sekcji 8 specyfikacji protokołu reprezentacji SyncML. |
obsługa dużych obiektów | w systemie Windows 10 w wersji 1511 dodano obsługę klienta w celu przesyłania dużych obiektów na serwer. |
wspólne elementy protokołu oma DM
wspólne elementy są używane przez inne typy elementów OMA DM. Poniższa tabela zawiera wspólne elementy OMA DM używane do konfiguracji urządzeń. Więcej informacji na temat wspólnych elementów OMA DM można znaleźć w sekcji „SyncML Representation Protocol Device Management Usage” (OMA-SyncML-DMRepPro-V1_1_2-20030613-a) dostępnej na stronie internetowej OMA.
Element | opis |
---|---|
Chal | określa wyzwanie uwierzytelniania. Serwer lub klient może wysłać wyzwanie do drugiej osoby, jeśli w oryginalnej wiadomości żądania nie podano danych uwierzytelniających lub niewystarczających danych uwierzytelniających. |
Cmd | Określa nazwę polecenia OMA DM, do którego odwołuje się element Status. |
CmdID | określa unikalny identyfikator dla polecenia OMA DM. |
CmdRef | określa ID polecenia, dla którego zwracana jest informacja o stanie lub wynikach. Ten element przyjmuje wartość elementu CmdID odpowiadającego mu komunikatu żądania. |
Cred | określa poświadczenie uwierzytelniania twórcy wiadomości. |
Ostatnia | wskazuje, że bieżąca wiadomość jest ostatnią wiadomością w pakiecie. |
LocName | określa wyświetlaną nazwę w elementach docelowym i źródłowym, używaną do wysyłania identyfikatora użytkownika do uwierzytelniania MD5. |
LocURI | Określa adres docelowej lub źródłowej lokalizacji. Jeśli adres zawiera znak nie alfanumeryczny, musi być poprawnie poprzedzony znakami ucieczki zgodnie ze standardem kodowania URL. |
msgstr | określa unikalny identyfikator dla wiadomości sesji OMA DM. |
MsgRef | określa ID odpowiedniej wiadomości żądania. Ten element przyjmuje wartość elementu msgstr wiadomości żądania. |
RespURI | określa URI, którego odbiorca musi użyć podczas wysyłania odpowiedzi na tę wiadomość. |
SessionID | Określa identyfikator sesji oma DM skojarzonej z zawartą wiadomością.
Uwaga
jeśli serwer nie powiadomi urządzenia, że obsługuje nową wersję (poprzez węzeł SyncApplicationVersion W CSP DMClient), klient zwróci identyfikator SessionID w liczbie całkowitej w formacie dziesiętnym. Jeśli serwer obsługuje DM session sync w wersji 2.0, która jest używana w systemie Windows 10, Klient urządzenia zwraca 2 bajty. |
źródło | Określa adres źródłowy wiadomości. |
SourceRef | określa źródło odpowiedniego komunikatu żądania. Ten element przyjmuje wartość elementu źródłowego komunikatu żądania i jest zwracany w elemencie Status lub Results. |
Target | Określa adres węzła w drzewie DM, który jest celem polecenia OMA DM. |
TargetRef | Określa adres docelowy w odpowiednim komunikacie żądania. Ten element przyjmuje wartość elementu docelowego komunikatu żądania i jest zwracany w elemencie Status lub Results. |
VerDTD | Określa identyfikator wersji głównej i podrzędnej specyfikacji protokołu reprezentacji oma DM używanego do reprezentowania wiadomości. |
VerProto | Określa identyfikator wersji głównej i podrzędnej specyfikacji protokołu oma DM używanego w wiadomości. |
sesja zarządzania urządzeniami
sesja zarządzania urządzeniami (DM) składa się z serii poleceń wymienianych między serwerem DM a urządzeniem klienckim. Serwer wysyła polecenia wskazujące operacje, które muszą zostać wykonane na drzewie zarządzania urządzenia klienta. Klient odpowiada wysyłając polecenia, które zawierają wyniki i wszelkie wymagane informacje o statusie.
krótka sesja DM może być podsumowana następująco:
serwer wysyła polecenie Get do urządzenia klienta, aby pobrać zawartość jednego z węzłów drzewa zarządzania. Urządzenie wykonuje operację i odpowiada poleceniem Result, które zawiera żądaną zawartość.
sesję DM można podzielić na dwie fazy:
- Faza konfiguracji: w odpowiedzi na zdarzenie wyzwalające urządzenie klienckie wysyła wiadomość inicjującą do serwera DM. Wymiana urządzenia i serwera wymagała uwierzytelnienia i informacji o urządzeniu. Ta faza jest reprezentowana przez kroki 1, 2 i 3 w poniższej tabeli.
- Faza zarządzania: serwer DM jest pod kontrolą. Wysyła polecenia zarządzania do urządzenia, a urządzenie reaguje. Faza druga kończy się, gdy serwer DM przestaje wysyłać polecenia i kończy sesję. Ta faza jest reprezentowana przez kroki 3, 4 i 5 w poniższej tabeli.
poniższe informacje pokazują kolejność zdarzeń podczas typowej sesji DM.
-
klient DM jest wywoływany w celu wywołania z powrotem na serwer zarządzania
Scenariusz Enterprise-Harmonogram zadań urządzenia wywołuje klienta DM.serwer MO wysyła komunikat wyzwalający serwer, aby wywołać klienta DM.
komunikat wyzwalający zawiera identyfikator serwera i informuje urządzenie klienckie o rozpoczęciu sesji z serwerem. Urządzenie klienckie uwierzytelnia komunikat wyzwalający i weryfikuje, czy serwer jest upoważniony do komunikacji z nim.
Scenariusz Enterprise-w zaplanowanym czasie klient DM jest okresowo wywoływany, aby oddzwonić do serwera enterprise management server przez HTTPS. -
urządzenie wysyła wiadomość za pośrednictwem połączenia IP, aby zainicjować sesję.
ten komunikat zawiera informacje o urządzeniu i poświadczenia. Klient i serwer dokonują wzajemnego uwierzytelniania za pośrednictwem kanału SSL lub na poziomie aplikacji DM.
-
serwer DM odpowiada poprzez połączenie IP (HTTPS). Serwer wysyła wstępne polecenia zarządzania urządzeniami, jeśli takie istnieją.
-
urządzenie reaguje na polecenia zarządzania serwerem. Ten Komunikat Zawiera wyniki wykonywania określonych operacji zarządzania urządzeniami.
-
serwer DM kończy sesję lub wysyła kolejne polecenie. Sesja DM kończy się, lub Krok 4 jest powtarzany.
numery kroków nie reprezentują numerów IDENTYFIKACYJNYCH wiadomości (msgstr). Wszystkie wiadomości z serwera muszą mieć unikalny MsgID w ramach sesji, zaczynając od 1 dla pierwszej wiadomości i zwiększając o 1 dla każdej dodatkowej wiadomości. Aby uzyskać więcej informacji na temat MsgID i protokołu oma SyncML, zobacz oma Device Management Representation Protocol (DM_RepPro-V1_2-20070209-a).
podczas wzajemnego uwierzytelniania na poziomie aplikacji OMA DM, jeśli kod odpowiedzi urządzenia na element Cred w żądaniu serwera wynosi 212, dalsze uwierzytelnianie nie jest potrzebne do końca sesji DM. W przypadku uwierzytelniania MD5 można zwrócić element Chal. Następnie następny nonce w Chal musi być użyty do przetworzenia MD5, gdy następna sesja DM jest uruchamiana.
jeśli żądanie zawiera poświadczenia, a kod odpowiedzi na żądanie wynosi 200, ten sam poświadczenie musi zostać przesłane w następnym żądaniu. Jeśli element Chal jest dołączony i wymagane jest uwierzytelnienie MD5, nowy skrót jest tworzony przez użycie następnego nonce przez element Chal do następnego żądania.
aby uzyskać więcej informacji na temat uwierzytelniania klienta podstawowego lub MD5, uwierzytelniania serwera MD5, skrótu MD5 i nonce MD5, zobacz specyfikację zabezpieczeń zarządzania urządzeniami OMA (OMA-TS-DM_Security-V1_2_1-20080617-a), obsługę kodu odpowiedzi uwierzytelniania i próbki krok po kroku w specyfikacji protokołu zarządzania urządzeniami oma (OMA-TS-DM_Protocol-V1_2_1-20080617-a), dostępne na stronie oma.
user targeted vs. Konfiguracja ukierunkowana na urządzenie
w przypadku dostawców usług CSP i zasad obsługujących konfigurację użytkownika serwer MDM może wysyłać wartości ustawień ukierunkowanych na użytkownika do urządzenia, do którego Użytkownik Zarejestrowany w MDM jest aktywnie zalogowany. Urządzenie powiadamia serwer o statusie logowania poprzez device alert ( 1224)z Alert type = w DM pkg # 1.
część danych tego alertu może być jednym z następujących ciągów:
- Użytkownik – Użytkownik, który zarejestrował urządzenie jest aktywnie zalogowany. Serwer MDM może wysyłać konfigurację specyficzną dla użytkownika dla CSP/polityk, które obsługują konfigurację dla każdego użytkownika
- inni-inny login użytkownika, ale ten użytkownik nie ma konta MDM. Serwer może zastosować tylko konfigurację dla całego urządzenia, na przykład konfiguracja dotyczy wszystkich użytkowników w urządzeniu.
- brak-brak aktywnego logowania użytkownika. Serwer może zastosować tylko konfigurację dla całego urządzenia, a dostępna konfiguracja jest ograniczona do środowiska urządzenia (brak aktywnego logowania użytkownika).
poniżej przykład alertu:
<Alert> <CmdID>1</CmdID> <Data>1224</Data> <Item> <Meta> <Type xmlns="syncml:metinf">com.microsoft/MDM/LoginStatus</Type> <Format xmlns="syncml:metinf">chr</Format> </Meta> <Data>user</Data> </Item></Alert>
serwer powiadamia urządzenie, czy jest to konfiguracja ukierunkowana na użytkownika, czy na urządzenie, za pomocą prefiksu do LocURL węzła zarządzania ./ user dla konfiguracji ukierunkowanej na użytkownika, lub ./ device for device targeted configuration. Domyślnie, jeśli nie ma prefiksu z ./ urządzenie lub ./ user, jest to konfiguracja ukierunkowana na urządzenie.
następujący LocURL pokazuje konfigurację węzła CSP na użytkownika:./user/vendor/MSFT/EnterpriseModernAppManagement/AppInstallation/<PackageFamilyName>/StoreInstall
poniższy LocURL pokazuje konfigurację węzła CSP na urządzenie: ./device/vendor/MSFT/RemoteWipe / DoWipe
KODY STANU odpowiedzi SyncML
podczas korzystania z SyncML w OMA DM zwracane są standardowe kody stanu odpowiedzi. Poniższa tabela zawiera listę popularnych kodów statusu odpowiedzi SyncML, które prawdopodobnie zobaczysz. Więcej informacji na temat kodów stanu odpowiedzi SyncML można znaleźć w sekcji 10 specyfikacji protokołu reprezentacji SyncML.
kod statusu | opis |
---|---|
200 | polecenie SyncML zakończyło się pomyślnie. |
202 | akceptowane do przetwarzania. Zwykle jest to operacja asynchroniczna, taka jak żądanie uruchomienia zdalnego wykonania aplikacji. |
212 | uwierzytelnienie przyjęte. Zwykle jest to widoczne tylko w odpowiedzi na element SyncHdr (używany do uwierzytelniania w standardzie OMA-DM). Możesz to zobaczyć, jeśli spojrzysz na dzienniki OMA DM, ale CSP zazwyczaj tego nie generują. |
214 | operacja odwołana. Polecenie SyncML zakończyło się pomyślnie, ale nie będzie przetwarzane więcej poleceń w ramach sesji. |
215 | nie stracony. Polecenie nie zostało wykonane w wyniku interakcji użytkownika w celu anulowania polecenia. |
216 | Atomic cofnąć się OK. Polecenie znajdowało się wewnątrz elementu Atomic i Atomic nie powiodło się. Komenda ta została wycofana z powodzeniem. |
400 | zła Prośba. Żądane polecenie nie mogło zostać wykonane z powodu nieprawidłowej składni. CSP zazwyczaj nie generują tego błędu, jednak możesz go zobaczyć, jeśli SyncML jest nieprawidłowo sformatowany. |
401 | nieprawidłowe dane uwierzytelniające. Żądane polecenie nie powiodło się, ponieważ żądający musi zapewnić odpowiednie uwierzytelnienie. Dostawcy usług CSP zazwyczaj nie generują tego błędu. |
403 | zabronione. Żądane polecenie nie powiodło się, ale odbiorca zrozumiał żądane polecenie. |
404 | nie znaleziono. Żądany cel nie został znaleziony. Ten kod zostanie wygenerowany, jeśli zapytasz węzeł, który nie istnieje. |
405 | rozkaz nie jest dozwolony. Ten kod odpowiedzi zostanie wygenerowany, jeśli spróbujesz napisać do węzła tylko do odczytu. |
406 | Opcjonalna funkcja nie jest obsługiwana. Ten kod odpowiedzi zostanie wygenerowany, jeśli spróbujesz uzyskać dostęp do właściwości, której CSP nie obsługuje. |
415 | nieobsługiwany typ lub format. Ten kod odpowiedzi może wynikać z błędów przetwarzania lub formatowania XML. |
418 | już istnieje. Ten kod odpowiedzi występuje, gdy próbujesz dodać węzeł, który już istnieje. |
425 | Odmawiam Zgody. Żądane polecenie nie powiodło się, ponieważ nadawca nie ma odpowiednich uprawnień kontroli dostępu (ACL) dla odbiorcy. Błędy „Odmowa dostępu” zwykle są tłumaczone na ten kod odpowiedzi. |
500 | polecenie nie powiodło się. Ogólna porażka. Odbiorca napotkał nieoczekiwany warunek, który uniemożliwił mu spełnienie żądania. Ten kod odpowiedzi pojawi się, gdy DPU SyncML nie będzie w stanie zmapować kodu błędu. |
507 | Atomic nie udało się. Jedna z operacji w bloku Atomic nie powiodła się. |
516 | Atomic powrót nieudany. Operacja Atomic nie powiodła się i polecenie nie zostało pomyślnie wycofane. |