הנפקת אישור באמצעות Google Cloud CLI

בדף הזה מוסבר איך אפשר ליצור או להנפיק אישורים באמצעות Certificate Authority Service באמצעות Google Cloud CLI.

שירות CA מאפשר לכם לפרוס ולנהל רשויות CA פרטיות בלי לנהל תשתית.

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

  • התקינו את ה-CLI של Google Cloud. אחר כך, אתחלו את ה-CLI של Google Cloud באמצעות הפקודה הבאה:

    gcloud init

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

  • יוצרים או בוחרים Google Cloud פרויקט.

    תפקידים שנדרשים כדי לבחור או ליצור פרויקט

    • Select a project: כדי לבחור פרויקט לא צריך תפקיד IAM ספציפי – אפשר לבחור כל פרויקט שקיבלתם בו תפקיד.
    • יצירת פרויקט: כדי ליצור פרויקט, צריך את התפקיד Project Creator (יצירת פרויקטים) (roles/resourcemanager.projectCreator), שכולל את ההרשאה resourcemanager.projects.create. איך מקצים תפקידים
    • יוצרים Google Cloud פרויקט:

      gcloud projects create PROJECT_ID

      מחליפים את PROJECT_ID בשם של פרויקט Google Cloud שיוצרים.

    • בוחרים את הפרויקט שיצרתם: Google Cloud

      gcloud config set project PROJECT_ID

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

  • מפעילים את Certificate Authority Service API:

    תפקידים שנדרשים להפעלת ממשקי API

    כדי להפעיל ממשקי API, נדרשת ההרשאה serviceusage.services.enable. אם יצרתם את הפרויקט, סביר להניח שכבר יש לכם את ההרשאה הזו דרך התפקיד 'בעלים' (roles/owner). אחרת, תוכלו לקבל את ההרשאה הזו דרך התפקיד 'אדמין של Service Usage' (roles/serviceusage.serviceUsageAdmin). איך מקצים תפקידים

    gcloud services enable privateca.googleapis.com

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

  • במדריך הזה להפעלה מהירה, מוגדר מיקום ברירת מחדל לשימוש בפקודות gcloud.

    gcloud config set privateca/location LOCATION
    

    משאבים של שירות CA, כמו מאגרי CA ו-CA, נמצאים בGoogle Cloud מיקום יחיד שאי אפשר לשנות אחרי שיוצרים את המשאבים האלה.

יצירת מאגר של רשויות אישורים

מאגר רשויות אישורים (CA) הוא אוסף של כמה רשויות אישורים. מאגר CA מאפשר לבצע רוטציה של שרשראות אמון בלי שיהיו שיבושים או השבתה של עומסי עבודה.

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

gcloud privateca pools create POOL_ID --location LOCATION --tier "enterprise"

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

  • POOL_ID: השם של מאגר רשויות האישורים
  • LOCATION: המיקום של מאגר הרשות שמנפיקה את האישורים. רשימה מלאה של המיקומים זמינה במאמר מיקומים.

שמות של משאבים יכולים להכיל אותיות, מספרים, מקפים (-) וקווים תחתונים (_), והאורך שלהם יכול להיות עד 63 תווים.

יצירת רשות אישורים (CA) עליונה

מאגר רשויות אישורים ריק כשיוצרים אותו. כדי לבקש אישורים ממאגר של רשויות אישורים, צריך להוסיף אליו רשות אישורים.

כדי ליצור רשות אישורים (CA) בסיסית ולהוסיף אותה למאגר רשויות האישורים שיצרתם, מריצים את הפקודה הבאה:

gcloud privateca roots create CA_ID --pool POOL_ID --location LOCATION --subject "CN=Example Prod Root CA,O=Google"

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

  • CA_ID: השם של רשות האישורים (CA) הבסיסית
  • POOL_ID: השם של מאגר רשויות האישורים
  • LOCATION: המיקום של מאגר הרשות שמנפיקה את האישורים. רשימה מלאה של המיקומים זמינה במאמר מיקומים.

שירות CA מחזיר את הפלט הבא כשהוא יוצר את ה-CA הבסיסי:

Created Certificate Authority [projects/PROJECT_ID/locations/LOCATION/caPools/POOL_ID/certificateAuthorities/CA_ID]

מפעילים את רשות האישורים הבסיסית על ידי הזנת y כשמוצגת בקשה לעשות זאת ב-CLI של gcloud.

אופציונלי: יצירת מאגר של רשויות אישורים משניות

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

    gcloud privateca pools create SUBORDINATE_POOL_ID
        --location LOCATION
        --tier TIER

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

  • SUBORDINATE_POOL_ID: המזהה של מאגר רשויות האישורים המשניות
  • LOCATION: המיקום של מאגר רשויות האישורים המשניות. רשימה מלאה של המיקומים זמינה במאמר בנושא מיקומים.
  • TIER: רמת רשות האישורים המשנית, devops או enterprise

