פריסת אישור שמנוהל על ידי Google בכמה אזורים באמצעות Certificate Authority Service

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

אם רוצים לפרוס למאזני עומסים חיצוניים גלובליים או למאזני עומסים אזוריים, אפשר לעיין במאמרים הבאים:

מטרות

במדריך הזה מוסבר איך לבצע את הפעולות הבאות:

  • יוצרים אישור שמנוהל על ידי Google באמצעות CA Service דרך Certificate Manager.
  • פורסים את האישור למאזן עומסים נתמך באמצעות פרוקסי HTTPS של יעד.

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

  1. נכנסים לחשבון Google Cloud . אם אתם משתמשים חדשים ב- Google Cloud, צרו חשבון כדי שתוכלו להעריך את הביצועים של המוצרים שלנו בתרחישים מהעולם האמיתי. לקוחות חדשים מקבלים בחינם גם קרדיט בשווי 300$ להרצה, לבדיקה ולפריסה של עומסי העבודה.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. Enable the Compute Engine, Certificate Manager, Certificate Authority APIs.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

  5. התקינו את ה-CLI של Google Cloud.

  6. אם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.

  7. כדי לאתחל את ה-CLI של gcloud, הריצו את הפקודה הבאה:

    gcloud init
  8. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  9. Verify that billing is enabled for your Google Cloud project.

  10. Enable the Compute Engine, Certificate Manager, Certificate Authority APIs.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

  11. התקינו את ה-CLI של Google Cloud.

  12. אם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.

  13. כדי לאתחל את ה-CLI של gcloud, הריצו את הפקודה הבאה:

    gcloud init
  14. מפעילים את CA Service API.
  15. יוצרים מאגר רשויות אישורים. צריך ליצור ולהפעיל לפחות CA אחד במאגר ה-CA הזה.

לפני שמבצעים את השלבים במדריך הזה, חשוב לרשום את הפרטים הבאים:

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

    • מדיניות הנפקת האישורים חסמה את האישור המבוקש. במקרה כזה, לא נחייב אתכם כי האישור לא הונפק.
    • המדיניות החילה שינויים באישור שלא נתמכים על ידי Certificate Manager. במקרה כזה, החיוב יתבצע כי האישור הונפק, גם אם הוא לא תואם באופן מלא ל-Certificate Manager.
  • אפשר להגדיר הנפקה של אישורי TLS גלובליים שמנוהלים על ידי Google ממאגר של רשויות אישורים בכל אזור.

התפקידים הנדרשים

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

  • בעלים של Certificate Manager (roles/certificatemanager.owner)

    נדרשת כדי ליצור ולנהל משאבים של Certificate Manager.

  • אדמין של איזון עומסים ב-Compute‏ (roles/compute.loadBalancerAdmin) או אדמין של רשת מחשוב (roles/compute.networkAdmin)

    נדרש כדי ליצור ולנהל שרת proxy ליעד HTTPS.

  • אדמין של שירות CA‏ (roles/privateca.admin)

    נדרש כדי לבצע פעולות ב-CA Service.

למידע נוסף, קראו את המאמרים הבאים:

יצירת מאזן העומסים

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

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

הגדרת שילוב של שירות CA עם Certificate Manager

