יצירת מאגר רשויות אישורים

בדף הזה מוסבר איך ליצור מאגרי רשויות אישורים (CA).

מאגר רשויות אישורים הוא אוסף של כמה רשויות אישורים עם מדיניות משותפת להנפקת אישורים ומדיניות משותפת של ניהול זהויות והרשאות גישה (IAM). מאגר CA מקל על ניהול הרוטציה של CA ומאפשר להשיג מספר גבוה יותר של שאילתות אפקטיביות כוללות לשנייה (QPS).

כדי ליצור רשות אישורים באמצעות Certificate Authority Service, צריך קודם ליצור מאגר רשויות אישורים. מידע נוסף זמין במאמר סקירה כללית של מאגרי אישורים.

לפני שמתחילים

מוודאים שיש לכם את תפקיד ה-IAM של מנהל תפעול של שירות CA ‏(roles/privateca.caManager). מידע על הקצאת תפקיד IAM לחשבון משתמש מופיע במאמר הקצאת תפקיד יחיד.

קביעת ההגדרות של מאגר אישורי ה-CA

בקטע הזה מוסבר על ההגדרות של מאגר CA ומומלצות הגדרות שונות.

הגדרות קבועות של מאגר הרשות שמנפיקה את האישורים (CA)

אי אפשר לשנות את ההגדרות הבאות של מאגר רשויות אישורים אחרי שיוצרים את מאגר רשויות האישורים.

מיקום
מציינים את המיקום של מאגר רשויות האישורים. מאגר של רשויות אישורים מאוחסן בGoogle Cloud מיקום אחד. מומלץ ליצור את מאגר רשויות האישורים באותו מיקום או במיקום קרוב למיקום שבו אתם מתכוונים להשתמש בו.
רשימה מלאה של המיקומים הנתמכים זמינה במאמר בנושא מיקומים.
רמה
בוחרים אם ליצור את מאגר רשויות האישורים באמצעות DevOps או באמצעות מהדורת Enterprise. הבחירה הזו משפיעה על השאלה אם שירות CA ישמור את האישורים שנוצרו, אם אפשר יהיה לבטל את האישורים שנוצרו בשלב מאוחר יותר ומהו הקצב המקסימלי שבו אפשר ליצור אישורים מ-CA במאגר ה-CA. מידע נוסף זמין במאמר בנושא בחירת רמות הפעולה.

הגדרות אופציונליות של מאגר רשויות אישורים

מדיניות הנפקת אישורים

מאגר CA יכול לכלול מדיניות הנפקת אישורים. מדיניות ההנפקה הזו מטילה מגבלות על האישורים שרשויות האישורים במאגר רשויות האישורים יכולות להנפיק, כמו סוגי מפתחות מותרים, משך חיים מקסימלי, אילוצי SAN ו-backdate_duration.

אפשר לעדכן את מדיניות ההנפקה של מאגר רשויות אישורים אחרי שיוצרים את מאגר רשויות האישורים. מידע נוסף זמין במאמר סקירה כללית של תבניות ומדיניות הנפקה.

מידע נוסף על הגדרת מדיניות הנפקת אישורים זמין במאמר בנושא הוספת מדיניות הנפקת אישורים למאגר של רשות אישורים.

אפשרויות פרסום

אתם יכולים להגדיר מאגר CA כדי לפרסם את אישורי ה-CA של כל רשות אישורים. כשמנפיקים אישור, כתובת ה-URL לאישור ה-CA הזה נכללת באישור כתוסף של גישה למידע על הרשות (AIA). אפשר גם לציין כתובות URL מותאמות אישית של AIA ונקודות הפצה של CRL (CDP) אם רוצים להפנות לשרתי OCSP או למיקומי CRL משלכם.

אפשר לאפשר לרשויות אישורים במאגרי רשויות אישורים ברמת Enterprise לפרסם רשימות של אישורים שבוטלו (CRL) בקטגוריה המשויכת ב-Cloud Storage. כשמנפיקים אישור, כתובת URL של ה-CRL הזו נכללת באישור כתוסף של נקודת הפצה של CRL‏ (CDP). אי אפשר למצוא את ה-CRL בלי תוסף ה-CDP באישור. מידע נוסף זמין במאמר בנושא ביטול אישורים.

אפשר גם לבחור את פורמט הקידוד של אישורי רשות אישורים ו-CRL שפורסמו. פורמטי הקידוד הנתמכים הם Privacy Enhanced Mail ‏ (PEM) ו-Distinguished Encoding Rules ‏ (DER). אם לא מציינים פורמט קידוד, המערכת תשתמש ב-PEM.

אם יוצרים את מאגר רשויות האישורים באמצעות Google Cloud CLI או Google Cloud מסוף, שירות רשויות האישורים מפעיל את אפשרויות הפרסום האלה כברירת מחדל. מידע נוסף זמין במאמר השבתת הפרסום של אישורי CA ו-CRL עבור רשויות אישורים במאגר אישורים.

מפתחות הצפנה בניהול הלקוח (CMEK)

כברירת מחדל, Certificate Authority Service מצפין את התוכן של הלקוחות במנוחה. שירות ה-CA מטפל בהצפנה בשבילכם בלי שתצטרכו לבצע פעולות נוספות. האפשרות הזו נקראת הצפנת ברירת המחדל של Google.

אם אתם רוצים לשלוט במפתחות ההצפנה, אתם יכולים להשתמש במפתחות הצפנה בניהול הלקוח (CMEK) ב-Cloud KMS עם שירותים שמשולבים עם CMEK, כולל CA Service. שימוש במפתחות Cloud KMS מאפשר לכם לשלוט ברמת ההגנה, במיקום, בלוח הזמנים של הרוטציה, בשימוש ובהרשאות הגישה, ובגבולות הקריפטוגרפיים. שימוש ב-Cloud KMS מאפשר גם לעקוב אחרי השימוש במפתחות, לצפות ביומני ביקורת ולשלוט במחזורי החיים של המפתחות. במקום ש-Google תהיה הבעלים של המפתחות הסימטריים להצפנת מפתחות (KEK) שמגנים על הנתונים שלכם ותנהל אותם, אתם שולטים במפתחות האלה ומנהלים אותם ב-Cloud KMS.

אחרי שמגדירים מאגרי CA עם CMEK, חוויית הגישה למאגרי CA של CA Service דומה לשימוש בהצפנה שמוגדרת כברירת מחדל ב-Google. מידע נוסף על אפשרויות ההצפנה זמין במאמר מפתחות הצפנה בניהול הלקוח (CMEK).

כשמספקים EncryptionSpec, שירות ה-CA מצפין שדות כמו נושא האישור, שמות חלופיים של הנושא (SAN) והאישור עם קידוד PEM או בקשת חתימה על אישור (CSR).

בטבלה הבאה מפורטים השדות הספציפיים שמוצפנים באמצעות CMEK:

קטגוריה שדות מוצפנים
נתוני PEM pem_csr
pem_certificate
pem_certificate_chain
נושא config.subject_config.subject
certificate_description.subject_description.subject
Subject Alt Name config.subject_config.subject_alt_name
certificate_description.subject_description.subject_alt_name

כדי להשתמש ב-CMEK, צריך לספק את שם המשאב של מפתח סימטרי של Cloud KMS שנמצא באותו Google Cloud אזור כמו מאגר רשויות האישורים.

שיקולים חשובים:

  • השפעה על מכסות: פעולות הנפקת אישורים צורכות מכסות של Cloud KMS בפרויקט שבו מתארח ה-CMEK. הנפקת מספר גדול של אישורים עלולה להוביל לשימוש משמעותי במכסה של Cloud Key Management Service. כדי שהשימוש הזה לא ישפיע על שירותים אחרים, מומלץ להשתמש בפרויקט ייעודי ל-CMEK כדי לבודד את ניצול המכסה.
  • זמן אחזור: פעולות CMEK מוסיפות זמן אחזור להנפקת אישורים. ההשפעה הזו בולטת יותר במפתחות שמנוהלים חיצונית (Cloud EKM).
  • זמינות: מפתח ה-CMEK המשויך חייב להיות זמין, ולסוכן השירות צריכה להיות הרשאה תקפה לשימוש בו. אם אין גישה למפתח (לדוגמה, אם הוא מושבת, נהרס או שההרשאות בוטלו), הנפקת האישור ופעולות הניהול שדורשות פענוח ייכשלו.

