פריסת אישור אזורי שמנוהל על ידי 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 serviceusage.services.enable permission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). 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 serviceusage.services.enable permission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). 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 הזה.

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

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

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

  • אישורי 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, כי תצטרכו אותו בהמשך המדריך הזה.

הגדרת שילוב של שירות 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. בקטע מיקום, בוחרים באפשרות אזורי.

      בשדה Region, בוחרים את אותו אזור שבו נמצאים האישור ומאגר רשויות האישורים.

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

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

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

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

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

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

    gcloud

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

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

    • ISSUANCE_CONFIG_NAME: השם של משאב הגדרות הנפקת האישורים.
    • CA_POOL: שם המשאב והנתיב המלאים של מאגר רשויות האישורים שרוצים להקצות למשאב הזה של הגדרת הנפקת האישורים.
    • LOCATION: מיקום היעד. Google Cloud צריך לציין את אותו מיקום כמו מאגר רשויות האישורים והאישור.

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

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

כדי ליצור אישור שמנוהל על ידי 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:

gcloud certificate-manager certificates create CERTIFICATE_NAME \
    --domains="DOMAIN_NAMES" \
    --issuance-config="ISSUANCE_CONFIG_NAME" \
    --location="LOCATION"

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

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

API

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

POST /v1/projects/PROJECT_ID/locations/LOCATION/certificates?certificate_id=CERTIFICATE_NAME"
{
 name: "/projects/example-project/locations/LOCATION/certificates/my-cert",
 "managed": {
  "domains": ["DOMAIN_NAME"],
  "issuanceConfig": "ISSUANCE_CONFIG_NAME",
 },
}

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

  • PROJECT_ID: מזהה הפרויקט ב- Google Cloud .
  • LOCATION: מיקום היעד. Google Cloud צריך לציין את אותו מיקום כמו מאגר ה-CA, משאב ההגדרה של הנפקת האישורים והאישור המנוהל.
  • 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 \
    --location=LOCATION

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

  • CERTIFICATE_NAME: שם האישור.
  • LOCATION: מיקום היעד Google Cloud שבו יצרתם את האישור שמנוהל על ידי Google.

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

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

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

פריסת אישור אזורי שמנוהל על ידי Google במאזן עומסים

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

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

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

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

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

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

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

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

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

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

gcloud compute target-https-proxies list

פתרון בעיות שקשורות לאישורים שהונפקו על ידי שירות 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 \
        --location=LOCATION
    

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

    • CERTIFICATE_NAME: שם האישור.
    • LOCATION: מיקום היעד. Google Cloud
  3. מחיקת משאב ההגדרה של הנפקת האישורים:

    המסוף

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

      מעבר אל Certificate Manager

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

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

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

    gcloud

    gcloud certificate-manager issuance-configs delete ISSUANCE_CONFIG_NAME \
        --location=LOCATION
    

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

    • ISSUANCE_CONFIG_NAME: השם של משאב הגדרות הנפקת האישורים שמפנה למאגר היעד של רשות האישורים.
    • LOCATION: מיקום היעד. Google Cloud
  4. מחיקת מאגר רשויות אישורים.

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

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