Interfejs Certificate Provisioning API umożliwia integrację urzędów certyfikacji z udostępnianiem certyfikatów klienta w ChromeOS.
Administratorzy ChromeOS mogą skonfigurować swoje urządzenia z ChromeOS lub użytkowników ChromeOS, aby mogli oni żądać certyfikatów klienta od zewnętrznego urzędu certyfikacji. Urząd certyfikacji komunikuje się z interfejsem Certificate Provisioning API za pomocą adapterów Provisioning Certificate (np. Google Cloud Certificate Connector (GCCC)). Każdy adapter do obsługi certyfikatów otrzymuje powiadomienia o nowych żądaniach obsługi certyfikatów za pomocą Pub/Sub, a następnie korzysta z interfejsu Certificate Provisioning API, aby nawiązać kontakt z urządzeniem z ChromeOS lub użytkownikiem ChromeOS, który poprosił o certyfikat.
Ta usługa działa z tymi głównymi pojęciami:
- Certyfikat klienta to cyfrowy certyfikat X.509 wydany dla urządzenia z ChromeOS lub użytkownika ChromeOS. Para kluczy jest generowana na urządzeniu, a klucz prywatny nigdy nie opuszcza urządzenia.
- Proces obsługi administracyjnej certyfikatu (reprezentowany przez zasób CertificateProvisioningProcess) opisuje proces obsługi administracyjnej certyfikatu klienta. Klientem, który prosi o certyfikat, jest urządzenie z ChromeOS lub użytkownik ChromeOS.
- Profil obsługi administracyjnej certyfikatów opisuje konfigurację administratora dla certyfikatu klienta. Klienci otrzymują certyfikat dla każdego profilu, który ich dotyczy.
Ogólny proces udostępniania certyfikatów:
- Gdy klient pobiera profil certyfikatu klienta, uruchamia proces obsługi administracyjnej certyfikatu, który jest powiązany z zasobem obsługi administracyjnej certyfikatu.
- Każdy adapter do obsługi certyfikatów, który subskrybuje odpowiedni temat Pub/Sub, otrzyma powiadomienie o nowym procesie obsługi certyfikatów. Powiadomienie Pub/Sub zawiera wiadomość proto CertificateProvisioningPubsubNotification, która przekazuje unikalny identyfikator procesu alokacji certyfikatu.
- Każdy adapter do obsługi certyfikatów może uzyskać dostęp do zasobu procesu obsługi certyfikatów (patrz metoda get).
- Wiele instancji adaptera może działać równolegle i może próbować jednocześnie zaclaimować ten sam proces udostępniania certyfikatów (patrz metoda claim). Metoda roszczeń zadziała jednak tylko w przypadku pojedynczego wystąpienia adaptera, które musi też obsługiwać pozostałe kroki procesu udostępniania certyfikatu.
- Adapter do obsługi certyfikatów może poprosić o podpis kryptograficzny wygenerowany za pomocą klucza prywatnego klienta (patrz metoda signData). Ta metoda zwraca długotrwałą operację.
- Adapter usługi Provisioning Certificate okresowo uzyskuje stan długotrwałej operacji (patrz metoda get).
- Adapter udostępniania certyfikatów przesyła certyfikat w ramach procesu udostępniania certyfikatów (patrz metoda uploadCertificate). Ten certyfikat jest importowany przez klienta ChromeOS.
- W trakcie całego procesu dostarczania certyfikatu adapter może oznaczyć proces dostarczania certyfikatu jako nieudany (patrz metoda setFailure). Na stronie ustawień certyfikatów na kliencie ChromeOS wyświetlany jest podany komunikat o błędzie. W określonych sytuacjach, np. po 24 godzinach lub po ponownym uruchomieniu urządzenia, klient powtarza proces udostępniania certyfikatu.
Początkowy format wiadomości Pub/Sub
Początkowy komunikat Pub/Sub wysyłany do adapterów obsługi certyfikatów w celu powiadomienia ich o nowym procesie obsługi certyfikatów ma następujący format:
message CertificateProvisioningProcessCreatedEventData {
// Unique ID of the certificate provisioning process.
string certificate_provisioning_process_id = 1;
// The customer ID to which the client of the certificate provisioning process
// belongs.
string customer_id = 2;
}
// Content of the pubsub message that is sent to the adapter to notify it about
// a new event that should be handled.
message CertificateProvisioningPubsubNotification {
oneof event {
// Event data of the certificate provisioning process that was created.
CertificateProvisioningProcessCreatedEventData
certificate_provisioning_process_created_event_data = 1;
}
}
Szybki przegląd metod interfejsu API
Adresy URL są względne względem adresu https://chromemanagement.googleapis.com/v1/customers/{customer_id}
Opis | Względny URL | Metoda HTTP |
---|---|---|
Proces obsługi administracyjnej certyfikatów | /certificateProvisioningProcess/{certificate_provisioning_process_id} | SPRAWDŹ |
Proces zgłaszania certyfikatu | /certificateProvisioningProcess/{certificate_provisioning_process_id}:claim | POST |
Prośba o podpis kryptograficzny | /certificateProvisioningProcess/{certificate_provisioning_process_id}:signData | POST |
Przesyłanie certyfikatu | /certificateProvisioningProcess/{certificate_provisioning_process_id}:uploadCertificate | POST |
Oznaczenie procesu udostępniania certyfikatu jako nieudanego | /certificateProvisioningProcess/{certificate_provisioning_process_id}:setFailure | POST |
Długotrwała operacja pobierania danych podpisu | /certificateProvisioningProcess/{certificate_provisioning_process_id}/operations/{operation_id} | SPRAWDŹ |
Przykładowe żądania i odpowiedzi znajdziesz w przykładowych fragmentach kodu.
Zakresy interfejsu API
Interfejs Chrome Management API wymaga tego zakresu OAuth:
https://www.googleapis.com/auth/chrome.management.certprov.provisioningprocess
Więcej informacji znajdziesz w artykule Omówienie uwierzytelniania.