מידע נוסף על הגדרת סוכן השירות וההרשאות זמין במאמר תפקיד סוכן השירות של CA Service.

יצירת מאגר רשויות אישורים

כדי ליצור מאגר של רשויות אישורים, פועלים לפי ההוראות הבאות:

המסוף

בחירת שם למאגר של רשויות האישורים

  1. נכנסים לדף Certificate Authority Service במסוף Google Cloud .

    כניסה אל Certificate Authority Service

  2. לוחצים על CA pool manager (מאגר אישורים).

  3. לוחצים על Create pool (יצירת מאגר).

  4. מוסיפים שם למאגר האישורים, שיהיה ייחודי לאזור.

  5. בתפריט הנפתח בשדה אזור, בוחרים אזור. מידע נוסף זמין במאמר בנושא בחירת המיקום הטוב ביותר.

  6. בוחרים באחת מהרמות: Enterprise או DevOps. מידע נוסף זמין במאמר בנושא בחירת רמות התפעול.

  7. לוחצים על הבא.

הגדרה של אלגוריתמים וגדלים מותרים של מפתחות

שירות CA מאפשר לכם לבחור את אלגוריתמי החתימה למפתחות Cloud KMS שמגבים את רשויות האישורים במאגר רשויות האישורים. כברירת מחדל, כל האלגוריתמים של המפתחות מותרים.

כדי להגביל את המפתחות המותרים באישורים שהונפקו על ידי מאגר אישורי ה-CA, מבצעים את הפעולות הבאות. הפעולה הזו אופציונלית.

  1. לוחצים על המתג.
  2. לוחצים על הוספת פריט.
  3. ברשימה סוג, בוחרים את סוג המפתח.

    אם רוצים להשתמש במפתחות RSA, צריך לבצע את הפעולות הבאות:

    1. אופציונלי: מוסיפים את הגודל המינימלי של המודולו בביטים.
    2. אופציונלי: מוסיפים את הגודל המקסימלי של המודולוס בביטים.
    3. לוחצים על סיום.

    אם רוצים להשתמש במפתחות של עקומות אליפטיות:

    1. אופציונלי: ברשימה Elliptic curve type, בוחרים את סוג העקומה האליפטית.
    2. לוחצים על סיום.
  4. כדי להוסיף עוד מפתח מותר, לוחצים על הוספת פריט וחוזרים על שלב 2.

  5. לוחצים על הבא.

הגדרת שיטות לבקשת אישורים

כדי להגביל את השיטות שבהן מבקשי אישורים יכולים להשתמש כדי לבקש אישורים ממאגר ה-CA, מבצעים את הפעולות הבאות:

  1. אופציונלי: כדי להגביל בקשות לאישורים שמבוססים על CSR, לוחצים על המתג.
  2. אופציונלי: כדי להגביל בקשות לאישור שמבוססות על הגדרות, לוחצים על המתג.

הגדרת אפשרויות פרסום

כדי להגדיר את אפשרויות הפרסום, מבצעים את הפעולות הבאות:

  1. אופציונלי: כדי לאסור פרסום של אישורי CA בקטגוריית Cloud Storage עבור רשויות אישורים במאגר אישורי ה-CA, לוחצים על המתג.
  2. אופציונלי: כדי לא לאפשר פרסום של CRL בקטגוריית Cloud Storage עבור רשויות אישורים במאגר רשויות האישורים, לוחצים על המתג.
  3. לוחצים על התפריט כדי לבחור את פורמט הקידוד של אישורי CA ו-CRL שפורסמו.

    הגדרת אפשרויות פרסום לאישורי CA ול-CRL עבור ה-CAs במאגר ה-CA.

  4. לוחצים על הבא.

הגדרת שימוש בסיסי במפתח

ההגדרה הזו מתייחסת לשדה Key Usage באישור דיגיטלי. הוא מציין איך אפשר להשתמש במפתח הפרטי של האישור, למשל להצפנת מפתחות, להצפנת נתונים, לחתימה על אישורים ולחתימה על רשימות ביטול אישורים (CRL). מידע נוסף מופיע במאמר בנושא שימוש במפתחות.

  1. כדי לבחור את השימושים הבסיסיים במפתח, לוחצים על המתג Specify base key usages for certificates issued from this CA pool (ציון שימושים בסיסיים במפתח לאישורים שהונפקו ממאגר רשויות האישורים הזה) ואז בוחרים מבין האפשרויות שמופיעות.
  2. לוחצים על הבא.
