בדף הזה נסביר איך משתמשים בהגדרה של הקטגוריה למניעת גישה ציבורית ובאילוץ של מדיניות הארגון למניעת גישה ציבורית. מניעת גישה ציבורית מאפשרת להגביל את הגישה הציבורית לקטגוריות ולאובייקטים שלכם.
לפני שמתחילים
לפני שמשתמשים במניעת גישה ציבורית ב-Cloud Storage, צריך לוודא שיש לכם את תפקיד ה-IAM הנדרש ולעיין בשיקולים לגבי אכיפת מניעת גישה ציבורית.
קבלת התפקידים הנדרשים
כדי לנהל את מדיניות הארגון למניעת גישה ציבורית לנתונים ברמת הפרויקט, התיקייה או הארגון, צריך לבקש מהאדמין להקצות לכם את התפקיד Organization Policy Administrator (אדמין מדיניות הארגון) (roles/orgpolicy.policyAdmin) בארגון. התפקיד המוגדר מראש הזה מכיל את ההרשאות שדרושות לניהול מניעת גישה ציבורית ברמת הפרויקט, התיקייה או הארגון. מידע על ההרשאות שכלולות בתפקיד הזה מופיע בפרטים על התפקיד אדמין ארגוני.
כדי לנהל את ההגדרה של מניעת הגישה הציבורית לנתונים בקטגוריה מסוימת, צריך לבקש מהאדמין להקצות לכם את התפקיד 'אדמין לניהול אחסון' (roles/storage.admin) בקטגוריה. התפקיד הזה מכיל את ההרשאות שנדרשות לניהול מניעת גישה ציבורית לקטגוריה. כדי לראות בדיוק אילו הרשאות נדרשות, אפשר להרחיב את הקטע ההרשאות הנדרשות:
ההרשאות הנדרשות
storage.buckets.updatestorage.buckets.setIamPolicy
מידע על ההרשאות האחרות שכלולות בתפקיד אדמין באחסון מופיע במאמר פרטים על התפקיד אדמין באחסון.
שיקולים לבדיקה
לפני שמתחילים, מומלץ גם לוודא שאין תהליכי עבודה שיפסיקו לפעול כתוצאה מחסימת הגישה הציבורית. פרטים נוספים זמינים במאמר שיקולים בקשר לאכיפה על משאבים קיימים.
שימוש בהגדרת הקטגוריה
בקטע הזה מוסבר איך לאכוף את מניעת הגישה הציבורית לקטגוריות מסוימות, איך להסיר אותה ואיך לבדוק את הסטטוס של קטגוריות מסוימות.
הגדרה של מניעת גישה ציבורית
כדי לשנות את ההגדרה של מניעת הגישה הציבורית לקטגוריה מסוימת:
המסוף
- במסוף Google Cloud , נכנסים לדף Buckets של Cloud Storage.
ברשימת הקטגוריות, לוחצים על שם הקטגוריה שרוצים לאכוף או להסיר את מניעת הגישה הציבורית שלה.
בדף Bucket details, לוחצים על הכרטיסייה Permissions.
בכרטיס Public access, לוחצים על Prevent public access כדי לאכוף מניעת גישה ציבורית, או על Allow Public access כדי להסיר את מניעת הגישה הציבורית.
לוחצים על אישור.
במאמר פתרון בעיות מוסבר איך מקבלים מידע מפורט על שגיאות בנושא פעולות ב-Cloud Storage שנכשלו במסוף Google Cloud .
שורת הפקודה
משתמשים בפקודה gcloud storage buckets update עם הדגל המתאים:
gcloud storage buckets update gs://BUCKET_NAME FLAG
כאשר:
BUCKET_NAMEהוא שם הקטגוריה הרלוונטית. לדוגמה,my-bucket.
FLAGהוא--public-access-preventionכדי להפעיל מניעת גישה ציבורית, או--no-public-access-preventionכדי להשבית אותה.
אם הפעולה בוצעה ללא שגיאות, התגובה תיראה דומה לדוגמה הבאה:
Updating gs://my-bucket/... Completed 1
ספריות לקוח
C++
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage C++ API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
הדוגמה הבאה אוכפת את מניעת הגישה הציבורית בקטגוריה מסוימת:
הדוגמה הבאה מגדירה את מניעת הגישה הציבורית כ-inherited בקטגוריה מסוימת:
C#
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage C# API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
הדוגמה הבאה אוכפת את מניעת הגישה הציבורית בקטגוריה מסוימת:
הדוגמה הבאה מגדירה את מניעת הגישה הציבורית כ-inherited בקטגוריה מסוימת:
Go
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage Go API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
הדוגמה הבאה אוכפת את מניעת הגישה הציבורית בקטגוריה מסוימת:
הדוגמה הבאה מגדירה את מניעת הגישה הציבורית כ-inherited בקטגוריה מסוימת:
Java
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage Java API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
הדוגמה הבאה אוכפת את מניעת הגישה הציבורית בקטגוריה מסוימת:
הדוגמה הבאה מגדירה את מניעת הגישה הציבורית כ-inherited בקטגוריה מסוימת:
Node.js
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage Node.js API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
הדוגמה הבאה אוכפת את מניעת הגישה הציבורית בקטגוריה מסוימת:
הדוגמה הבאה מגדירה את מניעת הגישה הציבורית כ-inherited בקטגוריה מסוימת:
PHP
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage PHP API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
הדוגמה הבאה אוכפת את מניעת הגישה הציבורית בקטגוריה מסוימת:
הדוגמה הבאה מגדירה את מניעת הגישה הציבורית כ-inherited בקטגוריה מסוימת:
Python
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage Python API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
הדוגמה הבאה אוכפת את מניעת הגישה הציבורית בקטגוריה מסוימת:
הדוגמה הבאה מגדירה את מניעת הגישה הציבורית כ-inherited בקטגוריה מסוימת:
Ruby
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage Ruby API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
הדוגמה הבאה אוכפת את מניעת הגישה הציבורית בקטגוריה מסוימת:
הדוגמה הבאה מגדירה את מניעת הגישה הציבורית כ-inherited בקטגוריה מסוימת:
ממשקי API ל-REST
API ל-JSON
התקנה והפעלה של ה-CLI של gcloud, שמאפשרות ליצור אסימון גישה לכותרת
Authorization.יוצרים קובץ JSON שמכיל את הפרטים הבאים:
{ "iamConfiguration": { "publicAccessPrevention": "STATE", } }כאשר
<var>STATE</var>הואenforcedאוinherited.משתמשים ב-
cURLכדי לשלוח קריאה ל-API בפורמט JSON באמצעות בקשה של קטגורייתPATCHשכוללת אתfieldsהרצוי:curl -X PATCH --data-binary @JSON_FILE_NAME \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME?fields=iamConfiguration"כאשר:
-
JSON_FILE_NAMEהוא הנתיב לקובץ JSON שיצרתם בשלב הקודם. -
BUCKET_NAMEהוא שם הקטגוריה הרלוונטית. לדוגמה,my-bucket.
-
API בפורמט XML
לא ניתן להשתמש ב-API בפורמט XML כדי לנהל מניעת גישה ציבורית. במקום זאת, אתם יכולים להשתמש באחד מהכלים האחרים של Cloud Storage, כמו מסוף Google Cloud .
צפייה בסטטוס של מניעת גישה ציבורית
כדי לצפות בסטטוס של מניעת גישה ציבורית בקטגוריה מסוימת:
המסוף
- במסוף Google Cloud , נכנסים לדף Buckets של Cloud Storage.
לוחצים על שם הקטגוריה שבסטטוס מניעת הגישה הציבורית שלה אתם רוצים לצפות.
לוחצים על הכרטיסייה Permissions.
בכרטיס Public access מוצג הסטטוס של הקטגוריה.
במאמר פתרון בעיות מוסבר איך מקבלים מידע מפורט על שגיאות בנושא פעולות ב-Cloud Storage שנכשלו במסוף Google Cloud .
שורת הפקודה
משתמשים בפקודה gcloud storage buckets describe עם הדגל --format:
gcloud storage buckets describe gs://BUCKET_NAME --format="default(public_access_prevention)"
כאשר BUCKET_NAME הוא השם של הקטגוריה שבסטטוס שלה אתם רוצים לצפות. לדוגמה, my-bucket.
אם הפעולה בוצעה ללא שגיאות, התשובה נראית דומה לדוגמה הבאה:
public_access_prevention:inherited
ספריות לקוח
C++
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage C++ API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
C#
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage C# API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
Go
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage Go API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
Java
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage Java API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
Node.js
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage Node.js API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
PHP
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage PHP API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
Python
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage Python API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
Ruby
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage Ruby API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
ממשקי API ל-REST
API ל-JSON
התקנה והפעלה של ה-CLI של gcloud, שמאפשרות ליצור אסימון גישה לכותרת
Authorization.משתמשים ב-
cURLכדי לשלוח קריאה ל-API בפורמט JSON באמצעות בקשה של קטגורייתGETשכוללת אתfieldsהרצוי:curl -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME?fields=iamConfiguration"
כאשר
BUCKET_NAMEהוא השם של הקטגוריה הרלוונטית. לדוגמה,my-bucket.התגובה אמורה להיות דומה לדוגמה הבאה:
{ "iamConfiguration": { ... "publicAccessPrevention": "FLAG" } }כאשר
FLAGהואinheritedאוenforced.
API בפורמט XML
לא ניתן להשתמש ב-API בפורמט XML כדי לנהל מניעת גישה ציבורית. במקום זאת, אתם יכולים להשתמש באחד מהכלים האחרים של Cloud Storage, כמו מסוף Google Cloud .
שימוש במדיניות הארגון
בקטע הזה מוסבר איך לאכוף את מדיניות הארגון למניעת גישה ציבורית, איך להסיר אותה ואיך לבדוק את הסטטוס של המדיניות.
הגדרה של מניעת גישה ציבורית
כדי להגדיר מניעת גישה ציבורית ברמת הפרויקט, התיקייה או הארגון:
המסוף
פועלים לפי ההוראות במאמר יצירה וניהול של מדיניות ארגון באמצעות האילוץ storage.publicAccessPrevention.
במאמר פתרון בעיות מוסבר איך מקבלים מידע מפורט על שגיאות בנושא פעולות ב-Cloud Storage שנכשלו במסוף Google Cloud .
שורת הפקודה
משתמשים בפקודה gcloud beta resource-manager org-policies:
gcloud beta resource-manager org-policies STATE \ constraints/storage.publicAccessPrevention \ --RESOURCE RESOURCE_ID
כאשר:
STATEיכול לקבל את הערכים הבאים:-
enable-enforce: אכיפה של מניעת גישה ציבורית למשאב. -
disable-enforce: השבתה של מניעת הגישה הציבורית למשאב. -
delete: הסרת האילוץ של מדיניות הארגון מהמשאב, כדי שהמשאב יירש את הערך של משאב ההורה שלו.
-
RESOURCEהוא המשאב שרוצים להגדיר לו מניעת גישה ציבורית. לדוגמה,organization,projectאוfolder.
RESOURCE_IDהוא המזהה של המשאב. לדוגמה,123456789012למזהה ארגון,245321למזהה תיקייה אוmy-pet-projectלמזהה פרויקט.
להוראות נוספות, ראו שימוש באילוצים.
הדוגמה הבאה היא של הפלט שמתקבל כשאתם משתמשים ב-disable-enforce:
etag: BwVJi0OOESU=
booleanPolicy: {}
constraint: constraints/storage.publicAccessPreventionצפייה בסטטוס של מניעת גישה ציבורית
כדי לצפות בסטטוס של מניעת הגישה הציבורית ברמת הפרויקט, התיקייה והארגון:
המסוף
פועלים לפי ההוראות במאמר יצירה וניהול של מדיניות ארגון באמצעות האילוץ storage.publicAccessPrevention.
במאמר פתרון בעיות מוסבר איך מקבלים מידע מפורט על שגיאות בנושא פעולות ב-Cloud Storage שנכשלו במסוף Google Cloud .
שורת הפקודה
משתמשים בפקודה describe --effective:
gcloud beta resource-manager org-policies describe \ constraints/storage.publicAccessPrevention --effective \ --RESOURCE RESOURCE_ID
כאשר:
RESOURCEהוא המשאב שבסטטוס מניעת הגישה הציבורית שלו אתם רוצים לצפות. לדוגמה,organization,projectאוfolder.
RESOURCE_IDהוא המזהה של המשאב. לדוגמה,123456789012למזהה ארגון,245321למזהה תיקייה ו-my-pet-projectלמזהה פרויקט.
להוראות נוספות, ראו שימוש באילוצים.