בדף הזה נסביר איך משתמשים בהגדרה של הקטגוריה למניעת גישה ציבורית ובאילוץ של מדיניות הארגון למניעת גישה ציבורית. מניעת גישה ציבורית מאפשרת להגביל את הגישה הציבורית לקטגוריות ולאובייקטים שלכם.
לפני שמתחילים
לפני שמשתמשים במניעת גישה ציבורית ב-Cloud Storage, ודאו שיש לכם את תפקיד ה-IAM הנדרש וקראו את השיקולים לאכיפת מניעת גישה ציבורית.
קבלת התפקידים הנדרשים
כדי שתוכלו לנהל את מדיניות הארגון למניעת גישה ציבורית לנתונים ברמת הפרויקט, התיקייה או הארגון, בקשו מהאדמין להקצות לכם את התפקיד "אדמין של מדיניות הארגון" (roles/orgpolicy.policyAdmin) בארגון. התפקיד המוגדר מראש הזה מכיל את ההרשאות שנדרשות כדי לנהל את מניעת הגישה הציבורית ברמת הפרויקט, התיקייה או הארגון. למידע על ההרשאות שכלולות בתפקיד הזה, קראו את הפרטים על התפקיד "Organization Administrator".
כדי לנהל את ההגדרה של מניעת הגישה הציבורית לנתונים בקטגוריה מסוימת, צריך לבקש מהאדמין להקצות לכם את התפקיד "אדמין של אחסון" (roles/storage.admin) בקטגוריה. התפקיד הזה כולל את ההרשאות שנדרשות כדי לנהל את מניעת הגישה הציבורית לנתונים בקטגוריה. כדי לראות את ההרשאות הנדרשות, מרחיבים את הקטע Required Permissions:
ההרשאות הנדרשות
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 בקטגוריה מסוימת:
Rust
הדוגמה הבאה אוכפת את מניעת הגישה הציבורית בקטגוריה מסוימת:
הדוגמה הבאה מגדירה את מניעת הגישה הציבורית כ-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./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. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
Rust
ממשקי 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./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 org-policies:
gcloud 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 org-policies describe \ constraints/storage.publicAccessPrevention --effective \ --RESOURCE RESOURCE_ID
כאשר:
RESOURCEהוא המשאב שבסטטוס מניעת הגישה הציבורית שלו אתם רוצים לצפות. לדוגמה,organization,projectאוfolder.
RESOURCE_IDהוא המזהה של המשאב. לדוגמה,123456789012למזהה ארגון,245321למזהה תיקייה ו-my-pet-projectלמזהה פרויקט.
להוראות נוספות, ראו שימוש באילוצים.