אתם יכולים להצפין את כל הנתונים שמועברים בצורה מאובטחת בין אפליקציות הלקוח לבין Memorystore for Valkey. זוהי הצפנה בזמן ההעברה. באמצעות הצפנה בזמן ההעברה, כל התעבורה ב-Valkey מוצפנת באמצעות פרוטוקול Transport Layer Security (TLS). כך מובטח שכל הנתונים שעוברים בין האפליקציות שלכם לבין Memorystore for Valkey יישארו סודיים ולא ישונו.
כשההצפנה במעבר מופעלת, לקוחות Valkey מתקשרים באופן בלעדי באמצעות חיבור מאובטח. לקוחות Valkey שלא הוגדרו ל-TLS נחסמים. אם בוחרים להשתמש בהצפנה במעבר, האחריות לוודא שלקוח Valkey יכול להשתמש בפרוטוקול TLS מוטלת עליכם.
למקרים שבהם נעשה שימוש בהצפנה במעבר יש רשויות אישורים (CA). אתם משתמשים ב-CA כדי לאמת את האישורים של המכונות במופעים שלכם.
אחד ממצבי ה-CA שבהם אפשר להשתמש הוא CA בניהול הלקוח. אפשר להשתמש ב-CA בניהול הלקוח עבור מופעי Memorystore for Valkey. אם אתם צריכים לנהל רשויות אישורים משלכם מסיבות של תאימות, אתם יכולים להשתמש במצב רשות אישורים. כדי להשתמש במצב הזה, צריך להגדיר מאגר CA משלכם שמתארח ב-Certificate Authority Service.
לפני שמגדירים מופע לשימוש ב-CAs בניהול הלקוח, צריך ליצור מאגר CA באותו אזור כמו המופע, ולפחות CA אחד במאגר הזה באמצעות שירות CA. רשות האישורים יכולה להיות רשות אישורים בסיסית או רשות אישורים משנית. אפשר גם ליצור רשות אישורים משנית בשירות CA ואז לשרשר את רשות האישורים המשנית לרשות אישורים חיצונית ברמה הבסיסית.
כשיוצרים את המופע, מציינים את מאגר רשויות האישורים. כחלק מההגדרה הזו, לחשבון השירות של Memorystore for Valkey שספציפי לפרויקט יש הרשאות להשתמש במאגר רשויות האישורים. חשבון השירות מבקש רשות אישורים מהמאגר, ו-Memorystore for Valkey משתמש ברשות האישורים הזו כדי לחתום על אישור השרת של המופע.
ב-Memorystore for Valkey יש תמיכה בפרוטוקול TLS בגרסה 1.2 ומעלה.לפני שמתחילים
לפני שמשתמשים במצב CA בניהול הלקוח, חשוב לוודא שאתם עומדים בדרישות הבאות.
התפקידים הנדרשים
כדי לקבל את ההרשאות שנדרשות ליצירת מאגר CA ו-CA, צריך לבקש מהאדמין להקצות לכם ב-IAM את התפקיד CA Service Operation Manager (roles/privateca.caManager) בשירות CA.
יכול להיות שתוכלו לקבל את ההרשאות הנדרשות גם באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש אחרים. מידע נוסף על הקצאת תפקידים מופיע במאמר ניהול הגישה לפרויקטים, לתיקיות ולארגונים.
תהליך העבודה לשימוש ברשות אישורים בניהול הלקוח
כדי להשתמש ברשות אישורים בניהול הלקוח, תהליך העבודה הוא כזה:
- יצירת מאגר של רשויות אישורים כדי להגדיר מופע לשימוש ב-CA בניהול הלקוח, צריך ליצור מאגר CA בשירות CA. מאגר כתובות ה-IP צריך להיות באותו אזור כמו המופע.
- יצירת רשות אישורים במאגר רשויות האישורים. אחרי שיוצרים את מאגר ה-CA, צריך להשתמש בשירות CA כדי ליצור לפחות CA אחד במאגר.
- הקצאת הרשאה לחשבון השירות של Memorystore for Valkey להנפקת אישורי שרת עם רשויות אישורים ממאגר רשויות האישורים שיוצרים.
- יוצרים מכונה כדי להשתמש ב-CA בניהול הלקוח.
יצירת מאגר של רשויות אישורים
אפשר ליצור מאגר CA ב-CA Service באותו פרויקט שבו אתם מתכננים ליצור את מופעי Memorystore for Valkey, או ליצור את מאגר ה-CA בפרויקט אחר. עם זאת, אם תיצרו את מאגר ה-CA בפרויקט אחר, יכול להיות ש-VPC Service Controls יחסום אתכם מיצירת מופעים, בהתאם למדיניות הארגון שלכם. כדי לפתור את הבעיה, צריך לוודא שהפרויקט שמארח את מאגר ה-CA ואת ה-CA, והפרויקט שמארח את Memorystore for Valkey שייכים לאותו גבול גזרה לשירות. מידע נוסף זמין במאמרים פרטים והגדרה של גבולות גזרה לשירות וניהול גבולות גזרה לשירות.
כדי ליצור מאגר של רשויות אישורים, פועלים לפי ההוראות במאמר בנושא יצירת מאגר של רשויות אישורים. אתם יכולים לאשר את ערכי ברירת המחדל של מאגר האישורים, עם הגדרות החובה הבאות:
- יוצרים את מאגר רשויות האישורים באותו אזור שבו מתכננים ליצור את המכונה. רשימת האזורים שנתמכים ב-Memorystore for Valkey זמינה במאמר מיקומי Memorystore for Valkey.
- אפשר לשלוח בקשות לאישורים שמבוססות על הגדרות.
- מתן הרשאה לשמות DNS בשמות חלופיים לנושא (SAN). כשמגדירים את מגבלות הזהות של מאגר רשויות האישורים, לא מגדירים הגבלות על הפורמט של שמות ה-DNS שעשויים להתנגש עם מה ש-Memorystore for Valkey עשוי להוסיף ל-SAN.
יצירת רשות אישורים במאגר רשויות אישורים
יוצרים לפחות רשות אישורים אחת במאגר רשויות האישורים שיצרתם.
אפשר ליצור רשות אישורי בסיס או רשות אישורי משנה.
כדי ליצור רשות אישורי בסיס, פועלים לפי ההוראות במאמר יצירת רשות אישורי בסיס. אתם יכולים לאשר את ערכי ברירת המחדל של רשות האישורים, אבל חשוב לוודא שאתם יוצרים את רשות האישורים במצב Enabled.
כשמגדירים את הגודל והאלגוריתם של מפתח ה-CA, אפשר לבחור כל גודל ואלגוריתם של מפתח.
אם יוצרים רשות אישורים משנית, צריך קודם ליצור ולהגדיר את רשות אישורי הבסיס.
כדי ליצור רשות אישורים משנית ב-CA Service, פועלים לפי ההוראות במאמר יצירת רשות אישורים משנית.
כדי ליצור רשות אישורים משנית מרשות אישורים חיצונית בסיסית, פועלים לפי ההוראות במאמר יצירת רשות אישורים משנית מרשות אישורים חיצונית.
נותנים לחשבון השירות גישה למאגר אישורים
כדי לוודא שלחשבון השירות של Memorystore for Valkey יש הרשאות לבקש ולחתום על אישורים עבור המופעים, צריך להקצות את התפקיד roles/privateca.certificateRequester לחשבון השירות עבור מאגר רשויות האישורים שיצרתם.
חשבון השירות הזה הוא בפורמט הבא:
service-PROJECT_NUMBER@cloud-memorystore.iam.gserviceaccount.com. מחליפים את PROJECT_NUMBER במספר הפרויקט של פרויקט Google Cloud .
gcloud
כדי לתת לחשבון השירות גישה למאגר תעודות ה-CA, משתמשים בפקודה gcloud privateca pools add-iam-policy-binding.
gcloud privateca pools add-iam-policy-binding CA_POOL_ID \ --project=PROJECT_ID \ --location=REGION_ID \ --member serviceAccount:SERVICE_ACCOUNT_NAME \ --role=roles/privateca.certificateRequester
מחליפים את הפרטים הבאים:
- CA_POOL_ID: המזהה של מאגר רשויות האישורים שיצרתם.
- PROJECT_ID: מזהה הפרויקט ב- Google Cloud שבו רוצים ליצור את המופעים.
- REGION_ID: האזור שבו נמצא מאגר הרשות שמנפיקה את האישורים.
- SERVICE_ACCOUNT_NAME: השם של חשבון השירות של Memorystore for Valkey. מספר הפרויקט של חשבון השירות הזה זהה למספר הפרויקט שמשויך ל-PROJECT_ID.
יצירת מופע שמשתמש ב-CA בניהול הלקוח
המסוף
פועלים לפי השלבים במאמר יצירת מופעים.
gcloud
כדי ליצור מכונה שמשתמשת ב-CA בניהול הלקוח, משתמשים בפקודה gcloud memorystore instances create.
gcloud memorystore instances create INSTANCE_ID \
--location=REGION_ID \
--endpoints='[{"connections": [{"pscAutoConnection": {"network": "projects/PROJECT_ID/global/networks/NETWORK_ID", "projectId": "PROJECT_ID"}}]}]' \
--replica-count=REPLICA_COUNT \
--node-type=NODE_TYPE \
--shard-count=SHARD_COUNT \
--engine-version=ENGINE_VERSION \
--mode=MODE \
--transit-encryption-mode=server-authentication \
--server-ca-mode=customer-managed-cas-ca \
--server-ca-pool="projects/CA_POOL_PROJECT_ID/locations/REGION_ID/caPools/CA_POOL_ID"
מחליפים את הפרטים הבאים:
INSTANCE_ID: המזהה של המכונה שאתם יוצרים. מזהה המופע צריך להיות באורך של 1 עד 63 תווים, ולהכיל רק אותיות קטנות, מספרים או מקפים. הוא צריך להתחיל באות קטנה ולהסתיים באות קטנה או במספר.
REGION_ID: האזור שבו רוצים שהמכונה תמוקם. צריך ליצור את המופע באותו אזור שבו נמצא מאגר האישורים שיצרתם.
PROJECT_ID: המזהה של הפרויקט שבו רוצים ליצור את המופע.
NETWORK_ID: המזהה של הרשת שרוצים להשתמש בה כדי ליצור את המכונה.
REPLICA_COUNT: מספר העותקים (לכל שבר). הערכים הקבילים הם
0עד5.NODE_TYPE: סוג הצומת. הערכים הקבילים הם:
shared-core-nanostandard-smallhighmem-mediumhighmem-xlarge
SHARD_COUNT: מספר הרסיסים במופע. מספר הרסיסים קובע את קיבולת הזיכרון הכוללת לאחסון נתוני המופע. למידע נוסף על מפרטים של מופעים, אפשר לעיין במאמר מפרט של מופעים וצמתים.
ENGINE_VERSION: הגרסה של המכונה. הערכים הקבילים לפרמטר הזה הם
VALKEY_7_2,VALKEY_8_0,VALKEY_9_0ו-VALKEY_9_1. אם לא מציינים ערך, ערך ברירת המחדל הואVALKEY_9_1.MODE: קובעים אם המופע הוא Cluster Mode Enabled (מצב אשכול מופעל) או Cluster Mode Disabled (מצב אשכול מושבת). אם לא מציינים את השדה הזה, ברירת המחדל של המופע היא Cluster Mode Enabled. מידע נוסף מופיע במאמר בנושא הפעלה והשבתה של מצב אשכול.
CA_POOL_PROJECT_ID: המזהה של מאגר רשויות האישורים שיצרתם.
REGION_ID: האזור שבו נמצא מאגר הרשות שמנפיקה את האישורים. המופע שאתם יוצרים ומאגר רשויות האישורים צריכים להיות באותו אזור.
CA_POOL_ID: המזהה של מאגר רשויות האישורים שיצרתם.
הפרמטר server-ca-mode מייצג את מצב ה-CA של המופע. במקרה של רשות אישורים שמנוהלת על ידי הלקוח, customer-managed-cas-ca הוא הערך של הפרמטר.
אם לא משתמשים בפרמטר הזה, מצב ה-CA שמוגדר כברירת מחדל הוא לכל מופע.
לדוגמה:
gcloud memorystore instances create my-instance \
--location=us-central1 \
--endpoints='[{"connections": [{"pscAutoConnection": {"network": "projects/my-project/global/networks/my-network", "projectId": "my-project"}}]}] \
--replica-count=1 \
--node-type=highmem-medium \
--shard-count=3 \
--engine-version=VALKEY_9_1 \
--mode=CLUSTER \
--transit-encryption-mode=server-authentication \
--server-ca-mode=customer-managed-cas-ca \
--server-ca-pool="projects/my-CA-pool-project/locations/us-central1/caPools/my-CA-pool"
החלפת אישורי השרת של המופע
בנוסף לחידוש האישורים בצד השרת מדי שבוע ב-Memorystore for Valkey, אתם יכולים לחדש את האישורים לפי דרישה.
gcloud
כדי להחליף את אישורי השרת לכל המכונות במופע, משתמשים בפקודה gcloud memorystore instances update.
gcloud memorystore instances update INSTANCE_ID \ --location=REGION_ID \ --rotate-server-certificate
מחליפים את הפרטים הבאים:
- INSTANCE_ID: המזהה של המכונה שמכילה מכונות שרוצים לבצע עבורן רוטציה של אישורי השרת
- REGION_ID: האזור שבו נמצאת המכונה
לדוגמה:
gcloud memorystore instances update my-instance \ --location=us-central1 \ --rotate-server-certificate
מגבלות
ההגבלות הבאות חלות כשמשתמשים ב-CA בניהול הלקוח עם Memorystore for Valkey:
- אחרי שמגדירים CA בניהול הלקוח עבור מופע, אי אפשר לשנות את ההגדרה. לדוגמה, אי אפשר לשנות את המזהה של מאגר אישורי ה-CA עבור המופע.
- אל תמחקו את מאגר רשויות האישורים שמנוהל על ידי הלקוח ואל תבטלו את ההרשאות של חשבון השירות שמשויכות לרשות האישורים. אם לא תעשו את זה, לא תהיה אפשרות לבצע רוטציה של אישורי השרת והתוקף שלהם יפוג. כתוצאה מכך, אפליקציות הלקוח לא יוכלו להתחבר למופע.
פתרון בעיות
בקטע הזה מפורטות הודעות שגיאה שאולי תקבלו כשאתם משתמשים ברשויות אישורים בניהול הלקוח, וגם טיפים לפתרון בעיות שקשורות להודעות האלה.
| הודעת השגיאה | מטרה | פתרון בעיות |
|---|---|---|
FAILED_PRECONDITION: GetClusterCertificateAuthority not
supported for customer-managed CAs |
אם אתם משתמשים ב-CA בניהול הלקוח, אתם לא יכולים להשתמש ב-Memorystore for Valkey כדי לאחזר את אישורי ה-CA. | כדי לקבל את אישורי ה-CA של רשות אישורים בניהול הלקוח, צריך להשתמש בשירות ה-CA. |
Server certificate rotation can only be triggered for
customer-managed CAs. |
אתם מנסים להחליף אישורי שרת למופע, אבל מצב ה-CA של המופע הוא per-instance או shared. | אי אפשר לבצע רוטציה של אישורי שרת אלא אם המצב שבו משתמשים במכונה הוא ניהול על ידי הלקוח. |
Invalid format for server CA pool: {CA pool resource}. Expected
projects/{project}/locations/{location}/caPools/{caPool}. |
הפורמט של מאגר האישורים שבו אתם משתמשים כדי ליצור את המופע לא תקין. | למאגר הרשות שמנפיקה את האישורים (CA), משתמשים בפורמט הבא: projects/CA_POOL_PROJECT_ID/locations/REGION_ID/ caPools/CA_POOL_ID |
The instance/cluster's server CA pool must be in the same region
as the instance/cluster. CA Pool region: {CA pool region}, Instance/cluster
region: {cluster region}. |
אתם מנסים ליצור מופע שנמצא באזור אחר ממאגר רשויות האישורים. | מוודאים שהמופע שיוצרים ומאגר רשויות האישורים נמצאים באותו אזור. |
Request is prohibited by organization's policy for CA Pool
{CA pool ID}. |
Google Cloud הפרויקט שמארח את מאגר רשויות האישורים והפרויקט שמארח את המופע לא נמצאים באותו גבול גזרה לשירות. | מגדירים את VPC Service Controls כך שהפרויקטים יהיו שייכים לאותו גבול גזרה לשירות. |
Permission privateca.certificates.create denied on {CA pool ID}.
Make sure that you granted the roles/privateca.certificateRequester role
to the service account {P4SA email}. |
לחשבון השירות של Memorystore for Valkey אין את התפקיד roles/privateca.certificateRequester במאגר של רשויות האישורים. כתוצאה מכך, Memorystore for Valkey לא יכול ליצור אישורים לשרתים. |
מקצים לחשבון השירות את התפקיד roles/privateca.certificateRequester. מידע נוסף מופיע במאמר מתן גישה לחשבון השירות למאגר רשויות האישורים. |
Resource {CA pool ID} not found. |
Memorystore for Valkey לא יכול למצוא את מאגר רשויות האישורים שציינתם כשניסיתם ליצור את המופע. | בודקים את מזהה הפרויקט, המיקום והשם של מאגר רשויות האישורים. |
There are no enabled CAs in the CaPool {CA pool ID}. Please
ensure that there is at least one enabled Certificate Authority to issue a
certificate. |
אין רשויות אישורים שמופעלות במאגר רשויות האישורים. ל-Memorystore for Valkey אין אפשרות ליצור אישורי שרת למופע. | חשוב לוודא שיצרתם לפחות רשות אישורים אחת במאגר רשויות האישורים, ושהרשות נמצאת במצב Enabled. |
Quota exhausted for CA Service. Check quotas
for the project hosting the CA Pool: {CA pool ID}. |
חרגתם מהמכסה של שירות ה-CA ב Google Cloud פרויקט שמארח את מאגר ה-CA. Memorystore for Valkey לא יכול לבצע פעולות שדורשות את השירות הזה. | בודקים את המכסה של שירות ה-CA בפרויקט. מידע נוסף זמין במאמר בנושא מכסות ומגבלות. |
server_ca_pool must be provided when server_ca_mode is
SERVER_CA_MODE_CUSTOMER_MANAGED_CAS_CA. |
אתם מנסים ליצור מכונה שמשתמשת במצב CA בניהול הלקוח. עם זאת, לא סיפקת מידע על מאגר רשויות האישורים. | מציינים את מזהה הפרויקט, המיקום והשם של מאגר רשויות האישורים. |
server_ca_pool must not be provided when server_ca_mode is not SERVER_CA_MODE_CUSTOMER_MANAGED_CAS_CA. |
אתם מנסים ליצור מכונה שמשתמשת במצב CA משותף או במצב CA לכל מכונה. במצבי ה-CA האלה לא נעשה שימוש בפרמטר server_ca_pool. |
אי אפשר להשתמש בפרמטר הזה אלא אם מצב ה-CA הוא בניהול הלקוח. |