יצירת רשות אישורים (CA) עליונה
בדף הזה מוסבר איך ליצור רשות אישורי בסיס (CA) במאגר CA.
רשות אישורים בסיסית נמצאת בראש ההיררכיה של תשתית מפתח ציבורי (PKI) ואחראית ליצירת עוגן האמון של ה-PKI. כדי להשתתף בצורה תקינה בתשתית מפתח ציבורי (PKI) ולהשתמש באישורים, מכשיר, תוכנה או רכיב צריכים להיות מהימנים ב-PKI. כדי לעשות את זה, צריך להגדיר את המכשיר, התוכנה או הרכיב כך שיתבססו על רשות אישורי הבסיס. כתוצאה מכך, כל האישורים שהונפקו על ידי ה-CA הבסיסי מהימנים.
לפני שמתחילים
- מוודאים שיש לכם את תפקיד ה-IAM CA Service Operation Manager (
roles/privateca.caManager) או CA Service Admin (roles/privateca.admin). למידע נוסף, ראו הגדרת מדיניות IAM. אם אתם משתמשים במפתח קיים של Cloud Key Management Service כדי לחתום על אישורים שרשות האישורים מנפיקה, אתם צריכים להעניק את תפקידי ה-IAM הנדרשים לסוכן השירות של רשות האישורים במפתח הזה של Cloud Key Management Service. מידע נוסף על התפקידים הספציפיים הנדרשים והוראות זמין במאמר שימוש ב-CA Service Agent.
יצירת רשות אישורים (CA) עליונה
לרשות אישורי בסיס יש אישור בחתימה עצמית שצריך להפיץ למאגרי האישורים של הלקוחות. האישור של רשות האישורים הבסיסית נמצא בראש שרשרת האישורים. אף רשות אישורים אחרת לא יכולה לבטל את אישור ה-CA. רשימת ה-CRL של רשות האישורים הבסיסית חלה רק על האישורים האחרים שהנפיקה רשות האישורים הבסיסית, ולא על עצמה.
אפשר ליצור רשות אישורים (CA) בסיסית במאגר קיים של רשויות אישורים או במאגר חדש. ההוראות הבאות מתייחסות למאגר קיים.
המסוף
כדי ליצור רשות אישורים (CA) בסיסית במאגר CA קיים:
נכנסים לדף Certificate Authority Service במסוףGoogle Cloud .
לוחצים על הכרטיסייה מנהל רשויות אישורים.
לוחצים על החץ להרחבת האפשרות Create CA (יצירת רשות אישורים) ואז בוחרים באפשרות Create CA in an existing CA pool (יצירת רשות אישורים במאגר רשויות אישורים קיים).
בחירת בית ל-CA
בוחרים מאגר אישורים קיים מהרשימה ולוחצים על המשך.
בחירת סוג רשות האישורים
- בקטע סוג, בוחרים באפשרות רשות אישורים (CA) עליונה.
- בשדה תוקף, מזינים את משך הזמן שבו האישורים שהונפקו על ידי רשות האישורים הבסיסית יהיו תקפים.
- בקטע מצב התחלתי, בוחרים את המצב התפעולי שבו רוצים ליצור את רשות האישורים.
- לוחצים על Continue.
- בשדה ארגון (O), מזינים את שם החברה.
- אופציונלי: בשדה יחידה ארגונית (OU), מזינים את החלוקה המשנית של החברה או את היחידה העסקית.
- אופציונלי: בשדה שם המדינה (C), מזינים קוד מדינה בן שתי אותיות.
- אופציונלי: בשדה State or province name (שם המדינה או הפרובינציה), מזינים את שם המדינה.
- אופציונלי: בשדה שם היישוב, מזינים את שם העיר.
- בשדה שם נפוץ (CN) של רשות האישורים, מזינים את שם רשות האישורים.
- לוחצים על Continue.
- בוחרים את אלגוריתם המפתח שהכי מתאים לצרכים שלכם. פרטים נוספים על אפשרויות מפתחות החתימה זמינים במאמר הגדרת מפתחות חתימה של רשות אישורים.
- כדי להשתמש במפתח חתימה בניהול הלקוח, בוחרים באפשרות מפתח בניהול הלקוח ומזינים את הגרסה של המפתח הקריפטוגרפי ב-Cloud Key Management Service.
- לוחצים על Continue.
- בוחרים אם רוצים להשתמש בקטגוריה של Cloud Storage שמנוהלת על ידי Google או בקטגוריה שמנוהלת על ידי הלקוח.
- בקטגוריה של Cloud Storage בניהול Google, שירות CA יוצר קטגוריה בניהול Google באותו מיקום שבו נמצא ה-CA.
- כדי לבחור קטגוריה של Cloud Storage בניהול הלקוח, לוחצים על Browse ובוחרים אחת מהקטגוריות הקיימות של Cloud Storage.
- לוחצים על Continue.
השלבים הבאים הם אופציונליים.
כדי להוסיף תוויות לקהל המקור:
- לוחצים על הוספת פריט.
- בשדה מפתח 1, מזינים את מפתח התווית.
- בשדה ערך 1, מזינים את ערך התווית.
- אם רוצים להוסיף עוד תווית, לוחצים על הוספת פריט. לאחר מכן, מוסיפים את המפתח והערך של התווית כמו שצוין בשלבים 2 ו-3.
- לוחצים על Continue.
בודקים בקפידה את כל ההגדרות ולוחצים על סיום כדי ליצור את רשות האישורים.
gcloud
כדי ליצור CA חדש ברמה הבסיסית במאגר CA קיים, מריצים את הפקודה הבאה:
gcloud privateca roots create ROOT_CA_ID \ --location=LOCATION \ --pool=POOL_ID \ --key-algorithm=KEY_ALGORITHM \ --subject="CN=my-ca, O=Test LLC"מחליפים את מה שכתוב בשדות הבאים:
- ROOT_CA_ID: השם של רשות האישורים
- LOCATION: המיקום של מאגר אישורי ה-CA
- POOL_ID: השם של מאגר רשות האישורים
- KEY_ALGORITHM: האלגוריתם שבו יש להשתמש ליצירת מפתח Cloud KMS. הדגל הזה הוא אופציונלי. אם לא תכללו את הדגל הזה, אלגוריתם המפתח יהיה
rsa-pkcs1-4096-sha256כברירת מחדל. מידע נוסף זמין במאמר בנושא הדגל --key-algorithm.
כברירת מחדל, כלל הקמפיין נוצר במצב
STAGED. כדי להפעיל CA כברירת מחדל, צריך לכלול את הדגל--auto-enable.אם רוצים להשתמש בקטגוריה של Cloud Storage בניהול הלקוח כדי לפרסם אישורי CA ו-CRL, מוסיפים
--bucket bucket-nameלפקודה. מחליפים את bucket-name בשם של הקטגוריה של Cloud Storage.כדי לציין כתובות URL מותאמות אישית לגישה למידע על רשות (AIA) ולנקודת הפצה של רשימת ביטול אישורים (CRL) (CDP), משתמשים בדגלים
--custom-aia-urlsו---custom-cdp-urls. אם מציינים כתובות URL כאלה, הן נכללות בכל האישורים שהונפקו על ידי CA ומחליפות את כתובות ה-URL של הגישה לקטגוריית Cloud Storage שמוגדרות כברירת מחדל.כדי ליצור רשות אישורים (CA) בסיסית באמצעות מפתח חתימה בניהול הלקוח, מריצים את הפקודה הבאה:
gcloud privateca roots create ROOT_CA_ID \ --location=LOCATION \ --pool=POOL_ID \ --kms-key-version=KMS_KEY_VERSION \ --subject="CN=my-ca, O=Test LLC"מחליפים את מה שכתוב בשדות הבאים:
- ROOT_CA_ID: המזהה הייחודי של רשות האישורים (CA) הבסיסית
- LOCATION: המיקום של מאגר אישורי ה-CA
- POOL_ID: השם של מאגר רשות האישורים
- KMS_KEY_VERSION: מזהה המשאב המלא של גרסה של מפתח קריפטוגרפי ב-Cloud KMS בניהול הלקוח, לשימוש כמפתח חתימה
פרטים נוספים על אפשרויות של מפתחות חתימה ועל הכנת מפתח חתימה בניהול הלקוח מופיעים במאמר בנושא הגדרת מפתחות חתימה של רשות אישורים.
כדי לראות את הרשימה המלאה של ההגדרות, מריצים את הפקודה הבאה:
gcloud privateca roots create --help
Terraform
כדי ליצור רשות אישורי בסיס באמצעות מפתח הצפנה שבבעלות ובניהול של Google , משתמשים בהגדרת הדוגמה הבאה:
כדי ליצור CA בסיסי באמצעות מפתח בניהול עצמי, משתמשים בהגדרת הדוגמה הבאה:
המשך
כדי לבצע אימות ב-CA Service, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
Java
כדי לבצע אימות ב-CA Service, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
Python
כדי לבצע אימות ב-CA Service, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
API בארכיטקטורת REST
יוצרים רשות אישורים (CA) עליונה.
כדי להשתמש במפתח חתימה בניהול הלקוח, מציינים את
cloud_kms_key_versionבשדהkey_specבמקוםalgorithm.פרטים נוספים על אפשרויות של מפתחות חתימה ועל הכנת מפתח חתימה בניהול הלקוח מופיעים במאמר בנושא הגדרת מפתחות חתימה של רשות אישורים.
ה-method של ה-HTTP וכתובת ה-URL:
POST https://privateca.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/caPools/POOL_ID/certificateAuthorities?certificate_authority_id=ROOT_CA_ID
תוכן בקשת JSON:
{ "type": "SELF_SIGNED", "lifetime": { "seconds": 315576000, "nanos": 0 }, "config": { "subject_config": { "subject": { "organization": "ORGANIZATION_NAME", "common_name": "COMMON_NAME" } }, "x509_config":{ "ca_options":{ "is_ca":true }, "key_usage":{ "base_key_usage":{ "cert_sign":true, "crl_sign":true } } } }, "key_spec":{ "algorithm":"RSA_PKCS1_4096_SHA256" } }כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
אתם אמורים לקבל תגובת JSON שדומה לזו:
{ "name": "projects/PROJECT_ID/locations/LOCATION/operations/operation-UUID", "metadata": {...}, "done": false }מבצעים שאילתות לגבי הפעולה עד שהיא מסתיימת.
ה-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.CertificateAuthority", "name": "...", } }
אחרי שמוודאים ש-CA פועל כצפוי, אפשר להפעיל אותו כדי להתחיל להנפיק אישורים מאוזני עומס למאגר CA.
הפעלת רשות אישורים (CA) בסיסית
gcloud
כדי להפעיל רשות אישורים (CA) בסיסית, מריצים את הפקודה gcloud הבאה:
gcloud privateca roots enable ROOT_CA_ID --location=LOCATION --pool=POOL_ID
מחליפים את מה שכתוב בשדות הבאים:
- ROOT_CA_ID: השם של רשות האישורים
- LOCATION: המיקום של מאגר אישורי ה-CA. כאן מפורטת רשימת המיקומים המלאה.
- POOL_ID: השם של מאגר רשות האישורים
Terraform
אם משתמשים ב-Terraform כדי ליצור רשות אישורי בסיס, היא מופעלת בזמן היצירה. כדי ליצור רשות אישורים בסיסית במצב STAGED, מגדירים את השדה desired_state לערך STAGED כשיוצרים את רשות האישורים.
אפשר להגדיר את השדה desired_state לערך ENABLED או DISABLED אחרי יצירת CA.
המשך
כדי לבצע אימות ב-CA Service, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
Java
כדי לבצע אימות ב-CA Service, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
Python
כדי לבצע אימות ב-CA Service, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
API בארכיטקטורת REST
מאפשרים לרשות האישורים להנפיק אישורים ממאגר רשויות האישורים.
ה-method של ה-HTTP וכתובת ה-URL:
POST https://privateca.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/caPools/POOL_ID/certificateAuthorities/ROOT_CA_ID:enable
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
אתם אמורים לקבל תגובת JSON שדומה לזו:
{ "name": "projects/PROJECT_ID/locations/LOCATION/operations/operation-UUID", "metadata": {...}, "done": false }מבצעים שאילתות לגבי הפעולה עד שהיא מסתיימת.
ה-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.CertificateAuthority", "name": "...", } }
בדיקת רשות אישורים
כדי לוודא שרשות אישורים (CA) יכולה להנפיק אישורים, צריך לבקש אישור ממאגר ה-CA המשויך ולציין במפורש את שם ה-CA שרוצים לבדוק באמצעות הדגל --ca.
אפשר להשתמש בשיטות הבאות כדי לבקש אישור ממאגר רשויות אישורים:
- מבקשים משירות רשות האישורים ליצור בשבילכם מפתח פרטי או ציבורי.
- יוצרים מפתח פרטי או ציבורי משלכם ושולחים בקשה לחתימת אישור (CSR).
יותר קל להשתמש במפתח פרטי או במפתח ציבורי שנוצרו באופן אוטומטי כדי לבקש אישור מ-CA במאגר CA. בקטע הזה מוסבר איך לבדוק רשות אישורים באמצעות השיטה הזו.
כדי להשתמש במפתח פרטי או במפתח ציבורי שנוצרו באופן אוטומטי כדי לבקש אישור מ-CA במאגר CA, מריצים את gcloudהפקודה הבאה:
gcloud privateca certificates create \
--issuer-pool=POOL_ID \
--issuer-location=ISSUER_LOCATION \
--ca=ROOT_CA_ID \
--generate-key \
--key-output-file=KEY_FILENAME \
--cert-output-file=CERT_FILENAME \
--dns-san=DNS_NAME
מחליפים את מה שכתוב בשדות הבאים:
- POOL_ID: השם של מאגר רשות האישורים
- ISSUER_LOCATION: המיקום של רשות האישורים (CA) שהנפיקה את האישור הדיגיטלי
- ROOT_CA_ID: המזהה הייחודי של רשות האישורים שרוצים לבדוק
- KEY_FILENAME: הקובץ שבו המפתח שנוצר נכתב בפורמט PEM
- CERT_FILENAME: הקובץ שאליו נכתב קובץ שרשרת האישורים שנוצר בהצפנת PEM. הסדר של שרשרת האישורים הוא מאישור הקצה לאישור הבסיס.
DNS_NAME: שמות חלופיים (SAN) של נושא DNS, מופרדים בפסיקים (לפחות אחד)
הדגל
--generate-keyיוצר מפתח פרטי חדש מסוג RSA-2048 במחשב.
כדי להשתמש בבקשת חתימה על אישור (CSR) כדי לבקש אישור מ-CA במאגר CA, או כדי לקבל מידע נוסף על בקשת אישורים, ראו בקשת אישור והצגת אישורים שהונפקו.
שכפול רשויות אישורים
כדי לשכפל רשות אישורים קיימת כדי לחדש אותה, או כדי ליצור רשות אישורים חדשה עם אותה תצורה, מריצים את הפקודה הבאה:
gcloud privateca roots create NEW_CA_ID \
--location=LOCATION \
--pool=POOL_ID \
--from-ca=EXISTING_CA_ID \
--key-algorithm "ec-p384-sha384"
מחליפים את מה שכתוב בשדות הבאים:
- NEW_CA_ID: המזהה הייחודי של רשות האישורים החדשה
- LOCATION: המיקום של מאגר אישורי ה-CA
- POOL_ID: השם של מאגר רשויות האישורים שבו רוצים ליצור את רשות האישורים החדשה
- EXISTING_CA_ID: המזהה של ה-CA של המקור או מזהה מוגדר במלואו של ה-CA של המקור
הסימון הבוליאני --from-ca נתמך ביצירת רשויות אישורים בסיסיות ומשניות. ה-CA הקיים צריך להיות באותו מאגר CA כמו ה-CA החדש.
הדגל --key-algorithm מעתיק את כל הגדרות ה-CA מ-CA קיים (מלבד גרסת המפתח של Cloud KMS והקטגוריה של Cloud Storage).
עם זאת, עדיין אפשר לשנות כל אחד מערכי ההגדרה ב-CA החדש על ידי ציון הדגל המתאים. לדוגמה, עדיין אפשר לציין את האפשרות `--subject SUBJECT כדי להשתמש בנושא חדש.
אם לא מציינים את הדגל --key-algorithm, ברירת המחדל של האלגוריתם היא:
-
rsa-pkcs1-4096-sha256לרשויות אישורי בסיס. -
rsa-pkcs1-2048-sha256עבור רשויות אישורים משניות.
מידע נוסף על הפקודה gcloud מופיע במאמר gcloud privateca roots create.
המאמרים הבאים
- איך יוצרים רשות אישורים (CA) משנית
- איך יוצרים רשות אישורים משנית (Subordinate CA) מרשות אישורים חיצונית
- מידע על מדינות בארה"ב
- איך מבקשים אישורים
- מידע על תבניות ומדיניות הנפקה