אחרי שיוצרים שירות Media CDN (או שירותים), אפשר להנפיק אישורי SSL (TLS) ולצרף אותם כדי לתמוך בקישוריות מאובטחת בדפדפנים ובאפליקציות לנייד.
הנפקת אישור מנוהל
כדי ליצור אישור מנוהל ולצרף אותו לשירות Media CDN, צריך לבצע את הפעולות הבאות:
- כדי להוכיח בעלות ("הרשאה") על הדומיינים שרוצים להנפיק להם אישורים, צריך ליצור אסימון אתגר ולהוסיף רשומת DNS.
- יוצרים אישור מסוג
EDGE_CACHEעם שם דומיין אחד או יותר על סמך ההרשאה הזו. - מצרפים את האישור הזה לשירות Edge Cache אחד או יותר.
כדי לאשר, ליצור ולצרף אישורים לשירות Edge Cache, צריכות להיות לכם ההרשאות הבאות לניהול זהויות והרשאות גישה (IAM):
certificatemanager.certs.createcertificatemanager.certs.getcertificatemanager.certs.listcertificatemanager.certs.usecertificatemanager.dnsauthorizations.createcertificatemanager.dnsauthorizations.getcertificatemanager.dnsauthorizations.listcertificatemanager.dnsauthorizations.use
משתמשים שצריכים לצרף אישור קיים לשירות Media CDN צריכים את הרשאות ה-IAM certificatemanager.certs.get, certificatemanager.certs.list ו-certificatemanager.certs.use.
לפני שמתחילים
- צריך להיות לכם שם דומיין רשום שאתם יכולים לעדכן בו רשומות DNS ציבוריות.
- סקירה כללית על אישורי SSL
יצירת הרשאת DNS
קודם צריך ליצור הרשאת DNS כדי להוכיח בעלות על הדומיין, ורק אחר כך אפשר להנפיק לו אישורים. אימות ה-DNS מתבצע באמצעות אתגר DNS-01 ACME, ומאפשר להנפיק אישור לפני הפניית תנועה שגלוי למשתמשים לשירות Edge Cache.
מגדירים את הערך של domain לשם הדומיין שרוצים ליצור עבורו אישור, באופן הבא:
gcloud
משתמשים בפקודה gcloud certificate-manager dns-authorizations:
gcloud certificate-manager dns-authorizations create DOMAIN_NAME_AUTH \
--domain="DOMAIN_NAME"
gcloud certificate-manager dns-authorizations describe DOMAIN_NAME_AUTH
ה-CLI של gcloud מחזיר תגובה עם הפרטים של רשומת ה-DNS שצריך להוסיף.
createTime: '2022-01-14T13:35:00.258409106Z' dnsResourceRecord: data: 0e40fc77-a37d-4eb8-8fe1-eea2e18d12d9.4.authorize.certificatemanager.goog. name: _acme-challenge.example.com. type: CNAME domain: example.com name: projects/myProject/locations/global/dnsAuthorizations/myAuthorization updateTime: '2022-01-14T13:35:01.571086137Z'
Terraform
אם אתם משתמשים ב-Cloud DNS עבור הדומיין שלכם, תוכלו לעיין בשלבים להוספת רשומה חדשה לדומיין המארח. אם אתם משתמשים בספק DNS אחר, תוכלו לעיין במסמכים שלו כדי להבין איך מוסיפים רשומת CNAME.
- אפשר לחזור על השלב הזה לכל דומיין שרוצים להנפיק לו אישור.
- אישורים יכולים לכלול כמה דומיינים, או שאפשר להנפיק אישור לכל דומיין, לפי הצורך. אחרי שיש לכם הרשאה לדומיין, אתם יכולים להשתמש בה כדי להנפיק אישורים.
- מומלץ ליצור פחות אישורים בסך הכול, כשכל אחד מהם כולל את כל שמות הדומיין שמשמשים את השירות. כך משפרים את הביצועים של הלקוחות כשמשתמשים בכמה דומיינים, כי הלקוחות יכולים ליהנות מחידוש TLS בתדירות גבוהה יותר.
- כל שירות Edge Cache יכול להפנות לעד חמישה אישורים. כדי לא לחרוג מהמגבלה הזו, צריך להנפיק פחות אישורים.
אם תצטרכו לאחזר את הערכים של רשומות ה-DNS במועד מאוחר יותר, תצטרכו לשלוח בקשה
ל-authorizationName שסיפקתם כשנוצר אישור ה-DNS:
יצירת אישור
אחרי שמוסיפים את רשומת ה-DNS שמוכיחה בעלות על הדומיינים שרוצים ליצור עבורם אישור, אפשר לשלוח בקשה ליצירת אישור.
הרשימה של dnsAuthorizations צריכה להיות זהה לשמות של הרשאות קיימות שיצרתם בשלב מוקדם יותר בתהליך. אם רוצים להוסיף כמה דומיינים לאותו אישור, צריך לספק רשימה של domains[] ושל dnsAuthorizations[] תואמים כששולחים את הבקשה.
כדי ליצור אישור באמצעות הרשאה עבור test.example.com שנקראת test-example-com:
gcloud
משתמשים בפקודה gcloud certificate-manager certificates:
gcloud certificate-manager certificates create CERTIFICATE_NAME \
--domains="DOMAIN_NAME" \
--dns-authorizations="DOMAIN_NAME_AUTH" \
--scope=EDGE_CACHE
כך נוצר אישור עם כל הרשאת DNS במצב AUTHORIZING
והאישור במצב PROVISIONING:
Create request issued for: [DOMAIN_NAME] Waiting for operation [projects/my-project/locations/global/operations/operatio n-1613425627385-5bb66ed644e91-3e2a2f1f-71979cf8] to complete...done. Created certificate [CERTIFICATE_NAME].
Terraform
יכול להיות שיחלפו כמה דקות (או עד שעה) עד ליצירת האישור, בהתאם לגורמים הבאים:
- המהירות שבה ספק ה-DNS מעביר שינויים בהגדרות.
- כמה דומיינים ניסיתם לאמת וליצור להם אישורים.
בשדה state מוצג הסטטוס הנוכחי של האישור:
- הקצאת הרשאות – האישור עדיין נמצא בתהליך הקצאת הרשאות. הסיבה לכך היא כנראה שהבקשה ליצירת האישור נשלחה רק לאחרונה.
- FAILED – מוחזר אחרי כמה ניסיונות לאמת את הדומיין או להנפיק את האישור. פרטים נוספים מופיעים בשדות
provisioning_issue,authorization_attempt_infoו-failure_reason. - פעיל – הדומיין אומת בהצלחה והאישור הוקצה.
כדי לבדוק את הסטטוס של האישור:
gcloud
משתמשים בפקודה gcloud certificate-manager certificates:
gcloud certificate-manager certificates describe CERTIFICATE_NAME
בדוגמה הזו, ההרשאה של ה-DNS היא AUTHORIZED והסטטוס של האישור הוא ACTIVE:
createTime: '2021-02-07T20:03:39.867762684Z' expireTime: '2021-03-09T19:20:41Z' managed: authorizationAttemptInfo: - domain: DOMAIN_NAME state: AUTHORIZED dnsAuthorizations: - projects/111111111111/locations/global/dnsAuthorizations/test-example-com domains: - DOMAIN_NAME state: ACTIVE name: projects/my-project/locations/global/certificates/test-example-com scope: EDGE_CACHE subjectAlternativeNames: - DOMAIN_NAME updateTime: '2021-02-07T20:03:40.297242738Z'
אחרי שהאישור ACTIVE, אפשר לצרף אותו לשירות Edge Cache.
צירוף אישור לשירות
אחרי שיוצרים אישור מנוהל, אפשר לשייך אותו לשירות אחד או יותר של Edge Cache.
אפשר לצרף אישורים לשירותים קיימים ולשירותים חדשים על ידי עדכון רשימת edgeSslCertificates בשירות.
כדי לצרף אישורים לשירות Edge Cache, צריכות להיות לכם ההרשאות הבאות ב-IAM:
certificatemanager.certs.getcertificatemanager.certs.listcertificatemanager.certs.usenetworkservices.edgeCacheServices.getnetworkservices.edgeCacheServices.listnetworkservices.edgeCacheServices.update
כדי לצרף אישור לשירות, מבצעים את השלבים הבאים.
gcloud
מריצים את הפקודה gcloud edge-cache services export כדי לייצא את קובץ ה-YAML של השירות:
gcloud edge-cache services export SERVICE_NAME \
--destination=my-service.yaml
עורכים את קובץ ה-YAML שיוצא כדי להוסיף את האישור:
name: SERVICE_NAME edgeSslCertificates: - projects/PROJECT_ID/locations/global/certificates/CERTIFICATE_NAME
מריצים את הפקודה gcloud edge-cache services import:
gcloud edge-cache services import SERVICE_NAME \
--source=my-service.yaml
פלט:
Request issued for: [SERVICE_NAME] Updated service [SERVICE_NAME]
הפקודה מחזירה תיאור של השירות, כולל רשימת edgeSslCertificates שמצורפת עכשיו:
name: SERVICE_NAME edgeSslCertificates: - projects/PROJECT_ID/locations/global/certificates/CERTIFICATE_NAME
אחרי שמעדכנים את ההגדרה, האישור מועבר לכל מיקומי הקצה תוך דקות. כדי לבדוק שהאישור משויך לשירות Edge Cache לפני שמבצעים שינויים ב-DNS, אפשר לשלוח בקשה לכתובת IPv4 או IPv6 שמשויכת לשירות.
החלפה והסרה של אישורים
אפשר להוסיף אישורים ולהסיר אותם על ידי עדכון רשימת האישורים.
כשמשתמשים בדגל --edge-ssl-certificate של gcloud CLI, האישורים מצורפים רק לרשימת האישורים הקיימים, ולא מחליפים אותם. כך לא תסירו בטעות אישור פעיל ותקין.
כדי להסיר את אישור test-example-com מהשירות שלנו בדוגמה הבאה, אפשר לייצא את השירות ל-YAML באמצעות פקודות הייבוא והייצוא
name: my-service edgeSslCertificates: - projects/PROJECT_ID/locations/global/certificates/test-example-com - projects/PROJECT_ID/locations/global/certificates/CERTIFICATE_NAME
הפקודות הבאות מראות איך לייצא את השירות, להסיר את ההפניה לאישור ולייבא את השירות המעודכן.
gcloud
משתמשים בפקודה gcloud edge-cache services:
gcloud edge-cache services export SERVICE_NAME --destination=my-service.yaml
Exported [projects/my-project/locations/global/edgeCacheServices/SERVICE_NAME] to 'my-service.yaml'.
כדי להסיר את האישורים שאתם לא רוצים שהשירות ישתמש בהם יותר, משתמשים בכלי המועדף לעריכת טקסט:
name: SERVICE_NAME edgeSslCertificates: - projects/PROJECT_ID/locations/global/certificates/CERTIFICATE_NAME
שומרים את הקובץ ששיניתם, ואז מייבאים את השירות המעודכן:
gcloud
משתמשים בפקודה gcloud edge-cache services:
gcloud edge-cache services import SERVICE_NAME --source=my-service.yaml
Request issued for: [SERVICE_NAME] Updated service [SERVICE_NAME].
אין הגבלה על מספר השירותים שאפשר לשייך אליהם אישור, וכל שירות Edge Cache יכול להפנות לעד חמישה אישורים.
אישורים בניהול עצמי
אתם יכולים להעלות אישורים משלכם ל-Media CDN אם יש לכם תרחישי שימוש ספציפיים שדורשים זאת.
כדי להעלות אישור ואת המפתח שמשויך אליו אל Certificate Manager:
gcloud
משתמשים בפקודה gcloud certificate-manager certificates. חשוב לוודא שציינתם --scope=EDGE_CACHE לאישורים שמשויכים ל-Media CDN.
gcloud certificate-manager certificates create stream-example-com \
--certificate-file=CERT.pem \
--private-key-file=PRIVATE_KEY.pem \
--scope=EDGE_CACHE
Create request issued for: [stream-example-com] Created certificate [stream-example-com].
אחרי העלאת האישור, אפשר לצרף אותו ל-EdgeCacheService כמו אישור מנוהל.
פתרון בעיות בהנפקת אישורים
במדריך לפתרון בעיות מוסבר איך לפתור שגיאות נפוצות בהרשאה ובהנפקה של אישורים.
המאמרים הבאים
- הפניה אוטומטית של כל בקשות ה-HTTP אל HTTPS כדי להצפין את התקשורת כברירת מחדל
- הצגת יומני בקשות באמצעות Logging
- הגדרת בקשות חתומות כדי להגן על התוכן
- אופטימיזציה של מפתחות מטמון וערכי TTL כדי לשפר את שיעורי הפגיעה במטמון
- הגדרת התאמה מתקדמת של מסלולי ניתוב והוספת מקורות נוספים