Szczegóły usługi INTERFEJSu API REST zarządzania certyfikatami
W poniższych sekcjach opisano szczegóły interfejsu API REST zarządzania certyfikatami Microsoft Identity Manager (MIM).
Architektura
Wywołania interfejsu API REST programu MIM są obsługiwane przez kontrolery. W poniższej tabeli przedstawiono pełną listę kontrolerów i przykładów kontekstu, w którym można ich używać.
Kontroler | Przykładowa trasa |
---|---|
CertificateDataController | /api/v1.0/requests/{requestid}/certificatedata/ |
CertificateRequestGenerationOptionsController | /api/v1.0/requests/{requestid} |
CertificatesController | /api/v1.0/smartcards/{smartcardid}/certificates /api/v1.0/profiles/{profileid}/certificates |
OperationsController | /api/v1.0/smartcards/{smartcardid}/operations /api/v1.0/profiles/{profileid}/operations |
PoliciesController | /api/v1.0/profiletemplates/{profiletemplateid}/policies/{id} |
ProfilesController | /api/v1.0/profiles/{id} |
ProfileTemplatesController | /api/v1.0/profiletemplates/{id} /api/v1.0/profiletemplates /api/v1.0/profiletemplates/{profiletemplateid}/policies/{id} |
RequestsController | /api/v1.0/requests/{id} /api/v1.0/requests |
SmartcardsController | /api/v1.0/requests/{requestid}/smartcards/{id}/diversifiedkey /api/v1.0/requests/{requestid}/smartcards/{id}/serverproposedpin /api/v1.0/requests/{requestid}/smartcards/{id}/authenticationresponse /api/v1.0/requests/{requestid}/smartcards/{id} /api/v1.0/smartcards/{id} /api/v1.0/smartcards |
SmartcardsConfigurationController | /api/v1.0/profiletemplates/{profiletemplateid}/configuration/smartcards |
Nagłówki żądań HTTP i odpowiedzi
Żądania HTTP wysyłane do interfejsu API powinny zawierać następujące nagłówki (ta lista nie jest wyczerpująca):
Nagłówek | Opis |
---|---|
Autoryzacja | Wymagane. Zawartość zależy od metody uwierzytelniania. Metoda jest konfigurowalna i może być oparta na zintegrowanym uwierzytelnianiu systemu Windows (WIA) lub Active Directory Federation Services (ADFS). |
Content-Type | Wymagane, jeśli żądanie ma treść. Musi mieć wartość application/json . |
Długość zawartości | Wymagane, jeśli żądanie ma treść. |
Cookie | Plik cookie sesji. Może być wymagane w zależności od metody uwierzytelniania. |
Odpowiedzi HTTP obejmują następujące nagłówki (ta lista nie jest wyczerpująca):
Nagłówek | Opis |
---|---|
Content-Type | Interfejs API zawsze zwraca wartość application/json . |
Długość zawartości | Długość treści żądania, jeśli jest obecna, w bajtach. |
Przechowywanie wersji interfejsu API
Bieżąca wersja interfejsu API REST cm to 1.0. Wersja jest określona w segmencie bezpośrednio po /api
segmencie w identyfikatorze URI: /api/v1.0
. Numer wersji zmienia się po wprowadzeniu istotnych modyfikacji interfejsu API.
Włączanie interfejsu API
Sekcja <ClmConfiguration>
pliku Web.config została rozszerzona o nowy klucz:
<add key="Clm.WebApi.Enabled" value="false" />
Ten klucz określa, czy interfejs API REST cm jest udostępniany klientom. Jeśli klucz ma wartość "false", mapowanie tras dla interfejsu API nie jest wykonywane podczas uruchamiania aplikacji. Kolejne żądania do punktów końcowych interfejsu API zwracają kod błędu HTTP 404. Klucz jest domyślnie ustawiony na wartość "disabled".
Uwaga
Po zmianie tej wartości na "true" pamiętaj, aby uruchomić usługę iisreset na serwerze.
Włączanie śledzenia i rejestrowania
Interfejs API REST programu MIM cm emituje dane śledzenia dla każdego wysłanego do niego żądania HTTP. Możesz ustawić poziom szczegółowości informacji śledzenia emitowanych przez ustawienie następującej wartości konfiguracji:
<add name="Microsoft.Clm.Web.API" value="0" />
Obsługa błędów i rozwiązywanie problemów
Gdy wystąpią wyjątki podczas przetwarzania żądania, interfejs API REST programu MIM CM zwraca kod stanu HTTP do klienta internetowego. W przypadku typowych błędów interfejs API zwraca odpowiedni kod stanu HTTP i kod błędu.
Nieobsługiwane wyjątki są konwertowane na HttpResponseException
kod stanu HTTP 500 ("Błąd wewnętrzny") i śledzone zarówno w dzienniku zdarzeń, jak i w pliku śledzenia programu MIM CM. Każdy nieobsługiwany wyjątek jest zapisywany w dzienniku zdarzeń z odpowiednim identyfikatorem korelacji. Identyfikator korelacji jest również wysyłany do użytkownika interfejsu API w komunikacie o błędzie. Aby rozwiązać problem z błędem, administrator może wyszukać odpowiedni identyfikator korelacji i szczegóły błędu.
Uwaga
Ślady stosu, które odpowiadają błędom generowanym w wyniku korzystania z interfejsu API REST programu MIM, nie są wysyłane z powrotem do klienta. Ślady nie są wysyłane z powrotem do klienta z powodu problemów z zabezpieczeniami.