כדי לשלב בין CA Service לבין Certificate Manager, פועלים לפי השלבים הבאים:

  1. בפרויקט היעד Google Cloud , יוצרים חשבון שירות של Certificate Manager:

    gcloud beta services identity create --service=certificatemanager.googleapis.com \
        --project=PROJECT_ID
    

    מחליפים את PROJECT_ID במזהה של פרויקט היעדGoogle Cloud .

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

    service-520498234@gcp-sa-certificatemanager.iam.gserviceaccount.com
    
  2. מקצים לחשבון השירות של Certificate Manager את התפקיד 'שליחת בקשות לאישורים של שירות CA' (roles/privateca.certificateRequester) במאגר CA של היעד:

    gcloud privateca pools add-iam-policy-binding CA_POOL \
        --location LOCATION \
        --member "serviceAccount:SERVICE_ACCOUNT" \
        --role roles/privateca.certificateRequester
    

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

    • CA_POOL: המזהה של מאגר רשויות האישורים (CA) של היעד.
    • LOCATION: מיקום היעד. Google Cloud
    • SERVICE_ACCOUNT: השם המלא של חשבון השירות שיצרתם בשלב 1.
  3. יוצרים משאב של הגדרת הנפקת אישורים למאגר ה-CA:

    המסוף

    1. במסוף Google Cloud , עוברים לכרטיסייה Issuance configs בדף Certificate Manager.

      מעבר אל Certificate Manager

    2. לוחצים על יצירה. יופיע הדף Create a Certificate Issuance Config.

    3. בשדה שם, מזינים שם ייחודי להגדרת הנפקת האישור.

    4. אופציונלי: בשדה Description, מזינים תיאור של הגדרת ההנפקה.

    5. בקטע מיקום, בוחרים באפשרות גלובלי.

    6. אופציונלי: בשדה Lifetime, מציינים את משך החיים של האישור שהונפק בימים. הערך חייב להיות בין 21 ל-30 ימים (כולל).

    7. אופציונלי: באחוז חלון ההחלפה, מציינים את האחוז ממשך החיים של האישור שבו מתחיל תהליך החידוש. כדי לראות את טווח הערכים התקינים, אפשר לעיין במאמר בנושא משך החיים ואחוז חלון הרוטציה.

    8. אופציונלי: מהרשימה אלגוריתם המפתח, בוחרים את אלגוריתם המפתח שבו רוצים להשתמש כשיוצרים את המפתח הפרטי.

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

    10. בשדה Labels (תוויות), מציינים את התוויות שרוצים לשייך לאישור. כדי להוסיף תווית, לוחצים על Add label ומציינים מפתח וערך לתווית.

    11. לוחצים על יצירה.

    gcloud

    gcloud certificate-manager issuance-configs create ISSUANCE_CONFIG_NAME \
        --ca-pool=CA_POOL
    

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

    • ISSUANCE_CONFIG_NAME: השם של משאב הגדרות הנפקת האישורים.
    • CA_POOL: שם המשאב והנתיב המלאים של מאגר רשויות האישורים שרוצים להקצות למשאב הזה של הגדרת הנפקת האישורים.

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

יצירת אישור שמנוהל על ידי Google שהונפק על ידי מופע CA Service

כדי ליצור אישור בניהול Google שהונפק על ידי מופע CA Service, צריך לבצע את הפעולות הבאות:

המסוף

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

    מעבר אל Certificate Manager

  2. בכרטיסייה אישורים, לוחצים על הוספת אישור.

  3. בשדה שם האישור, מזינים שם ייחודי לאישור.

  4. אופציונלי: בשדה Description, מזינים תיאור של האישור. התיאור מאפשר לכם לזהות את האישור.

  5. בקטע מיקום, בוחרים באפשרות גלובלי.

  6. בקטע היקף, בוחרים באפשרות כל האזורים.

  7. בשדה Certificate type (סוג האישור), בוחרים באפשרות Create Google-managed certificate (יצירת אישור בניהול Google).

  8. בשדה Certificate Authority type, בוחרים באפשרות Private.

  9. בשדה שמות דומיינים, מציינים רשימה של שמות דומיינים של האישור, שמופרדים בפסיקים. כל שם דומיין צריך להיות שם דומיין שמוגדר במלואו, כמו myorg.example.com.

  10. בקטע Select a certificate issuance config (בחירת הגדרת הנפקת אישור), בוחרים את השם של משאב הגדרת הנפקת האישור שמפנה למאגר היעד של רשות האישורים.

  11. בשדה Labels (תוויות), מציינים את התוויות שרוצים לשייך לאישור. כדי להוסיף תווית, לוחצים על Add label ומציינים מפתח וערך לתווית.

  12. לוחצים על יצירה.

    האישור החדש מופיע ברשימת האישורים.

gcloud

כדי ליצור אישור חוצה אזורים שמנוהל על ידי Google באמצעות Certificate Authority Service, משתמשים בפקודה certificate-manager certificates create עם הדגלים issuance-config ו---scope:

gcloud certificate-manager certificates create CERTIFICATE_NAME \
    --domains="DOMAIN_NAMES" \
    --issuance-config=ISSUANCE_CONFIG_NAME \
    --scope=all-regions

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

  • CERTIFICATE_NAME: שם האישור.
  • DOMAIN_NAME: השם של דומיין היעד. שם הדומיין חייב להיות שם דומיין שמוגדר במלואו, כמו myorg.example.com.
  • ISSUANCE_CONFIG_NAME: השם של משאב הגדרות הנפקת האישורים שמפנה למאגר היעד של רשות האישורים.

API

כדי ליצור את האישור, שולחים בקשת POST ל-method‏ certificates.create באופן הבא:

