מידע על אימות ב-IAM

‫Memorystore מספק את תכונת האימות של ניהול הזהויות והרשאות הגישה (IAM), שממנפת את IAM כדי לעזור לכם לנהל טוב יותר את גישת הכניסה למשתמשים ולחשבונות שירות. אימות מבוסס-IAM משתלב עם Redis AUTH, ומאפשר לכם לבצע רוטציה חלקה של פרטי הכניסה (טוקנים של IAM) בלי להסתמך על סיסמאות סטטיות.

הוראות להגדרת אימות IAM עבור אשכול Memorystore זמינות במאמר ניהול אימות IAM.

אימות IAM ל-Redis

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

אדמינים שעוברים אימות באמצעות IAM יכולים להשתמש באימות IAM ב-Memorystore כדי לנהל באופן מרכזי את בקרת הגישה למופעים שלהם באמצעות כללי מדיניות של IAM. כללי מדיניות של IAM כוללים את הישויות הבאות:

  • חשבונות משתמש. ב-Memorystore, אפשר להשתמש בשני סוגים של חשבונות: חשבון משתמש וחשבון שירות (לאפליקציות). סוגים אחרים של חשבונות ראשיים, כמו קבוצות Google, דומיינים של Google Workspace או דומיינים של Cloud Identity, עדיין לא נתמכים באימות IAM. מידע נוסף זמין במאמר מושגים שקשורים לזהות.

  • תפקידים. כדי לבצע אימות ב-IAM ב-Memorystore, משתמש צריך את ההרשאה redis.clusters.connect כדי לבצע אימות באשכול. כדי לקבל את ההרשאה הזו, אפשר לקשר את המשתמש או חשבון השירות לתפקיד המוגדר מראש 'משתמש בחיבור למסד נתונים של Redis Cluster' (roles/redis.dbConnectionUser). מידע נוסף על תפקידים ב-IAM זמין במאמר תפקידים.

  • משאבים. המשאבים שהחשבונות הראשיים ניגשים אליהם הם אשכולות Memorystore. כברירת מחדל, צירופי מדיניות IAM מוחלים ברמת הפרויקט, כך שחשבונות משתמשים מקבלים הרשאות תפקיד לכל מופעי Memorystore בפרויקט. עם זאת, אפשר להגביל את הקישורים למדיניות IAM לאשכול מסוים. הוראות מפורטות זמינות במאמר ניהול הרשאות לאימות IAM.

פקודת Redis AUTH

תכונת האימות של IAM משתמשת בפקודה Redis AUTH כדי להשתלב עם IAM, וכך מאפשרת ללקוחות לספק אסימון גישה של IAM שיאומת על ידי אשכול Memorystore לפני שתתאפשר גישה לנתונים.

כמו כל פקודה, הפקודה AUTH נשלחת ללא הצפנה, אלא אם מופעלת האפשרות הצפנה בזמן ההעברה.

דוגמה לאופן שבו פקודת AUTH יכולה להיראות מופיעה במאמר חיבור לאשכול Redis שמשתמש באימות IAM.

מסגרת הזמן של טוקן גישה ב-IAM

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

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

סיום חיבור מאומת

כדי לסיים את החיבור, משתמשים בפקודה CLIENT KILL של Redis. כדי למצוא את החיבור שרוצים לסיים, קודם מריצים את הפקודה CLIENT LIST, שמחזירה את חיבורי הלקוח לפי סדר הגיל. אחר כך אפשר להריץ את הפקודה CLIENT KILL כדי לסיים את החיבור.

הפעלת אימות IAM

הפעלת אימות IAM לא פוגעת בביצועים במצב יציב. עם זאת, היא משפיעה על קצב יצירת החיבור.

הפעלת אימות IAM מגבילה את קצב החיבורים של הלקוח שנוצרים בכל שנייה. הסיבה לכך היא שכל חיבור חדש צריך לעבור אימות ב-IAM של Google Cloud. במצב יציב, אפליקציה מאפשרת מאגרי חיבורים, כך שההשפעה הזו זניחה. עם זאת, כשיישומים של לקוחות עוברים רענון באמצעות פריסות או עיבוד של ניתוקים, יכול להיות שיהיה גל של חיבורים שנוצרו מחדש. אם תעדכנו את הלקוחות שלכם בהדרגה ותטמיעו השהיות מעריכיות לפני ניסיון חוזר (exponential backoff), תוכלו לספוג את השיעור המופחת הזה.

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

אבטחה ופרטיות

אימות IAM עוזר לוודא שרק חשבונות משתמשים מורשים ב-IAM יכולים לגשת לאשכול Redis. הצפנת TLS לא מסופקת אלא אם מפעילים את הצפנה בזמן ההעברה. לכן מומלץ להפעיל את ההצפנה בנתונים בזמן העברה כשמשתמשים באימות IAM.

התחברות באמצעות מכונה וירטואלית ב-Compute Engine

אם אתם משתמשים במכונה וירטואלית ב-Compute Engine כדי להתחבר למופע שמשתמש באימות IAM, אתם צריכים להפעיל את היקפי הגישה ואת ממשקי ה-API הבאים בפרויקט: