אתם יכולים להשתמש בהרשאות גישה מאוחדות ברמת הקטגוריה (UBLA) כדי לאחד את בקרת הגישה למשאבים של Cloud Storage במערכת הרשאות אחת. כשמפעילים בקטגוריה הרשאות גישה מאוחדות ברמת הקטגוריה, רק תפקידים של ניהול זהויות והרשאות גישה (IAM) ברמת הקטגוריה מעניקים גישה לקטגוריה ולאובייקטים שלה, ורשימות של בקרת גישה (ACL) לאובייקטים ספציפיים כבר לא חלות. הפעלת הרשאות גישה מאוחדות ברמת הקטגוריה (UBLA) עוזרת לפשט את הדרך שבה מעניקים גישה למשאבים של Cloud Storage, ונדרשת כדי להשתמש בתכונות מסוימות, כמו תיקיות מנוהלות.
בדף הזה מוסבר איך מפעילים ומשביתים בקטגוריה ב-Cloud Storage הרשאות גישה מאוחדות ברמת הקטגוריה (UBLA), ואיך בודקים את הסטטוס שלהן.
התפקידים הנדרשים
כדי לקבל את ההרשאות שדרושות להגדרה ולניהול של הרשאות גישה מאוחדות ברמת הקטגוריה, צריך לבקש מהאדמין להקצות לכם את התפקיד "אדמין של אחסון" (roles/storage.admin) בקטגוריה. התפקיד המוגדר מראש הזה מכיל את ההרשאות שנדרשות כדי להגדיר ולנהל את הרשאות הגישה המאוחדות ברמת הקטגוריה. כדי לראות את ההרשאות הנדרשות, מרחיבים את הקטע Required Permissions:
ההרשאות הנדרשות
storage.buckets.getstorage.buckets.list- ההרשאה הזו נדרשת רק אם אתם מתכננים להשתמש במסוףCloud de Confiance כדי לבצע את ההוראות שבדף הזה.
storage.buckets.update
יכול להיות שתוכלו לקבל את ההרשאות האלה גם באמצעות תפקידים בהתאמה אישית.
במאמר שימוש ב-IAM עם קטגוריות מוסבר איך מקצים תפקידים בקטגוריות.
בדיקת השימוש ברשימת ACL
לפני שמפעילים הרשאות גישה מאוחדות ברמת הקטגוריה, משתמשים ב-Cloud Monitoring כדי לוודא שהקטגוריה לא משתמשת ברשימות ACL לתהליכי עבודה. למידע נוסף ראו בדיקת השימוש של אובייקט ברשימת ACL.
להתקין ולהפעיל את ה-CLI של gcloud, שמאפשר ליצור אסימון גישה לכותרת
Authorization.כדי לשלוח קריאה ל-API בפורמט JSON של Monitoring, משתמשים ב-
cURL:curl \ 'https://monitoring.googleapis.com/v3/projects/PROJECT_ID/timeSeries?filter=metric.type%20%3D%20%22storage.googleapis.com%2Fauthz%2Facl_operations_count%22&interval.endTime=END_TIME&interval.startTime=START_TIME' \ --header 'Authorization: Bearer $(gcloud auth print-access-token)' \ --header 'Accept: application/json'
כאשר:
-
PROJECT_IDהוא מזהה או מספר הפרויקט שבשימוש שלו ב-ACL אתם רוצים לצפות. לדוגמה,my-project. -
END_TIMEהוא נקודת הסיום של טווח התאריכים שבו אתם רוצים לצפות בשימוש ב-ACL. לדוגמה,2019-11-02T15:01:23.045123456Z. -
START_TIMEהוא נקודת ההתחלה של טווח התאריכים שבו אתם רוצים לצפות בשימוש ב-ACL. לדוגמה,2016-10-02T15:01:23.045123456Z.
-
אם הבקשה מחזירה אובייקט ריק {}, לא היה שימוש בזמן האחרון ב-ACL בפרויקט שלכם.
הגדרת הרשאות גישה מאוחדות ברמת הקטגוריה (UBLA)
המסוף
- במסוף Cloud de Confiance , נכנסים לדף Buckets של Cloud Storage.
ברשימת הקטגוריות, לוחצים על שם הקטגוריה שבה רוצים להפעיל או להשבית את הרשאות הגישה המאוחדות ברמת הקטגוריה.
לוחצים על הכרטיסייה Permissions בחלק העליון של הדף.
בשדה בקרת גישה לוחצים על הקישור Switch to.
בתפריט שמופיע, בוחרים באפשרות Uniform או Fine-grained.
לוחצים על Save.
במאמר פתרון בעיות מוסבר איך מקבלים מידע מפורט על שגיאות בנושא פעולות ב-Cloud Storage שנכשלו במסוף Cloud de Confiance .
שורת הפקודה
משתמשים בפקודה gcloud storage buckets update:
gcloud storage buckets update gs://BUCKET_NAME --STATE
כאשר:
-
BUCKET_NAMEהוא שם הקטגוריה הרלוונטית. לדוגמה,my-bucket. -
STATEהואuniform-bucket-level-accessכדי להפעיל הרשאות גישה מאוחדות ברמת הקטגוריה, אוno-uniform-bucket-level-accessכדי להשבית אותן.
ספריות לקוח
C++
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage C++ API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
לפני שמריצים דוגמאות קוד, צריך להגדיר את משתנה הסביבה GOOGLE_CLOUD_UNIVERSE_DOMAIN לערך s3nsapis.fr.
הדוגמה הבאה מפעילה בקטגוריה הרשאות גישה מאוחדות ברמת הקטגוריה:
הדוגמה הבאה משביתה בקטגוריה הרשאות גישה אחידות ברמת הקטגוריה:
C#
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage C# API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
לפני שמריצים דוגמאות קוד, צריך להגדיר את משתנה הסביבה GOOGLE_CLOUD_UNIVERSE_DOMAIN לערך s3nsapis.fr.
הדוגמה הבאה מפעילה בקטגוריה הרשאות גישה מאוחדות ברמת הקטגוריה:
הדוגמה הבאה משביתה בקטגוריה הרשאות גישה אחידות ברמת הקטגוריה:
Go
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage Go API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
לפני שמריצים דוגמאות קוד, צריך להגדיר את משתנה הסביבה GOOGLE_CLOUD_UNIVERSE_DOMAIN לערך s3nsapis.fr.
הדוגמה הבאה מפעילה בקטגוריה הרשאות גישה מאוחדות ברמת הקטגוריה:
הדוגמה הבאה משביתה בקטגוריה הרשאות גישה אחידות ברמת הקטגוריה:
Java
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage Java API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
לפני שמריצים דוגמאות קוד, צריך להגדיר את משתנה הסביבה GOOGLE_CLOUD_UNIVERSE_DOMAIN לערך s3nsapis.fr.
הדוגמה הבאה מפעילה בקטגוריה הרשאות גישה מאוחדות ברמת הקטגוריה:
הדוגמה הבאה משביתה בקטגוריה הרשאות גישה אחידות ברמת הקטגוריה:
Node.js
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage Node.js API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
לפני שמריצים דוגמאות קוד, צריך להגדיר את משתנה הסביבה GOOGLE_CLOUD_UNIVERSE_DOMAIN לערך s3nsapis.fr.
הדוגמה הבאה מפעילה בקטגוריה הרשאות גישה מאוחדות ברמת הקטגוריה:
הדוגמה הבאה משביתה בקטגוריה הרשאות גישה אחידות ברמת הקטגוריה:
PHP
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage PHP API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
לפני שמריצים דוגמאות קוד, צריך להגדיר את משתנה הסביבה GOOGLE_CLOUD_UNIVERSE_DOMAIN לערך s3nsapis.fr.
הדוגמה הבאה מפעילה בקטגוריה הרשאות גישה מאוחדות ברמת הקטגוריה:
הדוגמה הבאה משביתה בקטגוריה הרשאות גישה אחידות ברמת הקטגוריה:
Python
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage Python API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
לפני שמריצים דוגמאות קוד, צריך להגדיר את משתנה הסביבה GOOGLE_CLOUD_UNIVERSE_DOMAIN לערך s3nsapis.fr.
הדוגמה הבאה מפעילה בקטגוריה הרשאות גישה מאוחדות ברמת הקטגוריה:
הדוגמה הבאה משביתה בקטגוריה הרשאות גישה אחידות ברמת הקטגוריה:
Ruby
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage Ruby API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
לפני שמריצים דוגמאות קוד, צריך להגדיר את משתנה הסביבה GOOGLE_CLOUD_UNIVERSE_DOMAIN לערך s3nsapis.fr.
הדוגמה הבאה מפעילה בקטגוריה הרשאות גישה מאוחדות ברמת הקטגוריה:
הדוגמה הבאה משביתה בקטגוריה הרשאות גישה אחידות ברמת הקטגוריה:
Rust
הדוגמה הבאה מפעילה בקטגוריה הרשאות גישה מאוחדות ברמת הקטגוריה:
הדוגמה הבאה משביתה בקטגוריה הרשאות גישה אחידות ברמת הקטגוריה:
ממשקי API בארכיטקטורת REST
API בפורמט JSON
להתקין ולהפעיל את ה-CLI של gcloud, שמאפשר ליצור אסימון גישה לכותרת
Authorization.יוצרים קובץ JSON שמכיל את הפרטים הבאים:
{ "iamConfiguration": { "uniformBucketLevelAccess": { "enabled": STATE } } }
כאשר STATE הוא
trueאוfalse.משתמשים ב-
cURLכדי לשלוח קריאה ל-API בפורמט JSON באמצעות בקשה של קטגורייתPATCH:curl -X PATCH --data-binary @JSON_FILE_NAME \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://storage.s3nsapis.fr/storage/v1/b/BUCKET_NAME?fields=iamConfiguration"
כאשר:
-
JSON_FILE_NAMEהוא הנתיב לקובץ שיצרתם בשלב 2. -
BUCKET_NAMEהוא שם הקטגוריה הרלוונטית. לדוגמה,my-bucket.
-
API בפורמט XML
אי אפשר להשתמש ב-API בפורמט XML כדי לעבוד עם הרשאות גישה מאוחדות ברמת הקטגוריה (UBLA). במקום זאת, צריך להשתמש באחד מהכלים האחרים של Cloud Storage, כמו ה-CLI של gcloud.
צפייה בסטטוס של הרשאות גישה מאוחדות ברמת הקטגוריה (UBLA)
המסוף
- במסוף Cloud de Confiance , נכנסים לדף Buckets של Cloud Storage.
לוחצים על שם הקטגוריה שרוצים לראות את הסטטוס שלה.
לוחצים על הכרטיסייה Configuration.
סטטוס הרשאות הגישה המאוחדות ברמת הקטגוריה (UBLA) של הקטגוריה מופיע בשדה בקרת גישה.
במאמר פתרון בעיות מוסבר איך מקבלים מידע מפורט על שגיאות בנושא פעולות ב-Cloud Storage שנכשלו במסוף Cloud de Confiance .
שורת הפקודה
משתמשים בפקודה gcloud storage buckets describe עם הדגל --format:
gcloud storage buckets describe gs://BUCKET_NAME --format="default(uniform_bucket_level_access)"
כאשר BUCKET_NAME הוא השם של הקטגוריה הרלוונטית. לדוגמה, my-bucket.
אם הפעולה בוצעה ללא שגיאות, התגובה נראית כך:
uniform_bucket_level_access: true
ספריות לקוח
C++
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage C++ API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
לפני שמריצים דוגמאות קוד, צריך להגדיר את משתנה הסביבה GOOGLE_CLOUD_UNIVERSE_DOMAIN לערך s3nsapis.fr.
C#
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage C# API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
לפני שמריצים דוגמאות קוד, צריך להגדיר את משתנה הסביבה GOOGLE_CLOUD_UNIVERSE_DOMAIN לערך s3nsapis.fr.
Go
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage Go API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
לפני שמריצים דוגמאות קוד, צריך להגדיר את משתנה הסביבה GOOGLE_CLOUD_UNIVERSE_DOMAIN לערך s3nsapis.fr.
Java
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage Java API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
לפני שמריצים דוגמאות קוד, צריך להגדיר את משתנה הסביבה GOOGLE_CLOUD_UNIVERSE_DOMAIN לערך s3nsapis.fr.
Node.js
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage Node.js API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
לפני שמריצים דוגמאות קוד, צריך להגדיר את משתנה הסביבה GOOGLE_CLOUD_UNIVERSE_DOMAIN לערך s3nsapis.fr.
PHP
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage PHP API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
לפני שמריצים דוגמאות קוד, צריך להגדיר את משתנה הסביבה GOOGLE_CLOUD_UNIVERSE_DOMAIN לערך s3nsapis.fr.
Python
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage Python API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
לפני שמריצים דוגמאות קוד, צריך להגדיר את משתנה הסביבה GOOGLE_CLOUD_UNIVERSE_DOMAIN לערך s3nsapis.fr.
Ruby
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage Ruby API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
לפני שמריצים דוגמאות קוד, צריך להגדיר את משתנה הסביבה GOOGLE_CLOUD_UNIVERSE_DOMAIN לערך s3nsapis.fr.
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.s3nsapis.fr/storage/v1/b/BUCKET_NAME?fields=iamConfiguration"
כאשר
BUCKET_NAMEהוא השם של הקטגוריה הרלוונטית. לדוגמה,my-bucket.אם בקטגוריה מופעלות הרשאות גישה אחידות ברמת הקטגוריה, התגובה נראית כך:
{ "iamConfiguration": { "uniformBucketLevelAccess": { "enabled": true, "lockedTime": "LOCK_DATE" } } }
API בפורמט XML
אי אפשר להשתמש ב-API בפורמט XML כדי לעבוד עם הרשאות גישה מאוחדות ברמת הקטגוריה (UBLA). במקום זאת, צריך להשתמש באחד מהכלים האחרים של Cloud Storage, כמו ה-CLI של gcloud.