הדף הזה מספק מידע נוסף על האילוצים של מדיניות הארגון החלים על Cloud Storage. משתמשים באילוצים כדי לאכוף התנהגות של קטגוריות ושל אובייקטים בכל הפרויקט או הארגון. אילוצים של מדיניות הארגון יכולים להיות אילוצים בוליאניים או אילוצים של רשימות.
חשוב לזכור שעשויות לחלוף עד 10 דקות עד שהאכיפה או ההשבתה של ההגבלות ייכנסו לתוקף.
אילוצים של Cloud Storage
אפשר להחיל את האילוצים הבאים על מדיניות הארגון והם מתייחסים ל-Cloud Storage:
אכיפה של מניעת גישה ציבורית
Constraint Name: constraints/storage.publicAccessPrevention
Constraint Type: boolean
כשמחילים את האילוץ publicAccessPrevention על משאב, הגישה הציבורית מוגבלת לכל הקטגוריות והאובייקטים, גם חדשים וגם קיימים, במשאב הזה.
משך השמירה של מחיקה עם יכולת שחזור
Constraint Name: constraints/storage.softDeletePolicySeconds
Constraint Type: list
כשמחילים את האילוץ softDeletePolicySeconds, צריך לציין משך זמן אחד או יותר כחלק מהאילוץ. אחרי שמגדירים מדיניות מחיקה עם יכולת שחזור על הקטגוריה, היא חייבת לכלול את אחד ממשכי הזמן שצוינו.
softDeletePolicySeconds נדרש כשיוצרים קטגוריות חדשות וכשמוסיפים או מעדכנים את משך השמירה של מחיקה עם יכולת שחזור (softDeletePolicy.retentionDuration) בקטגוריות קיימות. עם זאת, הוא לא משפיע על קטגוריות קיימות בדרכים אחרות.
אם מגדירים מספר אילוצים של softDeletePolicySeconds ברמות שונות של משאבים, הם נאכפים באופן היררכי. לכן מומלץ להגדיר את השדה inheritFromParent לערך true, כדי להבטיח שגם כללי המדיניות בשכבות הגבוהות יותר יילקחו בחשבון.
משך מדיניות שמירת הנתונים של קטגוריה בשניות
Constraint Name: constraints/storage.retentionPolicySeconds
Constraint Type: list
כשמחילים את האילוץ retentionPolicySeconds, צריך לציין משך זמן אחד או יותר כחלק מהאילוץ. אחרי שמגדירים כללי מדיניות שמירת נתונים על הקטגוריה, הם חייבים לכלול את אחד ממשכי הזמן שצוינו. retentionPolicySeconds נדרש כשיוצרים קטגוריות חדשות או כשמוסיפים/מעדכנים את תקופת השמירה של קטגוריה קיימת. עם זאת, בקטגוריות הקיימות הוא לא נדרש.
אם מגדירים מספר אילוצים של retentionPolicySeconds ברמות שונות של משאבים, הם נאכפים באופן היררכי. לכן מומלץ להגדיר את השדה inheritFromParent לערך true, כדי להבטיח שגם כללי המדיניות בשכבות הגבוהות יותר יילקחו בחשבון.
דרישה של גישה אחידה ברמת הקטגוריה
Constraint Name: constraints/storage.uniformBucketLevelAccess
Constraint Type: boolean
כשמחילים את האילוץ uniformBucketLevelAccess, קטגוריות חדשות צריכות להפעיל את מאפיין הגישה האחידה ברמת הקטגוריה והקטגוריות הקיימות שבהן מופעל המאפיין הזה לא יכולות להשבית אותו. אין צורך להפעיל אותו בקטגוריות קיימות שהגישה שלהן ברמת הקטגוריה מושבתת.
מצב רישום מפורט ביומן הביקורת
Constraint Name: constraints/gcp.detailedAuditLoggingMode
Constraint Type: boolean
כשמחילים את האילוץ detailedAuditLoggingMode, יומני ביקורת של Cloud המשויכים לפעולות של Cloud Storage מכילים מידע מפורט על הבקשות והתשובות. מומלץ להשתמש באילוץ הזה יחד עם נעילת קטגוריה ונעילת שמירה של אובייקטים כשרוצים לעמוד בדרישות שונות, כמו כלל SEC 17a-4(f), כלל CFTC 1.31(c)-(d) וכלל FINRA 4511(c).
המידע הנרשם ביומן כולל פרמטרים של שאילתה, פרמטרים של נתיב ופרמטרים של גוף הבקשה. היומנים לא כוללים חלקים מסוימים של בקשות ותשובות המשויכים למידע רגיש. לדוגמה, יומנים לא כוללים:
- פרטי כניסה, כמו
Authorization,X-Goog-Signatureאוupload-id. - מידע על מפתחות הצפנה, כמו
x-goog-encryption-key. - נתוני אובייקט גולמיים.
כשמשתמשים באילוץ הזה, חשוב לשים לב לדברים הבאים:
- לא מובטח שתקבלו מידע מפורט על הבקשה והתשובה. במקרים נדירים, יכול להיות שיוחזרו יומנים ריקים.
- הפעלה של
detailedAuditLoggingModeמגדילה את כמות הנתונים שמאוחסנים ביומני הביקורת, ויכולה להיות לכך השפעה על החיובים של Cloud Logging על יומני גישה לנתונים. - הבקשות והתשובות מתועדות בפורמט גנרי התואם לשמות השדות ב-API בפורמט JSON.
הגבלה של סוגי אימות
Constraint Name: constraints/storage.restrictAuthTypes
Constraint Type: list
כשמחילים את האילוץ restrictAuthTypes, בקשות לקבלת גישה למשאבים של Cloud Storage באמצעות סוג האימות המוגבל נכשלות, גם אם הבקשה חוקית. אתם יכולים להשתמש באילוץ restrictAuthTypes כדי להגביל את מפתחות ה-HMAC, וכך לעמוד בדרישות רגולטוריות או להגביר את אבטחת הנתונים.
הגבלת הרשימה חוסמת באופן מפורש סוגים ספציפיים של אימות, ומאפשרת את כל הסוגים האחרים. כדי לעשות זאת, צריך לציין את סוגי האימות המוגבלים במפתח deniedValues בתוך rules של האילוץ restrictAuthTypes. שגיאה מתרחשת אם מנסים לרשום את סוגי האימות המוגבלים במפתח allowedValues.
אפשר להגביל את סוגי האימות הבאים:
SERVICE_ACCOUNT_HMAC_SIGNED_REQUESTS: מגביל בקשות שנחתמו על-ידי מפתחות HMAC של חשבון שירות.
USER_ACCOUNT_HMAC_SIGNED_REQUESTS: מגביל בקשות שנחתמו על-ידי מפתחות HMAC של חשבון משתמש.
RSA_SIGNED_REQUESTS: מגביל בקשות שנחתמו על-ידי מפתחות RSA.
in:ALL_HMAC_SIGNED_REQUESTS: מגביל בקשות שנחתמו על-ידי כל מפתח HMAC. אם צריך לעמוד בדרישות בנוגע לריבונות הנתונים, מומלץ להגביל את כל הבקשות החתומות בפורמט HMAC.
in:ALL_SIGNED_REQUESTS: מגביל בקשות שנחתמו על-ידי מפתחות HMAC או RSA.
כשמפעילים את האילוץ הזה, יקרו הדברים הבאים:
Cloud Storage מגביל את הגישה לבקשות שמאומתות באמצעות סוג האימות המוגבל. הבקשות נכשלות ומתקבלת השגיאה
403 Forbidden.ישויות שקיבלו בעבר הרשאה לבצע את הבקשה מקבלות הודעת שגיאה המסבירה שסוג האימות מושבת.
אם יש הגבלות על מפתחות HMAC:
אי אפשר יותר ליצור או להפעיל מפתחות HMAC מהסוג המוגבל במשאב שבו האילוץ נאכף. הבקשות ליצירה או להפעלה של מפתחות HMAC נכשלות, עם השגיאה
403 Forbidden.מפתחות HMAC קיימים יישארו אבל כבר אי אפשר יהיה להשתמש בהם. אפשר להשבית או למחוק אותם, אבל אי אפשר להפעיל אותם מחדש.
כשמשתמשים באילוץ restrictAuthTypes, חשוב לשים לב למשאבים קיימים התלויים באימות HMAC. לדוגמה, אם עברתם מ-Amazon Simple Storage Service (Amazon S3), סביר להניח שהאפליקציה שלכם משתמשת במפתחות HMAC כדי לאמת בקשות ל-Cloud Storage. אפשר להשתמש במדד של Cloud Monitoring, storage.googleapis.com/authn/authentication_count כדי לעקוב אחרי מספר הפעמים שבהן נעשה שימוש במפתחות HMAC לאימות בקשות.
הגבלת בקשות HTTP לא מוצפנות
Constraint Name: constraints/storage.secureHttpTransport
Constraint Type: boolean
כשמחילים את האילוץ secureHttpTransport, כל גישה לא מוצפנת של HTTP למשאבים של Cloud Storage נדחית.
- כברירת מחדל, Cloud Storage API בפורמט XML מאפשר גישה לא מוצפנת מסוג HTTP.
- הפניות אוטומטיות של
CNAMEתומכות רק בגישה לא מוצפנת של HTTP.
מגבלות נוספות
האילוצים הבאים של מדיניות הארגון חלים באופן כללי יותר עלGoogle Cloud, אבל לרוב הם חלים על שירות Cloud Storage:
constraints/gcp.restrictNonCmekServices: דרישה להצפנה של אובייקטים חדשים ומשוכתבים באמצעות מפתחות הצפנה בניהול הלקוח, ודרישה להגדרת מפתח Cloud KMS כמפתח ברירת המחדל להצפנה בקטגוריות חדשות.
constraints/gcp.restrictCmekCryptoKeyProjects: דחיית בקשות ל-Cloud Storage אם הבקשה כוללת מפתח הצפנה בניהול הלקוח והמפתח לא שייך לפרויקט שצוין באילוץ. באופן דומה, דחו בקשות ליצירה או לכתיבה מחדש של אובייקט אם האובייקט יוצפן באמצעות מפתח ההצפנה שמוגדר כברירת המחדל בקטגוריה, והמפתח הזה לא שייך לפרויקט שצוין באילוץ.
constraints/gcp.restrictTLSVersion: מניעת גישה ל-Cloud Storage באמצעות בקשות שנוצרו באמצעות Transport Layer Security (TLS) 1.0 או 1.1.
הרשאה או דחייה של אילוצים של מדיניות הארגון בתנאי
תגים מאפשרים להגדיר תנאי לאישור או לדחייה של מדיניות הארגון אם תג ספציפי מצורף או לא מצורף לקטגוריה של Cloud Storage. הוראות מפורטות זמינות במאמר בנושא הגדרת מדיניות ארגונית באמצעות תגים.
המאמרים הבאים
- מידע נוסף על היררכיית המשאבים החלה על מדיניות הארגון.
- להוראות בנושא עבודה עם אילוצים וכללי מדיניות ארגון במסוף Google Cloud , ראו יצירה וניהול של מדיניות הארגון.
- להוראות בנושא עבודה עם אילוצים וכללי מדיניות ארגון ב-CLI של gcloud, ראו שימוש באילוצים.
- מידע על אילוצים בהתאמה אישית ב-Cloud Storage
- עיינו במאמרי העזרה של ה-API של Resource Manager ל-methods רלוונטיות של API, כמו
projects.setOrgPolicy.