הגדרת שימוש מורחב במפתח

ההגדרה הזו מתייחסת לשדה Extended Key Usage (EKU) באישור דיגיטלי. הוא מספק הגבלות ספציפיות ומדויקות יותר על אופן השימוש במפתח, למשל לאימות שרת, לאימות לקוח, לחתימת קוד ולהגנה על אימייל. מידע נוסף מופיע במאמר בנושא שימוש מורחב במפתח.

שימוש במפתח מורחב מוגדר באמצעות מזהי אובייקטים (OID). אם לא מגדירים את השימוש במפתח מורחב, כל תרחישי השימוש במפתח מותרים.

  1. כדי לבחור את השימושים במפתח המורחב, לוחצים על המתג Write extended key usages for certificates issued from this CA pool (כתיבת שימושים במפתח מורחב עבור אישורים שהונפקו ממאגר רשויות האישורים הזה), ואז בוחרים מתוך האפשרויות שמופיעות.
  2. לוחצים על הבא.
הגדרת מזהי מדיניות

תוסף מדיניות האישורים באישור מציין את כללי המדיניות שמאגר ה-CA המנפיק פועל לפיהם. התוסף הזה יכול לכלול מידע על אופן האימות של הזהויות לפני הנפקת האישור, על אופן ביטול האישורים ועל אופן שמירת השלמות של מאגר רשויות האישורים. התוסף הזה עוזר לכם לאמת את האישורים שמאגר ה-CA מנפיק ולראות איך משתמשים באישורים.

מידע נוסף זמין במאמר בנושא מדיניות אישורים.

כדי לציין את המדיניות שמגדירה את השימוש באישור, מבצעים את הפעולות הבאות:

  1. מוסיפים את מזהה המדיניות בשדה מזהי מדיניות.
  2. לוחצים על הבא.
הוספה של שרתי OCSP של גישה למידע על רשות (AIA)

תוסף ה-AIA באישור מספק את המידע הבא:

  • הכתובת של שרתי ה-OCSP שדרכם אפשר לבדוק את סטטוס הביטול של האישור.
  • שיטת הגישה למנפיק האישור.

מידע נוסף זמין במאמר בנושא גישה למידע על רשות.

כדי להוסיף את שרתי ה-OCSP שמופיעים בשדה התוסף AIA באישורים, מבצעים את הפעולות הבאות:

  1. לוחצים על Add item.
  2. בשדה Server URL (כתובת ה-URL של השרת), מוסיפים את כתובת ה-URL של שרת ה-OCSP.
  3. לוחצים על סיום.
  4. לוחצים על הבא.
אפשרויות של CA

השדה CA options בתבנית אישור מגדיר איך אפשר להשתמש באישור שנוצר בהיררכיה של רשות אישורים (CA). אפשרויות ה-CA קובעות אם אפשר להשתמש באישור כדי לחתום על אישורים אחרים, ואם כן, מה ההגבלות על האישורים שהוא מנפיק.

בוחרים אחת מהאפשרויות הבאות:

  1. כוללים את ההגדרות לתיאור התוספים של CA X.509: מציינים את ההגדרות בתבנית אישור ששולטות בתוספים של X.509.

  2. הגבלת השימוש באישורים שהונפקו רק לרשויות אישורים: האפשרות הזו מופיעה רק אם מסמנים את תיבת הסימון שצוינה בשלב הקודם. הערך הבוליאני הזה מציין אם האישור הוא אישור CA. אם ההגדרה היא true, אפשר להשתמש באישור כדי לחתום על אישורים אחרים. אם false, האישור הוא אישור של ישות קצה ואי אפשר לחתום איתו על אישורים אחרים. אם לוחצים על המתג הזה, מוצגת בקשה להגדיר מגבלות שם לתוסף באישורי CA.

  3. כוללים את ההגדרות כדי לתאר את מגבלת אורך הנתיב של תוספי X.509: מציינים את ההגדרות שקובעות את האורך המקסימלי של שרשרת אישורים, שמתחילה באישור מסוים. אם האורך המקסימלי של נתיב המנפיק מוגדר כ-0, רשות האישורים יכולה להנפיק רק אישורים של ישויות קצה. אם הערך הוא 1, השרשרת שמתחת לאישור ה-CA הזה יכולה לכלול רק CA משני אחד. אם לא מצהירים על ערך, מספר רשויות האישורים המשניות בשרשרת שמתחת לרשות האישורים הזו לא מוגבל.

  4. לוחצים על הבא.
