בקשת אישור
בדף הזה מוסבר איך ליצור בקשת אישור בשירות Certificate Authority Service.
אפשר לבקש אישור באחת מהדרכים הבאות:
- יוצרים מפתח פרטי או ציבורי משלכם ושולחים בקשה לחתימת אישור (CSR).
- שימוש במפתח פרטי או ציבורי שנוצר באופן אוטומטי על ידי CA Service.
- שימוש במפתח קיים של Cloud Key Management Service (Cloud KMS).
לפני שמתחילים
כדי לקבל את ההרשאות שנדרשות להנפקת אישורים, צריך לבקש מהאדמין להקצות לכם ב-IAM את התפקיד CA Service Certificate Requester (
roles/privateca.certificateRequester) או CA Service Certificate Manager (roles/privateca.certificateManager).מידע נוסף על התפקידים המוגדרים מראש ב-IAM עבור CA Service זמין במאמר בקרת גישה באמצעות IAM.
מידע על הקצאת תפקיד IAM לחשבון משתמש מופיע במאמר הקצאת תפקיד יחיד.
בקשת אישור באמצעות CSR
כדי לקבל אישור, יוצרים CSR, ואז משתמשים בו כדי לבקש את האישור.
יצירת ה-CSR
הוראות מפורטות ליצירת בקשת חתימה (CSR) באמצעות OpenSSL מופיעות במאמר איך ליצור בקשת חתימה (CSR) באמצעות OpenSSL. אפשר גם להשתמש בקובץ התצורה לדוגמה הבא כהפניה כשיוצרים את בקשת ה-CSR.
כדי להשתמש בקובץ התצורה לדוגמה:
יוצרים קובץ תצורה בשם
csr.cnfעם ההגדרות הבאות.cat << EOF > csr.cnf [req] distinguished_name = req_distinguished_name req_extensions = v3_req prompt = no [req_distinguished_name] CN = example.com [v3_req] keyUsage = critical, digitalSignature, keyEncipherment extendedKeyUsage = serverAuth subjectAltName = @alt_names [alt_names] DNS.1 = example.com DNS.2 = www.example.com EOFבדוגמה הזו נוצר מפתח RSA של 2048 ביט (מוצפן באמצעות סיסמה) ו-CSR תואם שמכיל את הפרטים הבאים:
- המאפיין
commonNameבשם הדומיין של הנושא - התוסף
subjectAlternativeName - התוסף
keyUsage(מסומן כקריטי) - התוסף
extendedKeyUsage
משנים את הפרמטרים לפי הצורך. כדי להשתמש בפורמט של קובץ ההגדרות
x509v3_configכדי להגדיר תוספים לאישורי X.509 ולבקשות CSR, אפשר לעיין בתיעוד של OpenSSL.- המאפיין
מריצים את הפקודה הבאה
opensslכדי ליצור בקשת חתימה (CSR) ומפתח פרטי תואם:openssl req -newkey rsa:2048 -out csr.pem -keyout key.pem -config csr.cnfהפקודה הזו יוצרת את הקבצים הבאים:
-
csr.pem: בקשת ה-CSR שלכם, מוכנה לשליחה לרשות אישורים -
key.pem: המפתח הפרטי שלכם, שצריך לשמור אותו בצורה מאובטחת
משתמשים בקובץ
csr.pemבבקשת האישור.-
שליחת בקשת אישור באמצעות ה-CSR
כדי לבקש אישור באמצעות ה-CSR, פועלים לפי השלבים הבאים:
המסוף
נכנסים לדף Certificate Authority Service במסוףGoogle Cloud .
לוחצים על בקשת אישור.
בחירת אזור. האזור צריך להיות זהה לאזור של מאגר אישורי ה-CA שבו אתם מתכוונים להשתמש.
בוחרים מאגר של רשויות אישורים.
אופציונלי: בוחרים רשות אישורים ספציפית ממאגר רשויות האישורים. שימו לב: כשבוחרים רשות אישורים ספציפית להנפקת אישורים, נוצרת תלות ברשות האישורים הזו, ולכן קשה יותר להחליף רשויות אישורים.
אופציונלי: בוחרים תבנית לאישור. אם משתמשים בתבנית אישור, צריך לוודא שהמדיניות של תבנית האישור לא סותרת את המדיניות של מאגר רשויות האישורים שנבחר.
לוחצים על Provide Certificate Signing Request (CSR) (הזנת בקשת חתימה על אישור) ואז על Next (הבא). פרטי האישור מוצגים.
אופציונלי: כדי להחליף את השם של האישור שנוצר אוטומטית, מזינים את השם המותאם אישית בשדה שם האישור. אחרי שיוצרים את האישור, אי אפשר למחוק את שם האישור או להשתמש בו שוב.
אופציונלי: כדי לבחור תקופת תוקף מותאמת אישית לאישור, מזינים את הערך בשדה Valid for.
מעתיקים את ה-CSR ומדביקים אותו בתיבה Certificate CSR (בקשת חתימה על אישור). אם רוצים להעלות קובץ שמכיל את בקשת ה-CSR, לוחצים על עיון ואז בוחרים את הקובץ.
לוחצים על יצירת אישור.
הורדת האישור החתום
- כדי לראות את האישור שנוצר, לוחצים על הצגת האישור ואז על הצגה.
- כדי להעתיק את האישור, לוחצים על . כדי להוריד את האישור כקובץ
.crt, לוחצים על הורדת האישור. - אופציונלי: כדי להוריד את שרשרת האישורים, לוחצים על הורדת שרשרת האישורים.
gcloud
gcloud privateca certificates create CERT_ID \
--issuer-pool POOL_ID \
--issuer-location ISSUER_LOCATION \
--csr CSR_FILENAME \
--cert-output-file CERT_OUTPUT_FILE \
--validity "P30D"
מחליפים את מה שכתוב בשדות הבאים:
- CERT_ID: המזהה הייחודי של האישור
- POOL_ID: השם של מאגר רשות האישורים
- ISSUER_LOCATION: המיקום של האישור
- CSR_FILENAME: הקובץ שבו מאוחסן ה-CSR בקידוד PEM
- CERT_OUTPUT_FILE: הנתיב שבו צריך לכתוב את קובץ שרשרת האישורים בקידוד PEM. שרשרת האישורים מסודרת מישות קצה לאישור בסיס.
הדגל --validity מגדיר את משך הזמן שבו האישור תקף. זהו דגל אופציונלי שערך ברירת המחדל שלו הוא 30 ימים.
מידע נוסף על הפקודה gcloud privateca certificates create זמין במאמר gcloud privateca certificates create.
Terraform
API בארכיטקטורת REST
יוצרים בקשת חתימה על אישור (CSR) באמצעות השיטה המועדפת, למשל
openssl.הנה דוגמה ל-CSR שמקודד ל-JSON.
-----BEGIN CERTIFICATE REQUEST-----\nMIIChTCCAW0CAQAwQDELMAkGA1UEBhMCVVMxCzAJBgNVBAgMAkNBMQ8wDQYDVQQK\nDAZKb29uaXgxEzARBgNVBAMMCmpvb25peC5uZXQwggEiMA0GCSqGSIb3DQEBAQUA\nA4IBDwAwggEKAoIBAQCnyy+5vcRQUBPqAse3ojmWjyUvhcJK6eLRXpp0teEUF5kg\nHb2ov8gYXb9sSim5fnvs09dGYDKibSrL4Siy7lA/NzMzWtKwyQQeLIQq/cLUJVcd\ndItJ0VRcqr+UPkTCii2vrdcocNDChHM1J8chDdl6DkpYieSTqZwlPcWlQBGAINmT\nT3Q0ZarIVM5l74j13WPuToGrhbVOIZXWxWqJjlHbBA8B/VKtSRCzM1qG60y8Pu2f\n6c78Dfg8+CGRzGwnz8aFS0Yf9czT9luNHSadS/RHjvE9FPZCsinz+6mJlXRcphi1\nKaHsDbstUAhse1h5E9Biyr9SFYRHxY7qRv9aSJ/dAgMBAAGgADANBgkqhkiG9w0B\nAQsFAAOCAQEAZz+I9ff1Rf3lTewXRUpA7nr5HVO1ojCR93Pf27tI/hvNH7z7GwnS\noScoJlClxeRqABOCnfmVoRChullb/KmER4BZ/lF0GQpEtbqbjgjkEDpVlBKCb0+L\nHE9psplIz6H9nfFS3Ouoiodk902vrMEh0LyDYNQuqFoyCZuuepUlK3NmtmkexlgT\n0pJg/5FV0iaQ+GiFXSZhTC3drfiM/wDnXGiqpbW9WmebSij5O+3BNYXKBUgqmT3r\nbryFydNq4qSOIbnN/MNb4UoKno3ve7mnGk9lIDf9UMPvhl+bT7C3OLQLGadJroME\npYnKLoZUvRwEdtZpbNL9QhCAm2QiJ6w+6g==\n-----END CERTIFICATE REQUEST-----לבקש אישור.
ה-method של ה-HTTP וכתובת ה-URL:
POST https://privateca.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/caPools/POOL_ID/certificates?certificate_id=CERTIFICATE_ID
תוכן בקשת JSON:
{ "lifetime": { "seconds": 3600, "nanos": 0 }, "pem_csr": "PEM_CSR" }כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
אתם אמורים לקבל תגובת JSON שדומה לזו:
{ "name": "projects/project-id/locations/location/certificateAuthorities/ca-id/certificates/certificate-id", "pemCertificate": "-----BEGIN CERTIFICATE-----...", "certificateDescription": {...} }
בקשת אישור באמצעות מפתח שנוצר אוטומטית
המסוף
אפשר להשתמש ב Google Cloud מסוף כדי ליצור אישורי לקוח או שרת TLS.
נכנסים לדף Certificate Authority Service במסוףGoogle Cloud .
לוחצים על בקשת אישור.
בחירת אזור. האזור צריך להיות זהה לאזור של מאגר אישורי ה-CA שבו אתם מתכוונים להשתמש.
בוחרים מאגר של רשויות אישורים.
לוחצים על הזנת פרטים באופן ידני. פרטי האישור מוצגים.
אופציונלי: מחליפים את שם האישור שנוצר אוטומטית בשם מותאם אישית שהוא ייחודי.
אופציונלי: כדי לבחור תקופת תוקף מותאמת אישית לאישור, מזינים את הערך בשדה Valid for.
הוספת שם דומיין
- בקטע הוספת שם דומיין, מזינים שם דומיין בשדה שם דומיין 1.
- אופציונלי: אם רוצים להוסיף יותר משם דומיין אחד, לוחצים על הוספת פריט ומזינים שם דומיין נוסף בשדה שם הדומיין 2.
שימוש מורחב במפתח
אופציונלי: בקטע שימוש מורחב במַפְתח, בוחרים באחת מהאפשרויות הבאות בהתאם לתרחיש השימוש:
- TLS של לקוח: האישורים האלה מאפשרים לאמת את הזהות של מבקש.
- TLS של שרת: האישורים האלה מאפשרים לכם לאמת את הזהות של שרת.
לוחצים על הבא.
הגדרה של גודל המפתח והאלגוריתם
- אופציונלי: בקטע Configure key size and algorithm (הגדרת גודל המפתח והאלגוריתם), בוחרים את גודל מפתח החתימה והאלגוריתם מהרשימה. אם מדלגים על השלב הזה, נעשה שימוש במפתח RSASSA-PSS 2048 ביט עם תקציר SHA 256. מידע על בחירת מפתח חתימה ואלגוריתם מופיע במאמר בחירת אלגוריתם מפתח.
- לוחצים על יצירת אישור.
הורדת האישור החתום
- כדי לראות את האישור שנוצר, לוחצים על הצגת האישור ואז על הצגה.
- אופציונלי: כדי להוריד את שרשרת האישורים עם קידוד PEM, לוחצים על הורדת שרשרת האישורים.
אופציונלי: כדי להוריד את המפתח הפרטי המשויך בקידוד PEM, לוחצים על הורדת מפתח פרטי.
gcloud
כדי להשתמש בתכונה של יצירת מפתח אוטומטית, צריך להתקין את ספריית Python Cryptographic Authority (PyCA). הוראות להתקנת ספריית ה קריפטוגרפיה Pyca מופיעות במאמר הכללת ספריית ה קריפטוגרפיה Pyca.
כדי ליצור אישור, משתמשים בפקודה gcloud הבאה:
gcloud privateca certificates create \
--issuer-pool POOL_ID \
--issuer-location ISSUER_LOCATION \
--generate-key \
--key-output-file KEY_FILENAME \
--cert-output-file CERT_OUTPUT_FILE \
--dns-san "DNS_NAME" \
--use-preset-profile "CERTIFICATE_PROFILE"
מחליפים את מה שכתוב בשדות הבאים:
- POOL_ID: השם של מאגר רשות האישורים
- ISSUER_LOCATION: המיקום של האישור
- KEY_FILENAME: הנתיב שבו צריך לכתוב את קובץ המפתח הפרטי שנוצר
- CERT_OUTPUT_FILE: הנתיב שבו צריך לכתוב את קובץ שרשרת האישורים בקידוד PEM. שרשרת האישורים מסודרת מישות הקצה ועד לאישור הבסיס.
- DNS_NAME: שמות חלופיים של נושאים ב-DNS (SAN) שמופרדים בפסיקים (לפחות אחד)
- CERTIFICATE_PROFILE: המזהה הייחודי של פרופיל האישור. לדוגמה, משתמשים ב-
leaf_server_tlsל-TLS של שרת ישות קצה.
הפקודה gcloud כוללת את הדגלים הבאים:
-
--generate-key: יוצר מפתח פרטי חדש מסוג RSA-2048 במחשב.
אפשר גם להשתמש בכל שילוב של הדגלים הבאים:
-
--dns-san: מאפשרת להעביר שם אחד או יותר של DNS SANs שמופרדים באמצעות פסיקים. -
--ip-san: מאפשרת להעביר ערך אחד או יותר של שמות חלופיים של IP, מופרדים בפסיקים. -
--uri-san: מאפשרת להעביר אחד או יותר ערכי SAN של URI שמופרדים באמצעות פסיקים. -
--subject: מאפשר להעביר שם X.501 של נושא האישור.
מידע נוסף על הפקודה gcloud privateca certificates create זמין במאמר gcloud privateca certificates create.
המשך
כדי לבצע אימות ב-CA Service, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
Java
כדי לבצע אימות ב-CA Service, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
Python
כדי לבצע אימות ב-CA Service, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
בקשת אישור באמצעות מפתח Cloud KMS קיים
אפשר להשתמש ב-Google Cloud CLI רק כדי לבקש אישורים באמצעות מפתח Cloud KMS.
gcloud
כדי להשתמש במפתח Cloud KMS כדי ליצור אישור TLS של שרת ישות קצה, מריצים את הפקודה הבאה:
gcloud privateca certificates create \
--issuer-pool POOL_ID \
--issuer-location ISSUER_LOCATION \
--kms-key-version projects/PROJECT_ID/locations/LOCATION_ID/keyRings/KEY_RING/cryptoKeys/KEY/cryptoKeyVersions/KEY_VERSION \
--cert-output-file CERT_OUTPUT_FILE \
--dns-san "DNS_NAME" \
--use-preset-profile "leaf_server_tls"
מחליפים את מה שכתוב בשדות הבאים:
- POOL_ID: השם של מאגר רשות האישורים
- ISSUER_LOCATION: המיקום של האישור
- PROJECT_ID: מזהה הפרויקט
- LOCATION_ID: המיקום של אוסף המפתחות
- KEY_RING: השם של אוסף המפתחות שבו נמצא המפתח
- KEY: השם של המפתח
- KEY_VERSION: גרסת המפתח
- CERT_OUTPUT_FILE: הנתיב של קובץ שרשרת האישורים בקידוד PEM. הקבצים בשרשרת האישורים מסודרים מהישות הסופית ועד לרמה הבסיסית (root).
- DNS_NAME: רשימה של שמות SAN ב-DNS, מופרדים באמצעות פסיקים
הנפקת אישור מ-CA ספציפי במאגר CA
בקטע הזה מוסבר איך להנפיק אישורים מ-CA ספציפי במאגר CA.
המסוף
נכנסים לדף Certificate Authority Service במסוףGoogle Cloud .
לוחצים על בקשת אישור.
בחירת אזור. האזור צריך להיות זהה לאזור של מאגר אישורי ה-CA שבו אתם מתכוונים להשתמש.
בוחרים מאגר של רשויות אישורים.
כדי לבחור CA, לוחצים על Use a specific CA from this CA pool (שימוש ב-CA ספציפי ממאגר ה-CA הזה), ואז בוחרים CA מהרשימה.
בוחרים פרמטרים אחרים כמו שמתואר בקטע בקשת אישור באמצעות מפתח שנוצר אוטומטית או בקטע בקשת אישור באמצעות CSR.
gcloud
כדי לטרגט רשות אישורים ספציפית במאגר רשויות האישורים להנפקת אישורים, מוסיפים את הדגל --ca עם ה-CA_ID של רשות האישורים שצריכה להנפיק את האישור.
gcloud privateca certificates create \
--issuer-pool POOL_ID \
--issuer-location ISSUER_LOCATION \
--ca CA_ID \
--generate-key \
--key-output-file KEY_FILENAME \
--cert-output-file CERT_OUTPUT_FILE \
--dns-san "DNS_NAME" \
--use-preset-profile "leaf_server_tls"
Terraform
שליחת בקשה לאישור במצב אימות
כשמבקשים אישור במצב אימות, נוצר אישור בדיקה לא חתום. אישור הבדיקה הזה לא מקודד ב-PEM ולא כרוך בתשלום. אי אפשר להוריד את האישור, אבל תיאור האישור ההיפותטי מאפשר לכם לוודא שאתם יכולים להנפיק אישור חתום עם הפרמטרים שבחרתם.
כדי לבקש אישור במצב אימות, צריך לפעול לפי השלבים הבאים:
המסוף
נכנסים לדף Certificate Authority Service במסוףGoogle Cloud .
לוחצים על בקשת אישור.
בוחרים באפשרות Use validation mode for a hypothetical certificate description instead of a signed certificate (שימוש במצב אימות לתיאור היפותטי של אישור במקום באישור חתום).
פועלים לפי אותם השלבים שבהם משתמשים כדי לבקש אישור חתום.
המאמרים הבאים
- מידע על פרופילים של אישורים
- איך מבטלים אישורים
- איך ממיינים ומסננים אישורים
- איך מנהלים אישורים באמצעות Google Cloud CLI