שימוש ברשות אישורים (CA) בניהול הלקוח

בדף הזה מוסבר איך להשתמש באפשרות של רשות אישורים (CA) בניהול הלקוח כמצב CA של השרת במופע Cloud SQL.

סקירה כללית

באפשרות של CA בניהול הלקוח, אתם מגדירים מאגר CA משלכם ו-CA בCertificate Authority Service (CA Service). כשבוחרים באפשרות של רשות אישורים בניהול הלקוח, מגדירים את היררכיית רשות האישורים ומנהלים את הרוטציה של אישורי רשות האישורים עבור המופעים של Cloud SQL.

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

במצב CA של השרת במופע שלכם ב-Cloud SQL, אתם יכולים לבחור מבין שלוש האפשרויות הבאות:

  • רשות אישורים פנימית לכל מופע
  • רשות משותפת להנפקת אישורים (CA) בניהול Google
  • רשות אישורים בניהול הלקוח

אפשר לבחור באפשרות של רשות אישורים בניהול הלקוח אם אתם צריכים לנהל רשות אישורים משלכם מסיבות שקשורות לתאימות. מידע נוסף על שימוש באפשרויות האחרות זמין במאמר מתן הרשאה באמצעות אישורי SSL/‏TLS.

תהליך עבודה

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

  1. יוצרים חשבון שירות לפרויקט Cloud SQL.
  2. יוצרים מאגר CA בשירות CA.
  3. יוצרים רשות אישורים בשירות CA.
  4. מגדירים את המופע של Cloud SQL לשימוש ב-CA. כשמגדירים את המופע, מעניקים לחשבון השירות הרשאה לחתום על אישור השרת באמצעות מאגר רשויות האישורים שיצרתם.

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

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

  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 you have the permissions required to complete this guide.

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

  5. Enable the Certificate Authority Service API.

    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 API

  6. מתקינים את ה-CLI של gcloud.

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

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

    gcloud init
  9. 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

  10. Verify that you have the permissions required to complete this guide.

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

  12. Enable the Certificate Authority Service API.

    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 API

  13. מתקינים את ה-CLI של gcloud.

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

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

    gcloud init

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

כדי לקבל את ההרשאות שנדרשות ליצירת חשבון שירות ספציפי ל-Cloud SQL, צריך לבקש מהאדמין להקצות לכם את תפקיד ה-IAM‏ Service Account Creator (roles/iam.serviceAccountCreator) בכל פרויקט בנפרד. כדי לקרוא הסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.

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

כדי לקבל את ההרשאות שנדרשות ליצירת מאגר CA ו-CA, צריך לבקש מהאדמין להקצות לכם ב-IAM את התפקיד CA Service Operation Manager (מנהל תפעול של שירות CA) (roles/privateca.caManager) בשירות CA. כדי לקרוא הסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.

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

יצירת חשבון שירות ספציפי לפרויקט

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

gcloud

מריצים את הפקודה הבאה כדי ליצור חשבון שירות לפרויקט Cloud SQL:

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

מחליפים את PROJECT_ID במזהה הפרויקט שבו אתם מתכננים ליצור את מופעי Cloud SQL.

הפקודה יוצרת חשבון שירות בשם service-PROJECT_ID@gcp-sa-cloud-sql.iam.gserviceaccount.com בפרויקט. רושמים את השם של חשבון השירות CA Service Certificate Requester.

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

יוצרים מאגר CA בשירות CA.

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

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

  • יוצרים את מאגר רשויות האישורים באותו אזור שבו מתכננים ליצור את מכונת Cloud SQL. רשימת האזורים שנתמכים על ידי Cloud SQL מופיעה במאמר אזורים.
  • מתן הרשאה לבקשות אישורים מבוססות-הגדרה.
  • מתן הרשאה לשמות DNS בשמות חלופיים לנושא (SAN). כשמגדירים את מגבלות הזהות של מאגר רשויות האישורים, לא מגדירים הגבלות על הפורמט של שמות ה-DNS שעלולים להתנגש עם מה ש-Cloud SQL עשוי להוסיף ל-SAN.

מעניקים לחשבון השירות גישה למאגר רשויות האישורים

כדי לוודא שלחשבון השירות יש הרשאות לבקש ולחתום על אישורים עבור מופעי Cloud SQL, צריך להקצות לחשבון השירות את התפקיד הבא במאגר רשויות האישורים שיצרתם:

  • roles/privateca.certificateRequester

gcloud

מריצים את הפקודה gcloud privateca pools כדי להעניק לחשבון השירות גישה למאגר אישורי ה-CA:

gcloud privateca pools add-iam-policy-binding CA_POOL_ID \
  --project=PROJECT_ID \
  --location=REGION \
  --member serviceAccount:SERVICE_ACCOUNT_NAME \
  --role=roles/privateca.certificateRequester

מחליפים את הפרטים הבאים:

  • CA_POOL_ID במזהה של מאגר הרשויות שמנפיקות אישורים שיצרתם.
  • PROJECT_ID עם מזהה הפרויקט שבו אתם מתכננים ליצור את מופעי Cloud SQL.
  • REGION באזור שבו יצרתם את מאגר הרשויות שמנפיקות אישורים.
  • SERVICE_ACCOUNT_NAME בשם של חשבון השירות CA Service Certificate Requester שיצרתם עבור הפרויקט קודם לכן.

יצירת רשות אישורים במאגר רשויות האישורים

יוצרים לפחות רשות אישורים אחת במאגר רשויות האישורים שיצרתם.

אפשר ליצור רשות אישורים (CA) בסיסית או רשות אישורים משנית.

כדי ליצור רשות אישורים (CA) בסיסית, פועלים לפי ההוראות במאמר יצירת רשות אישורים (CA) בסיסית. אפשר לאשר את ערכי ברירת המחדל של ה-CA, אבל חשוב לוודא שיוצרים את ה-CA במצב Enabled.

כשמגדירים את הגודל והאלגוריתם של מפתח ה-CA, אפשר לבחור בכל גודל ואלגוריתם של מפתח. ‫Cloud SQL יוצרת את אישורי השרת שלה באמצעות מפתחות של עקומות אליפטיות מסוג EC P-384 (SHA-384), אבל מפתחות ההצפנה של CA לא חייבים להיות זהים.

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

הגדרת מכונה של Cloud SQL לשימוש ב-CA בניהול הלקוח

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

יצירת מופע

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

המסוף

  1. נכנסים לדף Cloud SQL Instances במסוף Google Cloud .

    כניסה לדף Cloud SQL Instances

  2. בשדה Instance ID, מזינים שם למכונה.
  3. בוחרים מנוע מסד נתונים, גרסת מסד נתונים, מהדורת Cloud SQL, אזור וסוג זמינות, או מאשרים את ברירות המחדל כמו שמתואר במאמר יצירת מכונה.
  4. בקטע Customize your instance (התאמה אישית של המופע), מרחיבים את Show configuration options (הצגת אפשרויות ההגדרה).
  5. לוחצים על אבטחה.
  6. בקטע Server certificate authority mode, בוחרים באפשרות Customer managed CAS certificate authority.
  7. בתפריט CA pool, בוחרים מאגר CA למופע. מאגר האישורים חייב להיות באותו אזור שבחרתם עבור המופע. אם עדיין אין לכם מאגר CA, לוחצים על New pool (מאגר חדש) כדי ליצור מאגר חדש.
  8. אופציונלי: כדי להפעיל סיבוב אוטומטי של אישורי השרת, מסמנים את התיבה Rotate server certificates automatically.
  9. לוחצים על Create instance.

gcloud

gcloud sql instances create "INSTANCE_NAME" \
  --database-version=DATABASE_VERSION \
  --project=PROJECT_ID \
  --region=REGION \
  --server-ca-mode=CUSTOMER_MANAGED_CAS_CA \
  --server-ca-pool=projects/PROJECT_ID_CAS/locations/REGION/caPools/CA_POOL_ID

מחליפים את הפרטים הבאים:

  • INSTANCE_NAME בשם המכונה של Cloud SQL שרוצים ליצור.
  • DATABASE_VERSION עם enum הגרסה של מכונת Cloud SQL שרוצים ליצור.
  • PROJECT_ID עם מזהה הפרויקט שבו אתם מתכננים ליצור את מופעי Cloud SQL.
  • PROJECT_ID_CAS במזהה הפרויקט שבו יצרתם את CA_POOL_ID. יכול להיות שזה יהיה אותו פרויקט שבו רוצים ליצור את מכונת Cloud SQL, או פרויקט אחר.
  • REGION באזור שבו יצרתם את מאגר הרשויות שמנפיקות אישורים. צריך ליצור את המכונה הווירטואלית באותו אזור שבו נמצא מאגר רשויות האישורים.
  • CA_POOL_ID במזהה של מאגר הרשויות שמנפיקות אישורים שיצרתם.

REST

כדי ליצור מכונת Cloud SQL שמשתמשת באפשרות של CA בניהול הלקוח, משתמשים בשיטה instances.insert ומציינים את המאפיינים הבאים:

לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:

  • PROJECT_ID מזהה הפרויקט שבו אתם מתכננים ליצור את מופעי Cloud SQL.
  • PROJECT_ID_CAS הוא מזהה הפרויקט שבו יצרתם את CA_POOL_ID. יכול להיות שזה יהיה אותו פרויקט שבו רוצים ליצור את מכונת Cloud SQL, או פרויקט אחר.
  • INSTANCE_ID שם המופע של Cloud SQL שרוצים ליצור.
  • REGION האזור שבו יצרתם את מאגר רשויות האישורים. צריך ליצור את המכונה הווירטואלית באותו אזור שבו נמצא מאגר רשויות האישורים.
  • CA_POOL_ID במזהה של מאגר הרשויות שמנפיקות אישורים שיצרתם.

ה-method של ה-HTTP וכתובת ה-URL:

POST https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances

תוכן בקשת JSON:

{
  "name":"INSTANCE_ID",
  "region":"REGION",
  "databaseVersion": "DATABASE_VERSION",
  "settings":{
     "ipConfiguration":
      {
         "serverCaPool": "projects/PROJECT_ID_CAS/locations/REGION/caPools/CA_POOL_ID",
         "serverCaMode": "CUSTOMER_MANAGED_CAS_CA"
      }
   }
}

כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:

אתם אמורים לקבל תגובת JSON שדומה לזו:

{
  "kind": "sql#operation",
  "targetLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances",
  "status": "PENDING",
  "user": "user@example.com",
  "insertTime": "2025-01-16T02:32:12.281Z",
  "operationType": "UPDATE",
  "name": "OPERATION_ID",
  "targetId": "INSTANCE_ID",
  "selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID_CSQL/operations/OPERATION_ID",
  "targetProject": "PROJECT_ID"
}

עדכון מכונה לשימוש ב-CA בניהול הלקוח

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

  • מעיינים ברשימת Google Cloud השירותים שלא תומכים בחיבורים למופעי Cloud SQL שהוגדרו לשימוש ברשות אישורים בניהול הלקוח. אם הפריסה שלכם מחייבת שימוש בשירות, יכול להיות שתצטרכו לדחות את העדכון.
  • אם אתם משתמשים בשרת proxy ל-Cloud SQL Auth או באחד מחיבורי השפה של Cloud SQL כדי להתחבר למכונה, אתם צריכים לוודא שמותקנות בהם הגרסאות המינימליות הנדרשות. לשרת ה-proxy של Cloud SQL Auth, מוודאים שמשתמשים בגרסה 2.14.3 ואילך. במאמר דרישות של Cloud SQL Language Connectors מפורטות הגרסאות המינימליות הנדרשות של Cloud SQL Language Connectors.
  • מוודאים שכבר יצרתם מאגר CA והענקתם לחשבון השירות גישה למאגר ה-CA.
  • מוודאים שיש לפחות רשות אישורים אחת במאגר רשויות האישורים.
  • כדי למנוע שיבושים אחרי העדכון, צריך להוריד את האישורים מרשות האישורים שמנוהלת על ידי הלקוח ולהגדיר את לקוחות מסד הנתונים כך שיתנו אמון ברשות האישורים.

כדי לעדכן מופע של Cloud SQL כך שישתמש באפשרות של רשות אישורים (CA) בניהול הלקוח, צריך לבצע את השלבים הבאים.

המסוף

  1. נכנסים לדף Cloud SQL Instances במסוף Google Cloud .

    כניסה לדף Cloud SQL Instances

  2. כדי לפתוח את הדף סקירה כללית של מכונה, לוחצים על שם המכונה.
  3. לוחצים על Edit.
  4. בקטע Customize your instance (התאמה אישית של המופע), מרחיבים את Show configuration options (הצגת אפשרויות ההגדרה).
  5. לוחצים על אבטחה.
  6. בקטע Server certificate authority mode, בוחרים באפשרות Customer managed CAS certificate authority.
  7. בתפריט CA pool, בוחרים מאגר CA למופע. מאגר האישורים חייב להיות באותו אזור שבחרתם עבור המופע. אם עדיין אין לכם מאגר CA, לוחצים על New pool (מאגר חדש) כדי ליצור מאגר חדש.
  8. אופציונלי: כדי להפעיל סיבוב אוטומטי של אישורי השרת, מסמנים את התיבה Rotate server certificates automatically.
  9. לוחצים על Save.

gcloud

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