אופציונלי: יצירת רשות אישורים (CA) משנית שחתמה על רשות אישורים (CA) ברמה הבסיסית שאוחסנה ב- Google Cloud

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

    gcloud privateca subordinates create SUBORDINATE_CA_ID \
        --location=LOCATION \
        --pool=SUBORDINATE_POOL_ID \
        --issuer-pool=POOL_ID \
        --issuer-location=ISSUER_LOCATION \
        --from-ca=EXISTING_CA_ID \
        --kms-key-version projects/PROJECT_ID/locations/LOCATION_ID/keyRings/KEY_RING/cryptoKeys/KEY/cryptoKeyVersions/KEY_VERSION

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

  • SUBORDINATE_CA_ID: המזהה של רשות האישורים המשנית
  • LOCATION: המיקום של רשות האישורים המשנית. רשימת המיקומים המלאה
  • SUBORDINATE_POOL_ID: המזהה של מאגר רשויות האישורים המשניות שיצרתם בקטע הקודם
  • POOL_ID: המזהה של מאגר רשויות האישורים הראשי
  • ISSUER_LOCATION: המיקום של האישור
  • EXISTING_CA_ID: המזהה של רשות האישורים של המקור
  • PROJECT_ID: מזהה הפרויקט
  • LOCATION_ID: המיקום של אוסף המפתחות
  • KEY_RING: השם של אוסף המפתחות שבו נמצא המפתח
  • KEY: השם של המפתח
  • KEY_VERSION: גרסת המפתח

ההצהרה הבאה מוחזרת כשיוצרים רשות אישורים משנית.

Created Certificate Authority [projects/my-project-pki/locations/us-west1/caPools/SUBORDINATE_POOL_ID/certificateAuthorities/SUBORDINATE_CA_ID].

מפעילים את רשות האישורים המשנית על ידי הזנת y כשמופיעה ההודעה ב-CLI של gcloud.

יצירת אישור

כדי להשתמש ברשות האישורים שנוצרה כדי ליצור אישור:

  1. מתקינים את ספריית ההצפנה Pyca באמצעות הפקודה pip.

      pip install --user "cryptography>=2.2.0"
    

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

  2. כדי לאפשר ל-Google Cloud SDK להשתמש בספריית הקריפטוגרפיה Pyca, צריך להפעיל חבילות אתרים.

    ‫macOS או Linux

    export CLOUDSDK_PYTHON_SITEPACKAGES=1
    

    Windows

    set CLOUDSDK_PYTHON_SITEPACKAGES=1
    
  3. ליצור אישור.

      gcloud privateca certificates create \
          --issuer-pool POOL_ID \
          --issuer-location ISSUER_LOCATION \
          --subject "CN=Example Prod,O=Google" \
          --generate-key \
          --key-output-file=./key \
          --cert-output-file=./cert.pem
    

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

    • POOL_ID: מזהה המשאב של מאגר אישורי ה-CA שיצרתם
    • ISSUER_LOCATION: המיקום של רשות האישורים שהנפיקה את האישור הדיגיטלי

    שירות ה-CA מחזיר את התגובה הבאה:

    Created Certificate [projects/PROJECT_ID/locations/LOCATION/caPools/POOL_ID/certificates/CERTIFICATE_ID]
    

הסרת המשאבים

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

  1. מבטלים את האישור.

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

       gcloud privateca certificates revoke --certificate CERT_NAME --issuer-pool POOL_ID --location 
      LOCATION
        

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

      • CERT_NAME: שם האישור שרוצים לבטל
      • POOL_ID: השם של מאגר רשויות האישורים שהנפיק את האישור
      • LOCATION: המיקום של מאגר רשויות האישורים
  2. למחוק את רשות האישורים.

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

    1. משביתים את ה-CA.

      gcloud privateca roots disable CA_ID --pool=POOL_ID --location=LOCATION
      

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

      • CA_ID: מזהה המשאב של רשות האישורים
      • POOL_ID: מזהה המשאב של מאגר אישורי ה-CA
      • LOCATION: המיקום של מאגר הרשות שמנפיקה את האישורים. כאן מפורטת רשימת המיקומים המלאה.
    2. למחוק את רשות האישורים.

      gcloud privateca roots delete CA_ID --pool=POOL_ID --location=LOCATION
      

    מצב ה-CA משתנה ל-Deleted. מערכת CA Service מוחקת את רשות האישורים באופן סופי 30 יום אחרי שמתחילים את תהליך המחיקה.

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

    אפשר למחוק מאגר CA רק אחרי שה-CA שבו נמחק לצמיתות.

    gcloud privateca pools delete POOL_ID --location=LOCATION
    
  4. מוחקים את הפרויקט.

    כדי למחוק פרויקט Google Cloud :

    gcloud projects delete PROJECT_ID

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