בעזרת כלי הניתוח למדיניות הרשאות אפשר לגלות לאילו חשבונות משתמשים (לדוגמה, משתמשים, חשבונות שירות, קבוצות ודומיינים) יש גישה לאילו משאבים Google Cloud , בהתאם למדיניות ההרשאות ב-IAM.
כלי הניתוח למדיניות הרשאה יכול לעזור לכם לענות על שאלות כמו:
- מי יכול לגשת לחשבון שירות זה של IAM?
- מי יכול לקרוא את הנתונים במערך הנתונים הזה ב-BigQuery, שיש בו פרטים אישיים מזהים (PII)?
- אילו תפקידים והרשאות יש לקבוצה
dev-testersבכל משאב בפרויקט זה? - אילו מכונות וירטואליות (VM) של Compute Engine טל יכול למחוק בפרויקט A?
- מי יכול לגשת לקטגוריה הזו של Cloud Storage בשעה 19:00?
איך פועל כלי הניתוח למדיניות בנושא כללי מדיניות הרשאות
כדי להשתמש בכלי הניתוח למדיניות לצורך מדיניות הרשאה, יוצרים שאילתת ניתוח, מציינים את היקף הניתוח ומריצים את השאילתה.
שאילתות ניתוח
כדי להשתמש בכלי הניתוח למדיניות, יוצרים שאילתת ניתוח ומציינים בה שדה אחד או יותר מהשדות הבאים:
- חשבונות ראשיים: הזהויות (לדוגמה, משתמשים, חשבונות שירות, קבוצות ודומיינים) שרוצים לבדוק את הגישה שלהן
- גישה: ההרשאות והתפקידים שרוצים לבדוק
- משאבים: המשאבים שרוצים לבדוק את הגישה אליהם
- (API בלבד) הקשר של התנאי: ההקשר – לדוגמה, השעה ביום – שבו רוצים לבדוק את הגישה
בדרך כלל מציינים אחד או שניים מהשדות האלה בשאילתת הניתוח, ואז משתמשים בתוצאות השאילתה כדי לקבל מידע נוסף על השדות שלא צוינו. לדוגמה, אם רוצים לדעת למי יש הרשאה מסוימת למשאב מסוים, מציינים את הגישה והמשאב בשאילתת הניתוח, אבל לא מציינים את חשבון המשתמש.
דוגמאות נוספות לסוגי שאילתות שאפשר ליצור מופיעות במאמר סוגים נפוצים של שאילתות.
היקף הניתוח
כדי להריץ שאילתת ניתוח, צריך לציין היקף לניתוח. ההיקף הוא ארגון, תיקייה או פרויקט שרוצים להגביל את הניתוח אליהם. רק כללי מדיניות הרשאות של IAM שמצורפים למשאב שמשמש כהיקף ולצאצאים שלו ינותחו.
ב-API ל-REST וב-CLI של gcloud, מציינים את ההיקף באופן ידני. במסוף Google Cloud , ההיקף נקבע אוטומטית על סמך הפרויקט, התיקייה או הארגון שאתם מנהלים.
אחרי שיוצרים שאילתת ניתוח ומציינים את ההיקף, אפשר להריץ את השאילתה כדי לנתח את המדיניות בהיקף הזה.
תוצאות השאילתה
כשמריצים שאילתת ניתוח, כלי הניתוח למדיניות מדווח על הקצאות תפקידים שמכילות את חשבונות המשתמש, הגישה והמשאבים שצוינו בשאילתה. לכל קישור תפקיד, הדוח מציג את חשבונות המשתמשים בקישור, את הגישה (תפקיד והרשאות) שהקישור מעניק ואת המשאב שהקישור מעניק גישה אליו.
אפשר לבדוק את התוצאות האלה כדי להבין טוב יותר את הגישה בפרויקט, בתיקייה או בארגון. לדוגמה, אם הפעלתם שאילתה כדי לגלות לאילו חשבונות משתמש יש גישה למשאב ספציפי, תצטרכו לבדוק את חשבונות המשתמש בתוצאות השאילתה.
כדי לשנות את המידע בתוצאות השאילתה, צריך להפעיל את אפשרויות השאילתה.
סוגי מדיניות נתמכים
כלי ניתוח המדיניות למדיניות הרשאות תומך רק במדיניות הרשאות של IAM.
כלי הניתוח למדיניות הרשאה לא תומך בטפסים הבאים של בקרת גישה:
- כללי מדיניות הדחייה ב-IAM
- מדיניות לקביעת גבול הגישה לחשבונות משתמשים (PAB) ב-IAM
- בקרת גישה מבוססת-תפקידים ב-Google Kubernetes Engine
- רשימות של בקרת גישה ל-Cloud Storage
- מניעת גישה ציבורית ב-Cloud Storage
תוצאות השאילתה של הכלי לניתוח מדיניות לא כוללות סוגי מדיניות שלא נתמכים. לדוגמה, נניח שלמשתמש יש את ההרשאה iam.roles.get בפרויקט בגלל מדיניות הרשאות, אבל מדיניות דחייה מונעת ממנו להשתמש בהרשאה. כלי הניתוח למדיניות ידווח שיש להם את ההרשאה iam.roles.get, למרות מדיניות הדחייה.
העברה בירושה של מדיניות
כדי להתחשב בהעברת מדיניות בירושה, כלי הניתוח למדיניות מנתח באופן אוטומטי את כל כללי מדיניות ההרשאה הרלוונטיים במסגרת ההיקף שצוין, ללא קשר למיקום שלהם בהיררכיית המשאבים.
לדוגמה, נניח שאתם מנסים לגלות למי יש גישה לחשבון שירות של IAM:
- אם מצמצמים את היקף השאילתה לפרויקט, הכלי לניתוח מדיניות מנתח את מדיניות ההרשאות של חשבון השירות ואת מדיניות ההרשאות של הפרויקט.
- אם מצמצמים את היקף השאילתה לארגון, כלי הניתוח למדיניות מנתח את מדיניות ההרשאות של חשבון השירות, את מדיניות ההרשאות של הפרויקט שבבעלותו נמצא חשבון השירות, את מדיניות ההרשאות של כל התיקיות שמכילות את הפרויקט ואת מדיניות ההרשאות של הארגון.
גישה מותנית
אם לקישור התפקיד יש תנאי, הוא מעניק לחשבון המשתמש גישה רק כשהתנאי הזה מתקיים. כלי ניתוח המדיניות תמיד מדווח על תנאים שמצורפים לקישורי תפקידים רלוונטיים. קישורי תפקידים רלוונטיים הם קישורי תפקידים שמכילים את החשבונות הראשיים, הגישה והמשאבים שציינתם בשאילתת הניתוח.
במקרים מסוימים, הכלי לניתוח מדיניות יכול גם לנתח את התנאי, כלומר הוא יכול לדווח אם התנאי יתקיים. כלי הניתוח למדיניות יכול לנתח את סוגי התנאים הבאים:
- תנאים שמבוססים על מאפייני משאבים, לסוגי משאבים שמספקים שם משאב.
- תנאים של תאריך ושעה (API ו-CLI של gcloud בלבד). כדי שכלי הניתוח למדיניות יוכל לנתח את התנאים האלה, צריך לספק את שעת הגישה (
accessTime) בשאילתת הניתוח. במאמר קביעת גישה בזמן ספציפי מוסבר איך מספקים את ההקשר הזה.
אם קישור תפקיד רלוונטי מכיל תנאי, כלי ניתוח המדיניות מבצע אחת מהפעולות הבאות:
אם כלי הניתוח למדיניות יכול לנתח את התנאי, הוא מבצע אחת מהפעולות הבאות:
- אם התנאי מחזיר את הערך True, כלי הניתוח למדיניות כולל את קישור התפקיד בתוצאות השאילתה ומסמן את הערכת התנאי כ-
TRUE. - אם התנאי מחזיר את הערך false, כלי הניתוח למדיניות לא כולל את התפקיד בתוצאות השאילתה.
- אם התנאי מחזיר את הערך True, כלי הניתוח למדיניות כולל את קישור התפקיד בתוצאות השאילתה ומסמן את הערכת התנאי כ-
אם כלי הניתוח למדיניות לא יכול לנתח תנאי של קישור תפקיד רלוונטי, הוא כולל את התפקיד בתוצאות השאילתה ומסמן את הערכת התנאי כ-
CONDITIONAL.
עדכניות הנתונים
כלי הניתוח למדיניות משתמש ב-Cloud Asset API, שמציע עדכניות נתונים במידת האפשר. כמעט כל עדכוני המדיניות מופיעים בכלי לניתוח מדיניות תוך דקות, אבל יכול להיות שהכלי לא יכלול את עדכוני המדיניות האחרונים.
סוגים נפוצים של שאילתות
בקטע הזה מוסבר איך להשתמש בשאילתות ניתוח כדי לענות על שאלות נפוצות שקשורות לגישה.
אילו ישויות יכולות לגשת למשאב הזה?
כדי לקבוע לאילו חשבונות משתמש יש גישה למשאב, יוצרים שאילתת ניתוח שמציינת את המשאב, ואם רוצים, גם את התפקידים וההרשאות שרוצים לבדוק.
השאילתות האלה יכולות לעזור לכם לענות על שאלות כמו:
- למי יש גישה לחשבון השירות הזה של IAM?
- למי יש הרשאה להתחזות לחשבון השירות הזה של IAM?
- מיהם האדמינים לענייני חיוב בפרויקט א'?
- (API ו-CLI של gcloud בלבד): מי יכול לעדכן את פרויקט א' באמצעות התחזות לחשבון שירות?
במאמר איך קובעים לאילו גורמים יש גישה למשאב מוסבר איך ליצור ולשלוח את השאילתות האלה.
אילו חשבונות משתמשים מקבלים את התפקידים וההרשאות האלה?
כדי לקבוע לאילו חשבונות משתמשים יש תפקידים והרשאות מסוימים, יוצרים שאילתת ניתוח שמציינת חשבון משתמש וקבוצה של תפקידים והרשאות שרוצים לבדוק.
השאילתות האלה יכולות לעזור לכם לענות על שאלות כמו:
- למי יש הרשאה להתחזות לחשבונות שירות בארגון שלי?
- מיהם האדמינים לענייני חיוב בארגון שלי?
- מי יכול לקרוא את הנתונים במערך הנתונים הזה ב-BigQuery, שיש בו פרטים אישיים מזהים (PII)?
- (API ו-CLI של gcloud בלבד): מי בארגון שלי יכול לקרוא מערך נתונים ב-BigQuery באמצעות התחזות לחשבון שירות?
במאמר איך קובעים לאילו גורמים יש תפקידים או הרשאות מסוימים מוסבר איך ליצור ולשלוח את השאילתות האלה.
אילו תפקידים והרשאות יש לחשבון המשתמש הזה במשאב הזה?
כדי לקבוע אילו תפקידים והרשאות יש לחשבון משתמש במשאב ספציפי, צריך ליצור שאילתת ניתוח שמציינת חשבון משתמש ומשאב שרוצים לבדוק את ההרשאות שלהם.
השאילתות האלה יכולות לעזור לכם לענות על שאלות כמו:
- אילו תפקידים והרשאות יש למשתמשת Sasha בקבוצת הנתונים הזו ב-BigQuery?
- אילו תפקידים והרשאות יש לקבוצה
dev-testersבכל משאב בפרויקט זה? - (API ו-CLI של gcloud בלבד): אילו תפקידים והרשאות יש למשתמשת דנה בקבוצת הנתונים הזו ב-BigQuery אם דנה מתחזה לחשבון שירות?
במאמר קביעת הגישה של חשבון משתמש למשאב מוסבר איך ליצור ולשלוח את השאילתות האלה.
לאילו משאבים יש לחשבון הראשי הזה גישה?
כדי לקבוע לאילו משאבים יש לחשבון משתמש ספציפי גישה, צריך ליצור שאילתת ניתוח שמציינת חשבון משתמש ואת התפקידים וההרשאות שרוצים לבדוק.
השאילתות האלה יכולות לעזור לכם לענות על שאלות כמו:
- אילו מערכי נתונים ב-BigQuery יש למשתמש Mahan הרשאה לקרוא?
- באילו מערכי נתונים ב-BigQuery קבוצת
dev-testersמוגדרת כבעלים של הנתונים? - אילו מכונות וירטואליות טל יכול למחוק בפרויקט A?
- (API ו-CLI של gcloud בלבד): אילו מכונות וירטואליות המשתמש John יכול למחוק באמצעות התחזות לחשבון שירות?
במאמר קביעת המשאבים שאליהם יש לחשבון משתמש גישה מוסבר איך ליצור ולשלוח את השאילתות האלה.
שאילתות ניתוח שמורות
אם אתם משתמשים ב-API בארכיטקטורת REST, אתם יכולים לשמור שאילתות ניתוח כדי לעשות בהן שימוש חוזר או לשתף אותן עם אחרים. אפשר להריץ שאילתה שמורה בדיוק כמו שמריצים כל שאילתה אחרת.
מידע נוסף על שמירת שאילתות זמין במאמר בנושא ניהול שאילתות שמורות.
ייצוא תוצאות של שאילתה
אפשר להריץ שאילתות באופן אסינכרוני ולייצא את תוצאות השאילתות ל-BigQuery או ל-Cloud Storage באמצעות analyzeIamPolicyLongrunning.
מידע נוסף על ייצוא תוצאות של שאילתות ל-BigQuery זמין במאמר כתיבת ניתוח מדיניות ל-BigQuery.
איך מייצאים תוצאות של שאילתות ל-Cloud Storage
אפשרויות השאילתה
כלי הניתוח למדיניות מציע כמה אפשרויות שמוסיפות פרטים נוספים לתוצאות השאילתה.
במאמר הפעלת אפשרויות מוסבר איך להפעיל את האפשרויות האלה.
הרחבת הקבוצה
אם מפעילים את האפשרות להרחבת קבוצות, כל הקבוצות בתוצאות השאילתה מורחבות למשתמשים בודדים. ההרחבה הזו מוגבלת ל-1,000 חברים בכל קבוצה. אם יש לכם הרשאות מספיקות בקבוצה, גם קבוצות שכלולות בקבוצות אחרות יורחבו. האפשרות הזו רלוונטית רק אם לא מציינים ישות בשאילתה.
לדוגמה, נניח שמפעילים את הרחבת הקבוצה לשאילתה 'למי יש הרשאה storage.buckets.delete ל-project-1?'. אם הכלי לניתוח מדיניות מוצא קבוצות שיש להן הרשאה storage.buckets.delete, בתוצאות השאילתה יופיעו לא רק מזהה הקבוצה, אלא גם כל החברים בקבוצה.
האפשרות הזו מאפשרת לכם להבין את הגישה של משתמשים ספציפיים, גם אם הגישה שלהם היא תוצאה של החברות שלהם בקבוצה.
הרחבת התפקיד
אם מפעילים את האפשרות להרחבת תפקידים, בתוצאות השאילתה מופיעות כל ההרשאות בכל תפקיד, בנוסף לתפקיד עצמו. האפשרות הזו זמינה רק אם לא מציינים הרשאות או תפקידים בשאילתה.
לדוגמה, נניח שמפעילים את הרחבת התפקידים לשאילתה 'What access does
my-user@example.com have on the bucket bucket-1?'. אם כלי הניתוח למדיניות מוצא תפקידים שנותנים ל-my-user@example.com גישה ל-bucket-1, בתוצאות השאילתה יופיעו לא רק שם התפקיד, אלא גם כל ההרשאות שכלולות בתפקיד.
האפשרות הזו מאפשרת לכם לראות בדיוק אילו הרשאות יש לישויות הראשיות שלכם.
הרחבת המשאבים
אם מפעילים את האפשרות להרחבת משאבים בשאילתה של כלי הניתוח למדיניות, ברשימת תוצאות השאילתה מוצגים כל משאבי הצאצא הרלוונטיים של כל משאבי האב (פרויקטים, תיקיות וארגונים) בתוצאות השאילתה. ההרחבה הזו מוגבלת ל-1,000 משאבים לכל משאב אב בשאילתות של כלי הניתוח למדיניות, ול-100,0�אלף משאבים לכל משאב אב בשאילתות ארוכות של כלי הניתוח למדיניות.
לדוגמה, נבחן את ההשפעה של הרחבת המשאבים על השאילתות הבאות:
למי יש הרשאה
storage.buckets.deleteל-project-1?אם מפעילים את האפשרות להרחבת המשאבים בשאילתה הזו, בקטע resources בתוצאות השאילתה יופיעו לא רק הפרויקט, אלא גם כל קטגוריות האחסון בתוך הפרויקט.
אילו משאבים יש ל-
my-user@example.comהרשאתcompute.instances.setIamPolicy?אם מפעילים את האפשרות להרחבת משאבים בשאילתה הזו, וכלי הניתוח למדיניות מוצא שלמשתמש
my-user@example.comיש תפקיד ברמת הפרויקט שכולל את ההרשאה הזו, בקטע 'משאבים' בתוצאות השאילתה יופיע לא רק הפרויקט, אלא גם כל המכונות הווירטואליות של Compute Engine בתוך הפרויקט.
האפשרות הזו מאפשרת לכם לקבל הבנה מפורטת של המשאבים שהגורמים העיקריים יכולים לגשת אליהם.
התחזות לחשבון שירות
אם אתם משתמשים ב-API בארכיטקטורת REST או ב-CLI של gcloud, אתם יכולים להפעיל ניתוח של התחזות לחשבון שירות.
אם האפשרות הזו מופעלת, כלי הניתוח למדיניות מריץ שאילתות ניתוח נוספות כדי לקבוע למי יש אפשרות להתחזות לחשבונות השירות שיש להם גישה ספציפית למשאבים ספציפיים. כלי ניתוח המדיניות מריץ שאילתה אחת לכל חשבון שירות בתוצאות השאילתה. השאילתות האלה מנתחות למי יש את ההרשאות הבאות בחשבון השירות:
iam.serviceAccounts.actAsiam.serviceAccounts.getAccessTokeniam.serviceAccounts.getOpenIdTokeniam.serviceAccounts.implicitDelegationiam.serviceAccounts.signBlobiam.serviceAccounts.signJwt
מכסות ומגבלות
מאגר משאבי ענן אוכף את קצב הבקשות הנכנסות, כולל בקשות לניתוח מדיניות, על סמך פרויקט הצרכן. מאגר משאבי ענן גם מגביל את הרחבת הקבוצות בתוך חברויות בקבוצות, ואת הרחבת המשאבים בתוך ההיררכיה של המשאבים.
כדי לראות את המכסות והמגבלות שמוגדרות כברירת מחדל בכלי הניתוח למדיניות, אפשר לעיין במאמר בנושא מכסות ומגבלות במסמכי מאגר משאבי ענן.
תמחור
כל ארגון יכול להריץ עד 20 שאילתות ניתוח ביום ללא תשלום. המגבלה הזו כוללת ניתוח של מדיניות הרשאה וניתוח של מדיניות ארגונית.
אם אתם רוצים להריץ יותר מ-20 שאילתות ניתוח ביום, אתם צריכים להפעיל את Security Command Center ברמת הארגון בגרסת Premium או Enterprise. מידע נוסף זמין במאמר שאלות בנושא חיוב.
המאמרים הבאים
- איך מנתחים כללי מדיניות הרשאות באמצעות כלי הניתוח למדיניות
- איך שומרים שאילתות של ניתוח מדיניות באמצעות API בארכיטקטורת REST