הגדרת תוספים נוספים

כדי להגדיר תוספים מותאמים אישית נוספים שייכללו באישורים שהונפקו על ידי מאגר אישורי ה-CA, מבצעים את הפעולות הבאות:

  1. לוחצים על Add item.
  2. בשדה Object identifier, מוסיפים מזהה אובייקט תקין בפורמט של ספרות מופרדות בנקודות.
  3. בשדה Value, מוסיפים את הערך של המזהה בקידוד Base64.
  4. אם התוסף קריטי, בוחרים באפשרות התוסף קריטי.

כדי לשמור את כל ההגדרות של ערכי הבסיס, לוחצים על סיום.

כדי ליצור את מאגר רשויות האישורים, לוחצים על סיום.

gcloud

מריצים את הפקודה הבאה:

gcloud privateca pools create POOL_NAME --location=LOCATION

מחליפים את מה שכתוב בשדות הבאים:

  • POOL_NAME: השם של מאגר רשות האישורים
  • LOCATION: המיקום שבו רוצים ליצור את מאגר רשויות האישורים. רשימה מלאה של המיקומים זמינה במאמר בנושא מיקומים.

אם לא מציינים את המסלול שרוצים להשתמש בו במאגר אישורי ה-CA, המערכת בוחרת במסלול Enterprise כברירת מחדל. כדי לציין את רמת ה-CA של מאגר ה-CA, מריצים את הפקודה gcloud הבאה:

gcloud privateca pools create POOL_NAME --location=LOCATION --tier=TIER_NAME

מחליפים את מה שכתוב בשדות הבאים:

  • POOL_NAME: השם של מאגר רשויות האישורים
  • LOCATION: המיקום שבו רוצים ליצור את מאגר רשויות האישורים. רשימה מלאה של המיקומים זמינה במאמר בנושא מיקומים.
  • TIER_NAME: devops או enterprise. מידע נוסף זמין במאמר בנושא בחירת רמות הפעולה.

אם לא מציינים את פורמט הקידוד לפרסום של מאגר רשויות האישורים, פורמט הקידוד לפרסום PEM נבחר כברירת מחדל. אם רוצים לציין את פורמט הקידוד של הפרסום במאגר של רשויות אישורים, מריצים את הפקודה הבאה gcloud:

gcloud privateca pools create POOL_NAME --location=LOCATION --publishing-encoding-format=PUBLISHING_ENCODING_FORMAT

מחליפים את מה שכתוב בשדות הבאים:

  • POOL_NAME: השם של מאגר רשויות האישורים
  • LOCATION: המיקום שבו רוצים ליצור את מאגר רשויות האישורים. רשימה מלאה של המיקומים זמינה במאמר בנושא מיקומים.
  • PUBLISHING_ENCODING_FORMAT: PEM או DER

מידע נוסף על הפקודה gcloud privateca pools create זמין במאמר בנושא gcloud privateca pools create.

למידע על הגבלת סוגי האישורים שמאגר CA יכול להנפיק, אפשר לעיין במאמר הוספת מדיניות הנפקת אישורים למאגר CA.

Terraform

resource "google_privateca_ca_pool" "default" {
  name     = "ca-pool"
  location = "us-central1"
  tier     = "ENTERPRISE"
  publishing_options {
    publish_ca_cert = true
    publish_crl     = true
  }
  labels = {
    foo = "bar"
  }
}

המשך

כדי לבצע אימות ב-CA Service, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.

import (
	"context"
	"fmt"
	"io"

	privateca "cloud.google.com/go/security/privateca/apiv1"
	"cloud.google.com/go/security/privateca/apiv1/privatecapb"
)

