Certificate Provisioning API

Certificate Provisioning API اجازه می دهد تا مقامات گواهی را با ارائه گواهی مشتری ChromeOS ادغام کنید.

سرپرستان ChromeOS می‌توانند دستگاه‌های ChromeOS یا کاربران ChromeOS خود را برای درخواست گواهی‌های سرویس گیرنده از یک مرجع صدور گواهی خارجی پیکربندی کنند. مرجع صدور گواهی از طریق آداپتورهای ارائه گواهی (مثلاً Google Cloud Certificate Connector (GCCC)) با Certificate Provisioning API تعامل دارد. هر آداپتور ارائه گواهی اعلان‌هایی درباره درخواست‌های ارائه گواهی جدید از طریق Pub/Sub دریافت می‌کند و سپس از API تهیه گواهی برای تعامل با دستگاه ChromeOS یا کاربر ChromeOS که درخواست گواهی می‌کند، استفاده می‌کند.

این سرویس با مفاهیم اصلی زیر کار می کند:

  • گواهی مشتری یک گواهی دیجیتال X.509 است که برای دستگاه ChromeOS یا کاربر ChromeOS صادر شده است. جفت کلید در دستگاه تولید می شود و کلید خصوصی هرگز دستگاه را ترک نمی کند.
  • یک فرآیند تهیه گواهی (که توسط منبع CertificateProvisioningProcess ارائه می شود) فرآیند تهیه گواهی مشتری را توصیف می کند. مشتری درخواست کننده گواهی یا یک دستگاه ChromeOS یا کاربر ChromeOS است.
  • نمایه ارائه گواهی، پیکربندی سرپرست را برای یک گواهی مشتری توصیف می کند. به مشتریان برای هر نمایه ای که برای آنها اعمال می شود گواهی ارائه می شود.

جریان کلی فرآیند ارائه گواهی:

  • پس از اینکه یک کلاینت نمایه گواهی مشتری را واکشی می کند، فرآیند تهیه گواهی را راه اندازی می کند که به منبع تهیه گواهی گره خورده است.
  • هر آداپتور تهیه گواهی که در موضوع Pub/Sub مربوطه مشترک است، در مورد فرآیند ارائه گواهی جدید مطلع می شود. اعلان Pub/Sub حاوی یک پیام پروتو CertificateProvisioningPubsubNotification است که شناسه منحصر به فرد فرآیند تهیه گواهی را منتقل می کند.
  • هر آداپتور تهیه گواهی می تواند به منبع فرآیند تهیه گواهی دسترسی داشته باشد، به روش دریافت مراجعه کنید.
  • چند نمونه آداپتور می توانند به صورت موازی اجرا شوند و می توانند سعی کنند فرآیند ارائه گواهی مشابه را به طور همزمان ادعا کنند، به روش ادعا مراجعه کنید. با این حال، روش ادعا فقط برای یک نمونه آداپتور موفق خواهد بود که سپس باید مراحل باقی مانده از فرآیند ارائه گواهی را نیز انجام دهد.
  • آداپتور ارائه گواهی می تواند یک امضای رمزنگاری ایجاد شده با استفاده از کلید خصوصی مشتری درخواست کند، به روش signData مراجعه کنید. این روش یک عملیات طولانی مدت را برمی گرداند.
  • آداپتور تهیه گواهی به صورت دوره ای وضعیت عملیات طولانی مدت را دریافت می کند، به روش دریافت مراجعه کنید.
  • آداپتور تهیه گواهی یک گواهی را برای فرآیند تهیه گواهی آپلود می کند، به روش آپلود گواهی مراجعه کنید. این گواهی توسط مشتری ChromeOS وارد شده است.
  • در طول کل فرآیند تهیه گواهی، آداپتور می تواند فرآیند تهیه گواهی را به عنوان ناموفق علامت گذاری کند، به روش setFailure مراجعه کنید. صفحه تنظیم گواهی ها در سرویس گیرنده ChromeOS پیام خطای ارائه شده را نشان می دهد. مشتری فرآیند ارائه گواهی را در مواقع خاصی تکرار می کند، به عنوان مثال، پس از 24 ساعت یا پس از راه اندازی مجدد دستگاه.

قالب پیام اولیه Pub/Sub

پیام Pub/Sub اولیه که به آداپتورهای Certificate Provisioning ارسال می‌شود تا آنها را در مورد فرآیند ارائه گواهی جدید مطلع کند، از قالب زیر پیروی می‌کند:

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;
  }
}

مروری سریع بر روش های API

نشانی‌های اینترنتی مربوط به https://chromemanagement.googleapis.com/v1/customers/{customer_id} هستند

توضیحات URL نسبی روش Http
فرآیند ارائه گواهی را دریافت کنید /certificateProvisioningProcess/{certificate_provisioning_process_id} دریافت کنید
درخواست فرآیند ارائه گواهی /certificateProvisioningProcess/{certificate_provisioning_process_id}:claim ارسال کنید
درخواست امضای رمزنگاری /certificateProvisioningProcess/{certificate_provisioning_process_id}:signData ارسال کنید
یک گواهی بارگذاری کنید /certificateProvisioningProcess/{certificate_provisioning_process_id}:uploadCertificate ارسال کنید
فرآیند ارائه گواهی را به عنوان ناموفق علامت گذاری کنید ‎/certificateProvisioningProcess/{certificate_provisioning_process_id}:setFailure ارسال کنید
دریافت داده های علامت عملیات طولانی مدت ‎/certificateProvisioningProcess/{certificate_provisioning_process_id}/operations/{operation_id} دریافت کنید

نمونه‌های کد را برای نمونه درخواست‌ها و پاسخ‌ها ببینید.

دامنه های API

Chrome Management API به محدوده OAuth زیر نیاز دارد:

https://www.googleapis.com/auth/chrome.management.certprov.provisioningprocess

برای اطلاعات بیشتر، به نمای کلی احراز هویت مراجعه کنید.