בנוסף לאימות באמצעות ניהול זהויות והרשאות גישה (IAM), אתם יכולים להשתמש באימות בסיסי מבוסס-אסימונים כדי לאבטח את הגישה למופעים של Memorystore for Valkey. אימות בסיסי מבוסס-אסימונים הוא פתרון קל משקל שמאפשר ללקוחות לאמת את הזהויות שלהם באפליקציות שלכם באמצעות האסימונים שלהם.
לאימות בסיסי מבוסס-טוקן יש דרישות מינימליות של משאבים ועלות תקורה נמוכה של משאבים. בנוסף, אם עומסי העבודה הנוכחיים שלכם ב-Memorystore for Redis או באפליקציות המקומיות כבר משתמשים באימות בסיסי מבוסס-טוקן, התכונה הזו מאפשרת מעבר חלק כשמבצעים מיגרציה ל-Memorystore for Valkey.
יתרונות
היתרונות של שימוש באימות בסיסי מבוסס-טוקן:
- גמישות: אפשר להפעיל אימות בכל שלב, גם במופעים חדשים וגם במופעים קיימים. כשמפעילים אימות בסיסי מבוסס-אסימון, המופעים מאובטחים. בכל החיבורים החדשים, המשתמשים צריכים לספק אסימון אימות כדי להתאמת למופעים.
- רוטציה ללא השבתה: רוטציה של אסימוני משתמשים בלי לגרום להשבתה של האפליקציות.
- תאימות: למשתמש העל
defaultיש את אותן הרשאות שניתנו למשתמש הזה. אימות בסיסי מבוסס-טוקן מוסיף עוד שכבת הגנה. כך מובטחת תאימות לאחור כשמעבירים את עומסי העבודה מ-Memorystore for Redis ל-Memorystore for Valkey.
מצבי אימות
אימות בסיסי מבוסס-אסימון תומך בשני מצבי אימות עיקריים:
- אימות פשוט: שיטה פשוטה שבה משתמש שולח טוקן אימות כדי לאמת את עצמו כמשתמש
default - אימות של משתמשים מרובים: ניהול של משתמשים מרובים כדי לאמת את הגישה למכונות
שיטות מומלצות
מטעמי אבטחה, מומלץ להשתמש בשיטות המומלצות הבאות לאימות בסיסי מבוסס-טוקן:
- החלפת אסימוני משתמש: שימוש במדיניות החלפה לאסימוני משתמש.
שימוש ב-Secret Manager: אל תקודדו באופן קשיח את פרטי הכניסה הבסיסיים של המשתמש לאימות מבוסס-טוקן בקוד האפליקציה. במקום זאת, אפשר לאחסן אותם ב-Secret Manager ולאחזר אותם בזמן הריצה.
Secret Manager מספק כספת מרכזית ומוצפנת לפרטי הכניסה של המשתמשים, וכך מבטל את הצורך בניהול פרטי כניסה באופן ידני ומצמצם את התקורה התפעולית. הוא אוכף את אמצעי בקרת הגישה באמצעות IAM ומייצר יומני ביקורת באופן אוטומטי. כך הוא מבטיח תאימות ומונע חשיפה של פרטי כניסה.
שילוב של אימות בסיסי מבוסס-טוקן עם אבטחת שכבת התעבורה (TLS): כשמשתמשים באימות בסיסי מבוסס-טוקן, מומלץ להפעיל הצפנה במעבר. כך מוודאים ששמות משתמשים וטוקנים לאימות לא נשלחים בטקסט רגיל ברשת.
לפני שמתחילים
לפני שמתחילים לאבטח את המופעים באמצעות אימות בסיסי מבוסס-טוקן, צריך לוודא שמתקיימים התנאים המוקדמים שמפורטים בקטע הזה.
אימות התמיכה של הלקוח באימות בסיסי מבוסס-טוקן
כדי לוודא שאפליקציות הלקוח יכולות לתמוך באימות בסיסי מבוסס-טוקן, צריך לוודא שהאפליקציות יכולות להשתמש בפקודה AUTH.
המשתמש default מאמת את עצמו באפליקציות הלקוח באמצעות הפקודה הבאה:
AUTH TOKEN
בפקודה הזו, TOKEN הוא טוקן האימות של המשתמש כברירת מחדל.
כל שאר המשתמשים מבצעים אימות באמצעות הפקודה הבאה:
AUTH USERNAME TOKEN
בפקודה הזו, USERNAME ו-TOKEN הם שם המשתמש ואסימון האימות של המשתמש.
מידע נוסף על הפקודה AUTH זמין במאמר בנושא AUTH במסמכי התיעוד של Valkey.
שימוש במסוף Google Cloud , ב-Google Cloud CLI ובממשקי API
כדי להשתמש במסוף Google Cloud , ב-CLI של gcloud ובממשקי API, מבצעים את הפעולות הבאות:
- בדף לבחירת הפרויקט במסוף Google Cloud , בוחרים פרויקט ב- Google Cloud או יוצרים אותו.
- מוודאים שהחיוב מופעל בפרויקט. כך בודקים אם החיוב מופעל בפרויקט
מתקינים ומפעילים את ה-CLI של gcloud.
הערה: אם התקנתם את ה-CLI של gcloud, צריך להריץ את הפקודה
gcloud components updateכדי לוודא שמותקנת הגרסה העדכנית. כדי לגשת לפקודות ה-CLI של gcloud של Memorystore for Valkey, צריך לפחות את גרסה489.0.0של ה-CLI של gcloud.-
מפעילים את Memorystore for Valkey API.
Memorystore for Valkey API -
מפעילים את Network Connectivity API.
Network Connectivity API -
מפעילים את Service Consumer Management API.
Service Consumer Management API
הקצאת תפקידים
כדי להגדיר אימות בסיסי מבוסס-טוקן למופעים, אתם צריכים אחד מתפקידי ה-IAM האלה בפרויקט Google Cloud :
-
roles/memorystore.admin(תפקיד האדמין של Memorystore) -
roles/owner(התפקיד 'בעלים') roles/editor(ההרשאה 'עריכה')
ניהול אימות בסיסי מבוסס-טוקן למכונות
ב-Memorystore for Valkey יש תמיכה בפעולות הבאות לניהול אימות בסיסי מבוסס-טוקן למופעים:
- יצירת מכונה עם אימות בסיסי מבוסס-טוקן
- הפעלת אימות בסיסי מבוסס-טוקן עבור מופע
- יצירת משתמש בסיסי לאימות מבוסס-טוקן עבור מופע
- הצגת רשימה של משתמשים שמוגדר להם אימות בסיסי מבוסס-טוקן במופע
- צפייה במידע על משתמש עם אימות בסיסי מבוסס-אסימון
- מחיקת משתמש עם אימות מבוסס-אסימון בסיסי ממופע
יצירת מופע עם אימות בסיסי מבוסס-טוקן
יצירת מופע עם אימות בסיסי מבוסס-טוקן מאפשרת להגביל את הגישה של משתמש למופע באמצעות שיטה קלה ונתמכת באופן נרחב.
אפשר ליצור את המכונה באמצעות ה-CLI של gcloud.
כדי ליצור מכונה שמופעל בה אימות בסיסי מבוסס-אסימון, משתמשים בפקודה gcloud beta memorystore instances create.
gcloud beta memorystore instances create INSTANCE_ID \ --location=REGION \ --authorization-mode=token-auth
מחליפים את הפרטים הבאים:
- INSTANCE_ID: המזהה של המופע שרוצים ליצור כדי להשתמש באימות בסיסי מבוסס-אסימון
- REGION: האזור שבו רוצים שהמכונה תמוקם
הפעלת אימות בסיסי מבוסס-טוקן למופע
הפעלת אימות בסיסי מבוסס-טוקן עבור מופע מספקת שיטה קלה ונתמכת באופן נרחב להגבלת הגישה של משתמש למופע.
משתמש default יכול לבצע אימות למופע רק באמצעות הטוקן שלו.
כל שאר המשתמשים מאומתים באמצעות שם משתמש וטוקן רגילים. מידע נוסף זמין במאמר אימות התמיכה של הלקוח באימות בסיסי מבוסס-טוקן.
הפעלת אימות בסיסי מבוסס-טוקן עלולה לגרום להשבתה של אפליקציות שמנסות ליצור חיבורים חדשים, כי Memorystore for Valkey דורש בקשות מאומתות. החיבורים הקיימים לא יושפעו, אבל כדי להשתמש באימות בסיסי מבוסס-טוקן לניסיונות חיבור עתידיים למופע, תצטרכו לעדכן את האפליקציות. מידע נוסף זמין במאמר התחברות למופע באמצעות אימות בסיסי מבוסס-אסימון.
אפשר להפעיל אימות בסיסי מבוסס-טוקן למופע באמצעות ה-CLI של gcloud.
כדי להפעיל אימות בסיסי מבוסס-אסימון, משתמשים בפקודה gcloud beta memorystore instances update.
gcloud beta memorystore instances update INSTANCE_ID \ --location=REGION \ --authorization-mode=token-auth
מחליפים את הפרטים הבאים:
- INSTANCE_ID: המזהה של המכונה שרוצים להפעיל בה אימות בסיסי מבוסס-טוקנים
- REGION: האזור שבו נמצאת המכונה
יצירת משתמש בסיסי לאימות מבוסס-טוקן במופע
כשיוצרים משתמש בסיסי לאימות מבוסס-טוקן עבור מופע, מגדירים את המופע כך שיאפשר אימות של משתמשים מרובים. אחרי שהמשתמש מתחבר בפעם הראשונה, מצב האימות הזה פועל כפרטי כניסה מאובטחים שניתן לבטל אותם לחיבורים חדשים. המשתמש יכול להמשיך להשתמש בטוקן האימות עד שהוא יימחק או עד שהמשתמש יוסר.
אפשר ליצור משתמש בסיסי לאימות מבוסס-טוקן באמצעות ה-CLI של gcloud.
כדי ליצור את המשתמש, משתמשים בפקודה gcloud beta memorystore instances create-token-auth-user.
gcloud beta memorystore instances create-token-auth-user INSTANCE_ID \ --location=REGION \ --token-auth-user=USERNAME
מחליפים את הפרטים הבאים:
- INSTANCE_ID: המזהה של המופע שעבורו רוצים ליצור משתמש בסיסי לאימות מבוסס-אסימון
- REGION: האזור שבו נמצאת המכונה
- USERNAME: שם המשתמש של המשתמש
הצגת רשימה של משתמשים באימות בסיסי מבוסס-טוקן במופע
אפשר לאחזר רשימה של משתמשים עם אימות בסיסי מבוסס-טוקן עבור מופע באמצעות ה-CLI של gcloud.
כדי להציג את רשימת המשתמשים, משתמשים בפקודה gcloud beta memorystore instances token-auth-users list.
gcloud beta memorystore instances token-auth-users list \ --instance=INSTANCE_ID \ --location=REGION
מחליפים את הפרטים הבאים:
- INSTANCE_ID: המזהה של המופע שרוצים לאחזר עבורו רשימה של משתמשים עם אימות בסיסי מבוסס-טוקן
- REGION: האזור שבו נמצאת המכונה
צפייה במידע על משתמש עם אימות בסיסי מבוסס-טוקן
אפשר להציג מידע על משתמש עם אימות בסיסי מבוסס-טוקן באמצעות ה-CLI של gcloud.
כדי להציג מידע על המשתמש, משתמשים בפקודה gcloud beta memorystore instances token-auth-users describe.
gcloud beta memorystore instances token-auth-users describe USERNAME \ --instance=INSTANCE_ID \ --location=REGION
מחליפים את הפרטים הבאים:
- USERNAME: שם המשתמש של המשתמש באימות בסיסי מבוסס-אסימון שרוצים להציג מידע לגביו
- INSTANCE_ID: המזהה של המכונה שהמשתמש יכול לבצע בה אימות
- REGION: האזור שבו נמצאת המכונה
מחיקה של משתמש עם אימות בסיסי מבוסס-אסימון ממופע
כשמוחקים משתמש עם אימות בסיסי מבוסס-טוקן ממופע, מבטלים את הרשאות הגישה של המשתמש למופע.
אפשר למחוק משתמש עם אימות בסיסי מבוסס-טוקן ממופע באמצעות ה-CLI של gcloud.
כדי למחוק את המשתמש, משתמשים בפקודה gcloud beta memorystore instances token-auth-users delete.
gcloud beta memorystore instances token-auth-users delete USERNAME \ --instance=INSTANCE_ID \ --location=REGION
מחליפים את הפרטים הבאים:
- USERNAME: שם המשתמש של המשתמש באימות בסיסי מבוסס-טוקן
- INSTANCE_ID: המזהה של המכונה שממנה רוצים למחוק את המשתמש.
- REGION: האזור שבו נמצאת המכונה
במקרה של משתמש שמחקתם, מערכת Memorystore for Valkey לא מסיימת חיבורים קיימים. כדי לסיים את החיבורים האלה, מריצים את הפקודה הבאה בכל הצמתים במופע:
CLIENT KILL USER USERNAME
ניהול אימות בסיסי מבוסס-טוקן למשתמשים
ב-Memorystore for Valkey אפשר לבצע את הפעולות הבאות כדי לנהל אימות בסיסי שמבוסס על טוקנים למשתמשים:
- יצירת טוקן אימות למשתמש
- הצגת רשימה של טוקנים לאימות של משתמש
- הצגת מידע על אסימון אימות של משתמש
- מחיקת טוקן אימות ממשתמש
יצירת טוקן אימות למשתמש
כשיוצרים אסימון אימות למשתמש, אפשר לשנות את האסימון הקיים של המשתמש בלי לגרום להשבתה של האפליקציות.
אפשר ליצור אסימון אימות למשתמש באמצעות ה-CLI של gcloud.
כדי ליצור את המשתמש, משתמשים בפקודה gcloud beta memorystore instances token-auth-users create-auth-token.
gcloud beta memorystore instances token-auth-users create-auth-token USERNAME \ --instance=INSTANCE_ID \ --location=REGION
מחליפים את הפרטים הבאים:
- USERNAME: שם המשתמש של המשתמש שעבורו רוצים ליצור אסימון אימות
- INSTANCE_ID: המזהה של המכונה שהמשתמש יכול לגשת אליה באמצעות האסימון
- REGION: האזור שבו נמצאת המכונה
הצגת רשימה של טוקנים לאימות של משתמש
אפשר לאחזר רשימה של טוקנים לאימות של משתמש באמצעות ה-CLI של gcloud.
כדי לראות את רשימת האסימונים, משתמשים בפקודה gcloud beta memorystore instances token-auth-users auth-tokens list.
gcloud beta memorystore instances token-auth-users auth-tokens list \ --token-auth-user=USERNAME \ --instance=INSTANCE_ID \ --location=REGION
מחליפים את הפרטים הבאים:
- USERNAME: שם המשתמש של המשתמש שאליו שייכים אסימוני האימות
- INSTANCE_ID: המזהה של המכונה שהמשתמש יכול לגשת אליה באמצעות טוקנים של אימות
- REGION: האזור שבו נמצאת המכונה
צפייה במידע על אסימון אימות של משתמש
אפשר להשתמש ב-CLI של gcloud כדי להציג מידע על אסימון אימות של משתמש.
כדי לראות את המידע, משתמשים בפקודה gcloud beta memorystore instances token-auth-users auth-tokens describe.
gcloud beta memorystore instances token-auth-users auth-tokens describe AUTH_TOKEN \ --instance=INSTANCE_ID \ --location=REGION \ --token-auth-user=USERNAME
מחליפים את הפרטים הבאים:
- AUTH_TOKEN: השם של אסימון האימות שרוצים לראות מידע לגביו
- INSTANCE_ID: המזהה של המכונה שהמשתמש יכול לגשת אליה באמצעות האסימון
- REGION: האזור שבו נמצאת המכונה
- USERNAME: שם המשתמש של המשתמש שאליו שייך אסימון האימות
מחיקת טוקן אימות ממשתמש
מחיקת אסימון אימות ממשתמש היא פעולת אבטחה קריטית שמבטלת את תוקף האסימון.
אפשר למחוק אסימון אימות ממשתמש באמצעות ה-CLI של gcloud.
כדי למחוק את האסימון, משתמשים בפקודה gcloud beta memorystore instances token-auth-users auth-tokens delete.
gcloud beta memorystore instances token-auth-users auth-tokens delete AUTH_TOKEN \ --instance=INSTANCE_ID \ --location=REGION \ --token-auth-user=USERNAME
מחליפים את הפרטים הבאים:
- AUTH_TOKEN: השם של אסימון האימות שרוצים למחוק מהמשתמש
- INSTANCE_ID: המזהה של המופע שרוצים למנוע מהמשתמש גישה אליו על ידי מחיקת האסימון
- REGION: האזור שבו נמצאת המכונה
- USERNAME: שם המשתמש של המשתמש שיש לו אסימון שרוצים למחוק
התחברות למופע באמצעות אימות בסיסי מבוסס-אסימון
אפשר להשתמש בשיטות הבאות כדי להתחבר למופע באמצעות אימות בסיסי מבוסס-טוקן:
- מחרוזת של מזהה משאב אחיד (URI): המחרוזת המעוצבת הזו משמשת לנוחותכם כי היא מכילה את כל פרטי החיבור הנדרשים (לדוגמה, שם המשתמש ואסימון האימות של המשתמש, וכתובת ה-IP ושם המארח של המופע).
- דגלים: השיטה הזו מתאימה יותר לשימוש בכלי שורת פקודה ספציפי, לסקריפטים או לסביבות שבהן ההגדרה מחולקת למשתני סביבה נפרדים באמצעות כמה ארגומנטים נפרדים.
בקטעים הבאים מוסברות כל שיטות הקישור.
שימוש במחרוזת URI
כדי להתחבר ממכונה וירטואלית של Compute Engine או מסביבה נתמכת באמצעות מחרוזת URI, משתמשים בפקודה הבאה:
valkey-cli -u redis://USERNAME:TOKEN@IP_ADDRESS:PORT
מחליפים את הפרטים הבאים:
- USERNAME: שם המשתמש של המשתמש שמנסה להתחבר למכונה
- TOKEN: טוקן האימות של המשתמש
- IP_ADDRESS: כתובת ה-IP של המכונה
- PORT: מספר היציאה ששמור למכונה
שימוש בדגלים
כדי להתחבר ממכונה וירטואלית ב-Compute Engine או מסביבה נתמכת באמצעות דגלים, משתמשים בפקודה הבאה:
valkey-cli --user USERNAME -a TOKEN -h IP_ADDRESS -p PORT
מחליפים את הפרטים הבאים:
- USERNAME: שם המשתמש של המשתמש שמנסה להתחבר למכונה
- TOKEN: טוקן האימות של המשתמש
- IP_ADDRESS: כתובת ה-IP של המכונה
- PORT: מספר היציאה ששמור למכונה
החלפת אסימון אימות של משתמש ללא השבתה
כדי להחליף את אסימון האימות של משתמש בלי לגרום להשבתה של האפליקציות:
- יצירת טוקן אימות נוסף עבור המשתמש: Memorystore for Valkey יוצר טוקן שני ותקף. שני הטוקנים תקפים.
- עדכון האפליקציות: צריך לעדכן את האפליקציות כדי להשתמש באסימון החדש.
- מחיקת טוקן האימות של המשתמש: מערכת Memorystore for Valkey מסירה את הטוקן הראשון. המשתמש יכול להשתמש רק באסימון השני כדי לבצע אימות באפליקציות שלכם.
יומני גישה לאימות בסיסי מבוסס-טוקנים
Memorystore for Valkey יוצר יומני ביקורת של פעילות אדמין וגישה לנתונים לפעולות שמשויכות לאסימוני אימות ולמשתמשים. מידע נוסף על יומני הביקורת האלה זמין במאמר מעקב אחר גישה באמצעות יומני ביקורת.