בטבלה הבאה מפורטות ההרשאות של ניהול זהויות והרשאות גישה (IAM) שנדרשות כדי להריץ פקודות של gcloud storage. הרשאות ה-IAM מקובצות יחד כדי ליצור תפקידים. אתם מקצים תפקידים לחשבונות משתמשים.
בסעיפים שמתחת לטבלה אפשר למצוא הערות לגבי השימוש בתווים כלליים לחיפוש, הדגל --recursive והדגל --billing-project.
| פקודה | דגל | הרשאות IAM נדרשות |
|---|---|---|
batch-operations jobs create |
storagebatchoperations.jobs.create |
|
batch-operations jobs cancel |
storagebatchoperations.jobs.cancel |
|
batch-operations jobs delete |
storagebatchoperations.jobs.delete |
|
batch-operations jobs get |
storagebatchoperations.jobs.get |
|
batch-operations jobs list |
storagebatchoperations.jobs.list |
|
buckets add-iam-policy-binding |
storage.buckets.getstorage.buckets.getIamPolicystorage.buckets.setIamPolicystorage.buckets.update |
|
buckets anywhere-caches create |
storage.anywhereCaches.create |
|
buckets anywhere-caches describe |
storage.anywhereCaches.get |
|
buckets anywhere-caches list |
storage.anywhereCaches.list |
|
buckets anywhere-caches update |
storage.anywhereCaches.update |
|
buckets anywhere-caches pause |
storage.anywhereCaches.pause |
|
buckets anywhere-caches resume |
storage.anywhereCaches.resume |
|
buckets anywhere-caches disable |
storage.anywhereCaches.disable |
|
buckets create |
storage.buckets.create
storage.buckets.setIpFilter14 |
|
buckets delete |
storage.buckets.delete |
|
buckets describe |
storage.buckets.getstorage.buckets.getIamPolicy1storage.buckets.getIpFilter15 |
|
buckets get-iam-policy |
storage.buckets.getstorage.buckets.getIamPolicy |
|
buckets list |
storage.buckets.liststorage.buckets.getIamPolicy1 |
|
buckets notifications create |
storage.buckets.getstorage.buckets.updatepubsub.topics.get (לפרויקט שמכיל את נושא ה-Pub/Sub)pubsub.topics.create3 (לפרויקט שמכיל את נושא ה-Pub/Sub)pubsub.topics.getIamPolicy (לנושא ה-Pub/Sub שמקבל התראות)pubsub.topics.setIamPolicy3 (לנושא ה-Pub/Sub שמקבל התראות) |
|
buckets notifications create |
--skip-topic-setup |
storage.buckets.getstorage.buckets.update |
buckets notifications delete |
storage.buckets.getstorage.buckets.update |
|
buckets notifications describe |
storage.buckets.get |
|
buckets notifications list |
storage.buckets.get |
|
buckets relocate |
storage.buckets.relocate |
|
buckets remove-iam-policy-binding |
storage.buckets.getstorage.buckets.getIamPolicystorage.buckets.setIamPolicystorage.buckets.update |
|
buckets set-iam-policy |
storage.buckets.setIamPolicystorage.buckets.update |
|
buckets update |
storage.buckets.updatestorage.buckets.setIpFilter14 |
|
buckets update |
--no-requester-pays |
storage.buckets.updateresourcemanager.projects.createBillingAssignment2 |
buckets update |
--[no-]uniform-bucket-level-access |
storage.buckets.getstorage.buckets.update |
buckets update |
--clear-pap--clear-public-access-prevention--[no-]pap--[no-]public-access-prevention |
storage.buckets.getstorage.buckets.updatestorage.buckets.setIamPolicy |
cat |
storage.objects.get |
|
cp |
storage.objects.getstorage.objects.createstorage.objects.list4 (לקטגוריית היעד)
storage.objects.delete5storage.buckets.get12 |
|
du |
storage.objects.list |
|
feature-configs create |
storage.featureConfigs.create |
|
feature-configs delete |
storage.featureConfigs.delete |
|
feature-configs describe |
storage.featureConfigs.get |
|
feature-configs list |
storage.featureConfigs.list |
|
feature-configs update |
storage.featureConfigs.update |
|
folders create |
storage.folders.create |
|
folders delete |
storage.folders.delete |
|
folders describe |
storage.folders.get |
|
folders list |
storage.folders.list |
|
folders rename |
storage.folders.renamestorage.folders.create |
|
hash |
storage.objects.get |
|
hmac create |
storage.hmacKeys.create |
|
hmac delete |
storage.hmacKeys.delete |
|
hmac describe |
storage.hmacKeys.get |
|
hmac list |
storage.hmacKeys.list |
|
hmac update |
storage.hmacKeys.update |
|
intelligence-configs describe |
storage.intelligenceConfigs.get |
|
intelligence-configs disable |
storage.intelligenceConfigs.update |
|
intelligence-configs enable |
storage.intelligenceConfigs.update |
|
intelligence-configs update |
storage.intelligenceConfigs.update |
|
ls (לרשימת הקטגוריות) |
storage.buckets.liststorage.buckets.getIamPolicy6 |
|
ls (להצגת רשימת אובייקטים) |
storage.objects.get7storage.objects.liststorage.objects.getIamPolicy8 |
|
ls |
--buckets |
storage.buckets.getstorage.buckets.getIamPolicy6 |
mv |
storage.objects.getstorage.objects.deletestorage.objects.createstorage.objects.list4storage.objects.delete5storage.buckets.get12 |
|
objects compose |
storage.objects.getstorage.objects.createstorage.objects.delete9 |
|
objects describe |
storage.objects.getstorage.objects.getIamPolicy8 |
|
objects list |
storage.objects.liststorage.objects.getIamPolicy8 |
|
objects update |
storage.objects.getstorage.objects.liststorage.objects.update |
|
objects update |
--storage-class--encryption-key--clear-encryption-key |
storage.objects.getstorage.objects.liststorage.objects.createstorage.objects.delete |
objects update |
--retention-mode--retain-until--clear-retention |
storage.objects.getstorage.objects.liststorage.objects.updatestorage.objects.setRetentionstorage.objects.overrideUnlockedRetention11 |
operations cancel |
storage.bucketOperations.cancel |
|
operations describe |
storage.bucketOperations.get |
|
operations list |
storage.bucketOperations.list |
|
restore |
storage.objects.createstorage.objects.delete9storage.objects.restore |
|
restore |
--async |
storage.objects.createstorage.objects.delete13storage.objects.restorestorage.buckets.restore |
rm |
storage.buckets.deletestorage.objects.deletestorage.objects.list |
|
rsync |
storage.objects.liststorage.objects.getstorage.objects.liststorage.objects.getstorage.objects.createstorage.objects.delete10storage.buckets.get16 |
|
rsync |
--dry-run |
storage.objects.list (לקטגוריות המקור והיעד) |
service-agent |
resourceManager.projects.get |
|
sign-url |
אין; עם זאת, לחשבון השירות שהמפתח שלו משמש חלק מהפקודה הזו, חייבת להיות הרשאה לבצע את הבקשה המקודדת בכתובת URL החתומה. |
1ההרשאה הזו נדרשת רק אם רוצים שכללי המדיניות של IAM יהיו כלולים בפרטים.
2ההרשאה הזו נדרשת רק אם לא כוללים פרויקט חיוב בבקשה. למידע נוסף, ראו דרישות השימוש והגישה של 'מגיש הבקשה משלם'.
3ההרשאות האלה לא נדרשות אם הנושא כבר קיים ולחשבון השירות הרלוונטי יש גישה אליו.
4 ההרשאה הזו נדרשת רק כשהיעד בפקודה מכיל נתיב אובייקט.
5 ההרשאה הזו נדרשת רק אם משתמשים בהעלאות מורכבות במקביל, או אם לא משתמשים בדגל --no-clobber אבל מוסיפים אובייקט שיש לו שם זהה לאובייקט שכבר קיים בקטגוריה.
6ההרשאה הזו נדרשת רק אם רוצים שכללי המדיניות של IAM יהיו כלולים בפרטים.
7ההרשאה הזו נדרשת רק אם משתמשים בדגל --fetch-encrypted-object-hashes.
8ההרשאה הזו נדרשת רק אם רוצים שכללי המדיניות של IAM יהיו כלולים בפרטים, והיא לא חלה על קטגוריות שמופעלת בהן גישה אחידה ברמת הקטגוריה.
9ההרשאה הזו נדרשת רק אם הפעולה יוצרת אובייקט עם שם זהה לאובייקט שכבר קיים בקטגוריה.
10ההרשאה הזו נדרשת רק אם משתמשים בדגל --delete-unmatched-destination-objects, או אם מוסיפים אובייקט שיש לו שם זהה לזה, אבל נתונים שונים מאלו של אובייקט שכבר קיים בקטגוריה.
11 ההרשאה הזו נדרשת רק אם הבקשה מחייבת גם להשתמש בדגל --override-unlocked-retention.
12 ההרשאה הזו נדרשת כדי לבצע העלאות מורכבות מקבילות אם המאפיין storage/parallel_composite_upload_compatibility_check של ה-CLI של gcloud מוגדר ל-True. כשהמאפיין הזה מוגדר לערך True, ה-CLI של gcloud מבצע בדיקת תאימות ברמת הקטגוריה לפני שהוא מבצע את ההעלאה המורכבת המקבילה. אם המאפיין storage/parallel_composite_upload_compatibility_check או storage/parallel_composite_upload_enabled מוגדר לערך False, המערכת מדלגת על בדיקת התאימות וההרשאה הזו לא נדרשת, למעט במקרים מסוימים.
13 ההרשאה הזו נדרשת רק אם הבקשה כוללת את הדגל --allow-overwrite והפעולה יוצרת אובייקט עם שם זהה לאובייקט שכבר קיים בקטגוריה.
16 ההרשאה הזו נדרשת כשהיעד הוא שורש של קטגוריה, כמו gs://BUCKET, בלי קשר להגדרות של העלאות מורכבות במקביל. כשהיעד כולל קידומת, כמו gs://BUCKET/PREFIX, כדי להריץ את rsync צריך את ההרשאה storage.objects.list. למידע נוסף, קראו את המאמר פתרון בעיות שקשורות לשגיאה 403.
הדגל --billing-project ברמה העליונה
אם משתמשים בדגל הגלובלי --billing-project כדי לציין פרויקט שצריך לחייב בגין הבקשה, יש צורך בהרשאה serviceusage.services.use בפרויקט שצוין. לדוגמה, אפשר להשתמש בדגל --billing-project כשניגשים לקטגוריה שמופעלת בה האפשרות "מגיש הבקשה משלם".
תווים כלליים לחיפוש, ביטויים רגולריים ודגלים רקורסיביים
אם משתמשים בתווים כלליים לחיפוש של URI או בביטויים רגולריים כדי לבחור כמה אובייקטים בפקודה, אתם צריכים הרשאה storage.objects.list בקטגוריה שמכילה את האובייקטים. באופן דומה, אם משתמשים בתווים כלליים לחיפוש של URI או בביטויים רגולריים כדי לבחור מספר קטגוריות בפקודה, אתם צריכים הרשאה storage.buckets.list בפרויקטים שמכילים את הקטגוריות.
אם משתמשים בדגל --recursive, אתם צריכים הרשאה storage.objects.list בקטגוריה הרלוונטית, בנוסף להרשאות הנדרשות בשביל הפקודה הספציפית שבה משתמשים.
המאמרים הבאים
- הענקת תפקידי IAM ברמת הפרויקט וברמת הקטגוריה.
- מידע על תפקידי IAM שכוללים הרשאות ל-Cloud Storage.