// Create a Certificate Authority pool. All certificates created under this CA pool will
// follow the same issuance policy, IAM policies, etc.
func createCaPool(w io.Writer, projectId string, location string, caPoolId string) error {
	// projectId := "your_project_id"
	// location := "us-central1"	// For a list of locations, see: https://cloud.google.com/certificate-authority-service/docs/locations.
	// caPoolId := "ca-pool-id"		// A unique id/name for the ca pool.

	ctx := context.Background()
	caClient, err := privateca.NewCertificateAuthorityClient(ctx)
	if err != nil {
		return fmt.Errorf("NewCertificateAuthorityClient creation failed: %w", err)
	}
	defer caClient.Close()

	caPool := &privatecapb.CaPool{
		// Set the tier (see: https://cloud.google.com/certificate-authority-service/docs/tiers).
		Tier: privatecapb.CaPool_ENTERPRISE,
	}

	locationPath := fmt.Sprintf("projects/%s/locations/%s", projectId, location)

	// See https://pkg.go.dev/cloud.google.com/go/security/privateca/apiv1/privatecapb#CreateCaPoolRequest.
	req := &privatecapb.CreateCaPoolRequest{
		Parent:   locationPath,
		CaPoolId: caPoolId,
		CaPool:   caPool,
	}

	op, err := caClient.CreateCaPool(ctx, req)
	if err != nil {
		return fmt.Errorf("CreateCaPool failed: %w", err)
	}

	if _, err = op.Wait(ctx); err != nil {
		return fmt.Errorf("CreateCaPool failed during wait: %w", err)
	}

	fmt.Fprintf(w, "CA Pool created")

	return nil
}

Java

כדי לבצע אימות ב-CA Service, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.


import com.google.api.core.ApiFuture;
import com.google.cloud.security.privateca.v1.CaPool;
import com.google.cloud.security.privateca.v1.CaPool.IssuancePolicy;
import com.google.cloud.security.privateca.v1.CaPool.Tier;
import com.google.cloud.security.privateca.v1.CertificateAuthorityServiceClient;
import com.google.cloud.security.privateca.v1.CertificateIdentityConstraints;
import com.google.cloud.security.privateca.v1.CreateCaPoolRequest;
import com.google.cloud.security.privateca.v1.LocationName;
import com.google.longrunning.Operation;
import java.io.IOException;
import java.util.concurrent.ExecutionException;

public class CreateCaPool {

  public static void main(String[] args)
      throws InterruptedException, ExecutionException, IOException {
    // TODO(developer): Replace these variables before running the sample.
    // location: For a list of locations, see:
    // https://cloud.google.com/certificate-authority-service/docs/locations
    // poolId: Set a unique poolId for the CA pool.
    String project = "your-project-id";
    String location = "ca-location";
    String poolId = "ca-pool-id";
    createCaPool(project, location, poolId);
  }

  // Create a Certificate Authority Pool. All certificates created under this CA pool will
  // follow the same issuance policy, IAM policies,etc.,
  public static void createCaPool(String project, String location, String poolId)
      throws InterruptedException, ExecutionException, IOException {
    // Initialize client that will be used to send requests. This client only needs to be created
    // once, and can be reused for multiple requests. After completing all of your requests, call
    // the `certificateAuthorityServiceClient.close()` method on the client to safely
    // clean up any remaining background resources.
    try (CertificateAuthorityServiceClient certificateAuthorityServiceClient =
        CertificateAuthorityServiceClient.create()) {

      IssuancePolicy issuancePolicy = IssuancePolicy.newBuilder()
          .setIdentityConstraints(CertificateIdentityConstraints.newBuilder()
              .setAllowSubjectPassthrough(true)
              .setAllowSubjectAltNamesPassthrough(true)
              .build())
          .build();

      /* Create the pool request
        Set Parent which denotes the project id and location.
        Set the Tier (see: https://cloud.google.com/certificate-authority-service/docs/tiers).
      */
      CreateCaPoolRequest caPoolRequest =
          CreateCaPoolRequest.newBuilder()
              .setParent(LocationName.of(project, location).toString())
              .setCaPoolId(poolId)
              .setCaPool(
                  CaPool.newBuilder()
                      .setIssuancePolicy(issuancePolicy)
                      .setTier(Tier.ENTERPRISE)
                      .build())
              .build();

      // Create the CA pool.
      ApiFuture<Operation> futureCall =
          certificateAuthorityServiceClient.createCaPoolCallable().futureCall(caPoolRequest);
      Operation response = futureCall.get();

      if (response.hasError()) {
        System.out.println("Error while creating CA pool !" + response.getError());
        return;
      }

      System.out.println("CA pool created successfully: " + poolId);
    }
  }
}