POST /v1/projects/PROJECT_ID/locations/global/certificates?certificate_id=CERTIFICATE_NAME"
{
 "managed": {
  "domains": ["DOMAIN_NAME"],
  "issuanceConfig": "ISSUANCE_CONFIG_NAME",
  "scope": "ALL_REGIONS"
 }
}

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

  • PROJECT_ID: מזהה הפרויקט ב- Google Cloud .
  • CERTIFICATE_NAME: שם האישור.
  • DOMAIN_NAME: השם של דומיין היעד. שם הדומיין חייב להיות שם דומיין שמוגדר במלואו, כמו myorg.example.com.
  • ISSUANCE_CONFIG_NAME: השם של משאב הגדרות הנפקת האישורים שמפנה למאגר היעד של רשות האישורים.

אימות הסטטוס של האישור

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

המסוף

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

    מעבר אל Certificate Manager

  2. בכרטיסייה Certificates (אישורים), בודקים את העמודה Status (סטטוס) של האישור.

gcloud

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

gcloud certificate-manager certificates describe CERTIFICATE_NAME

מחליפים את CERTIFICATE_NAME בשם של אישור מנוהל על ידי Google.

הפלט אמור להיראות כך:

createTime: '2021-10-20T12:19:53.370778666Z'
expireTime: '2022-05-07T05:03:49Z'
managed:
  domains:
  - myorg.example.com
  issuanceConfig: projects/myproject/locations/global/issuanceConfigs/myissuanceConfig
  state: ACTIVE
name: projects/myproject/locations/global/certificates/mycertificate
pemCertificate: |
  -----BEGIN CERTIFICATE-----
  [...]
  -----END CERTIFICATE-----
sanDnsnames:
  - myorg.example.com
updateTime: '2021-10-20T12:19:55.083385630Z'

שלבים נוספים לפתרון בעיות זמינים במאמר בנושא פתרון בעיות ב-Certificate Manager.

פריסת האישור במאזן עומסים

כדי לפרוס את האישור הגלובלי שמנוהל על ידי Google, צריך לצרף אותו ישירות לשרת ה-proxy של היעד.

צירוף האישור ישירות לשרת ה-proxy של היעד

אפשר לצרף את האישור לשרת proxy חדש של יעד או לשרת proxy קיים של יעד.

כדי לצרף את האישור לשרת proxy חדש ליעד, משתמשים בפקודה gcloud compute target-https-proxies create:

gcloud compute target-https-proxies create PROXY_NAME \
    --url-map=URL_MAP \
    --certificate-manager-certificates=CERTIFICATE_NAME \
    --global

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

  • PROXY_NAME: שם של שרת proxy של היעד.
  • URL_MAP: השם של מפת URL. יצרתם את מפת ה-URL כשיצרתם את מאזן העומסים.
  • CERTIFICATE_NAME: שם האישור.

כדי לצרף את האישור ל-proxy קיים של HTTPS, משתמשים בפקודה gcloud compute target-https-proxies update. אם אתם לא יודעים את השם של שרת ה-proxy הקיים ליעד, עוברים לדף Target proxies ורושמים את השם של שרת ה-proxy ליעד.

gcloud compute target-https-proxies update PROXY_NAME \
    --global \
    --certificate-manager-certificates=CERTIFICATE_NAME

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

gcloud compute target-https-proxies list

פתרון בעיות שקשורות לאישורים שהונפקו על ידי שירות CA

שלבים לפתרון בעיות מפורטים במאמר בעיות שקשורות לאישורים שהונפקו על ידי מופע של שירות CA.

הסרת המשאבים

כדי להימנע מחיובים בחשבון Google Cloud על המשאבים שבהם השתמשתם במדריך הזה, מוחקים אותם.

  1. מחיקת מאזן העומסים והמשאבים שלו.

    איך מנקים הגדרות של איזון עומסים

  2. מוחקים את האישור שמנוהל על ידי Google:

    המסוף

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

      מעבר אל Certificate Manager

    2. בכרטיסייה אישורים, מסמנים את תיבת הסימון של האישור.

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

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

    gcloud

    gcloud certificate-manager certificates delete CERTIFICATE_NAME
    

    מחליפים את CERTIFICATE_NAME בשם של אישור היעד.

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

    המסוף

    1. במסוף Google Cloud , עוברים לכרטיסייה Issuance configs בדף Certificate Manager.

      מעבר אל Certificate Manager

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

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

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

    gcloud

    gcloud certificate-manager issuance-configs delete ISSUANCE_CONFIG_NAME
    

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

  4. מחיקת מאגר רשויות אישורים.

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

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