gcloud sql instances patch INSTANCE_NAME \
--server-ca-mode=CUSTOMER_MANAGED_CAS_CA \
--server-ca-pool=projects/PROJECT_ID_CAS/locations/REGION/caPools/CA_POOL_ID

בדגל --server-ca-mode, מוודאים שמציינים CUSTOMER_MANAGED_CAS_CA.

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

  • INSTANCE_NAME: השם של מופע Cloud SQL שרוצים להחיל עליו תיקון.
  • PROJECT_ID_CAS במזהה הפרויקט שבו נמצא CA_POOL_ID. יכול להיות שהפרויקט הזה זהה לפרויקט שבו נמצא מופע Cloud SQL, או שונה ממנו.
  • REGION באזור שבו יצרתם את מאגר הרשויות שמנפיקות אישורים. המכונה הווירטואלית צריכה להיות באותו אזור כמו מאגר רשויות האישורים.
  • CA_POOL_ID: המזהה של מאגר רשויות האישורים שרוצים להקצות למכונה. אפשר להשתמש בפקודה הזו גם כדי לשנות את מאגר רשויות האישורים של מכונה שכבר מוגדרת לשימוש ב-CUSTOMER_MANAGED_CAS_CA

REST

כדי לעדכן מכונת Cloud SQL כך שתשתמש באפשרות של CA בניהול הלקוח, משתמשים בשיטה instances.patch ומציינים את המאפיינים הבאים:

לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:

  • PROJECT_ID מזהה הפרויקט שבו נמצאת מכונת Cloud SQL.
  • INSTANCE_ID שם המופע של Cloud SQL שרוצים להחיל עליו תיקון.
  • PROJECT_ID_CAS הוא מזהה הפרויקט שבו יצרתם את CA_POOL_ID. יכול להיות שהפרויקט הזה יהיה זהה לפרויקט שבו נמצא מופע Cloud SQL או שונה ממנו.
  • REGION האזור שבו יצרתם את מאגר רשויות האישורים. צריך ליצור את המכונה הווירטואלית באותו אזור שבו נמצא מאגר רשויות האישורים.
  • CA_POOL_ID המזהה של מאגר רשויות האישורים שרוצים להקצות למכונה. אפשר גם להשתמש בפקודה הזו כדי לשנות את מאגר רשויות האישורים של מכונה שכבר הוגדרה לשימוש ב-CUSTOMER_MANAGED_CAS_CA.

ה-method של ה-HTTP וכתובת ה-URL:

PATCH https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID

תוכן בקשת JSON:

{
  "settings":{
     "ipConfiguration":
      {
         "serverCaPool": "projects/PROJECT_ID_CAS/locations/REGION/caPools/CA_POOL_ID",
         "serverCaMode": "CUSTOMER_MANAGED_CAS_CA"
      }
   }
}

כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:

אתם אמורים לקבל תגובת JSON שדומה לזו:

{
  "kind": "sql#operation",
  "targetLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID",
  "status": "PENDING",
  "user": "user@example.com",
  "insertTime": "2025-01-16T02:32:12.281Z",
  "operationType": "UPDATE",
  "name": "OPERATION_ID",
  "targetId": "INSTANCE_ID",
  "selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/operations/OPERATION_ID",
  "targetProject": "PROJECT_ID"
}

העברה של מופע מ-CA בניהול הלקוח ל-CA משותף

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

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

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

המסוף

  1. נכנסים לדף Cloud SQL Instances במסוף Google Cloud .

    כניסה לדף Cloud SQL Instances

  2. כדי לפתוח את הדף סקירה כללית של מכונה, לוחצים על שם המכונה.
  3. לוחצים על Edit.
  4. בקטע Customize your instance (התאמה אישית של המופע), מרחיבים את Show configuration options (הצגת אפשרויות ההגדרה).
  5. לוחצים על אבטחה.
  6. בקטע Server certificate authority mode, בוחרים באפשרות Google managed CAS certificate authority.
  7. אופציונלי: כדי להפעיל סיבוב אוטומטי של אישורי השרת , מסמנים את התיבה Rotate server certificates automatically.
  8. לוחצים על Save.

gcloud

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

gcloud sql instances patch INSTANCE_NAME \
--server-ca-mode=GOOGLE_MANAGED_CAS_CA \
--server-ca-pool=""

בפקודה, מבצעים את הפעולות הבאות:

  • מחליפים את INSTANCE_NAME בשם של מכונת Cloud SQL שרוצים להחיל עליה תיקון.
  • מגדירים את הדגל --server-ca-mode לערך GOOGLE_MANAGED_CAS_CA.
  • עבור הדגל --server-ca-pool, צריך לציין מחרוזת ריקה או "".