Python

כדי לבצע אימות ב-CA Service, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.

import google.cloud.security.privateca_v1 as privateca_v1


def create_ca_pool(project_id: str, location: str, ca_pool_name: str) -> None:
    """
    Create a Certificate Authority pool. All certificates created under this CA pool will
    follow the same issuance policy, IAM policies,etc.,

    Args:
        project_id: project ID or project number of the Cloud project you want to use.
        location: location you want to use. For a list of locations, see: https://cloud.google.com/certificate-authority-service/docs/locations.
        ca_pool_name: a unique name for the ca pool.
    """

    caServiceClient = privateca_v1.CertificateAuthorityServiceClient()

    ca_pool = privateca_v1.CaPool(
        # Set the tier (see: https://cloud.google.com/certificate-authority-service/docs/tiers).
        tier=privateca_v1.CaPool.Tier.ENTERPRISE,
    )
    location_path = caServiceClient.common_location_path(project_id, location)

    # Create the pool request.
    request = privateca_v1.CreateCaPoolRequest(
        parent=location_path,
        ca_pool_id=ca_pool_name,
        ca_pool=ca_pool,
    )

    # Create the CA pool.
    operation = caServiceClient.create_ca_pool(request=request)

    print("Operation result:", operation.result())

‫API בארכיטקטורת REST

  1. יוצרים מאגר של רשויות אישורים.

    ה-method של ה-HTTP וכתובת ה-URL:

    POST https://privateca.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/caPools\?ca_pool_id=POOL_ID

    תוכן בקשת JSON:

    {
      "tier": "ENTERPRISE"
    }
    

    כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:

    אתם אמורים לקבל תגובת JSON שדומה לזו:

    {
        "name": "projects/PROJECT_ID/locations/LOCATION/operations/operation-UUID",
        "metadata": {...},
        "done": false
    }
    

  2. מבצעים שאילתות לגבי הפעולה עד שהיא מסתיימת.

    הפעולה הושלמה כשהמאפיין done של הפעולה הממושכת מוגדר לערך true.

    ה-method של ה-HTTP וכתובת ה-URL:

    GET https://privateca.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/operations/operation-UUID

    כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:

    אתם אמורים לקבל תגובת JSON שדומה לזו:

    {
        "name": "projects/PROJECT_ID/locations/LOCATION/operations/operation-UUID",
        "metadata": {...},
        "done": true,
        "response": {
          "@type": "type.googleapis.com/google.cloud.security.privateca.v1.CaPool",
          "name": "...",
          "tier": "ENTERPRISE"
        }
    }
    

הוספה או עדכון של תוויות במאגר CA

תווית היא צמד מפתח/ערך שעוזר לכם לארגן את המשאבים של CA Service. אפשר לסנן את המשאבים לפי התוויות שלהם.

כדי להוסיף או לעדכן תוויות במאגר CA:

המסוף

כדי להוסיף תווית:

  1. עוברים לדף Certificate Authority Service.

    כניסה אל Certificate Authority Service

  2. בכרטיסייה CA pool manager (ניהול מאגר רשויות אישורים), בוחרים את מאגר רשויות האישורים.

  3. לוחצים על תוויות.

  4. לוחצים על הוספת תווית.

  5. מוסיפים צמד מפתח/ערך.

  6. לוחצים על Save.

    הוספת תווית למאגר קיים של רשויות אישורים.

כדי לערוך תווית קיימת:

  1. עוברים לדף Certificate Authority Service.

    כניסה אל Certificate Authority Service

  2. בכרטיסייה CA pool manager (ניהול מאגר רשויות אישורים), בוחרים את מאגר רשויות האישורים.

  3. לוחצים על תוויות.

  4. עורכים את הערך של התווית.

  5. לוחצים על Save.

gcloud

מריצים את הפקודה הבאה:

gcloud privateca pools update POOL_ID --location=LOCATION --update-labels foo=bar

מחליפים את מה שכתוב בשדות הבאים:

  • POOL_ID: השם של מאגר רשות האישורים
  • LOCATION: המיקום של מאגר אישורי ה-CA. כאן מפורטת רשימת המיקומים המלאה.

המאמרים הבאים