REST

כדי לעדכן מכונת Cloud SQL שמשתמשת ב-CA בניהול הלקוח כך שתשתמש באפשרות של CA משותף, צריך להשתמש בשיטה instances.patch ולציין את המאפיינים הבאים:

לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:

  • PROJECT_ID מזהה הפרויקט שבו נמצאת מכונת Cloud SQL.
  • INSTANCE_ID שם המופע של Cloud SQL שרוצים להחיל עליו תיקון.

ה-method של ה-HTTP וכתובת ה-URL:

PATCH https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID

תוכן בקשת JSON:

{
  "settings":{
     "ipConfiguration":
      {
         "serverCaPool": "",
         "serverCaMode": "GOOGLE_MANAGED_CAS_CA"
      }
   }
}

כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:

אתם אמורים לקבל תגובת JSON שדומה לזו:

{
  "kind": "sql#operation",
  "targetLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID",
  "status": "PENDING",
  "user": "user@example.com",
  "insertTime": "2025-01-16T02:32:12.281Z",
  "operationType": "UPDATE",
  "name": "OPERATION_ID",
  "targetId": "INSTANCE_ID",
  "selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/operations/OPERATION_ID",
  "targetProject": "PROJECT_ID"
}

פתרון בעיות

שגיאה פתרון בעיות

מופיעה הודעת השגיאה הבאה:

PERMISSION_DENIED: Permission privateca.certificates.create denied on CA_POOL_ID.
מוודאים שהענקתם את התפקיד roles/privateca.certificateRequester לחשבון השירות שיצרתם עבור פרויקט Cloud SQL. מידע נוסף מופיע במאמר מתן גישה לחשבון השירות למאגר של רשויות אישורים.

מופיעה הודעת השגיאה הבאה:

PERMISSION_DENIED: Request is prohibited by organization's policy vpcServiceControlsUniqueIdentifier VPC_SERVICE_CONTROLS_UNIQUE_IDENTIFIER.
חשוב לוודא שהגדרתם את VPC Service Controls כך שהפרויקט שמארח את מאגר ה-CA ואת ה-CA של שירות ה-CA והפרויקט שמארח את Cloud SQL שייכים לאותו גבולות גזרה לשירות. מידע נוסף זמין במאמרים בנושא גבולות גזרה לשירות וניהול גבולות גזרה לשירות.

מופיעה אחת מהודעות השגיאה הבאות: INVALID ARGUMENT

  • Public key algorithm is not permitted by the CaPool's issuance policy.
  • This CaPool's issuance policy does not permit passthrough subjects and/or subject alternative names, and thus can only be used with the REFLECTED_SPIFFE subject mode.
  • Config issuance mode is not permitted by the CaPool's issuance policy.

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

מופיעה הודעת השגיאה הבאה:

RESOURCE_EXHAUSTED

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

מופיעה הודעת השגיאה הבאה:

NOT FOUND: parent resource CA_POOL_ID not found.
בודקים את מזהה הפרויקט, המיקום והשם של מאגר רשויות האישורים שציינתם כשיצרתם את מכונת Cloud SQL. חשוב לוודא שלא הקלדתם שגיאות.

מופיעה הודעת השגיאה הבאה:

FAILED_PRECONDITION: There are no enabled CAs in the CaPool. Please ensure that there is at least one enabled Certificate Authority to issue a certificate.
חשוב לוודא שיצרתם לפחות רשות אישורים אחת במאגר רשויות האישורים שציינתם כשנוצר מופע Cloud SQL, ושהרשות נמצאת במצב מופעל.

מופיעה הודעת השגיאה הבאה:

FAILED_PRECONDITION: Per-Product Per-Project Service Account (P4 SA) SERVICE_ACCOUNT_NAME not found for project PROJECT_ID.
מוודאים שיצרתם את חשבון השירות לפרויקט Cloud SQL. מידע נוסף מופיע במאמר יצירת חשבון שירות ספציפי לפרויקט.

מופיעה הודעת השגיאה הבאה:

INVALID ARGUMENT: Invalid format for server CA pool.

מוודאים שציינתם את מאגר אישורי ה-CA בפורמט הנכון:

projects/PROJECT_ID/locations/REGION/caPools/CA_POOL_ID

מופיעה הודעת השגיאה הבאה:

INVALID ARGUMENT: The instance's server CA pool must be in the same region as the instance.

מוודאים שמאגר רשויות האישורים נמצא באותו אזור כמו מופע Cloud SQL שרוצים ליצור.

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